Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

[Linux] ffmedia rtsp推流,vlc无法拉流解码

74

积分

0

威望

0

贡献

技术小白

积分
74

ffmedia rtsp推流,vlc无法拉流解码

发表于 2023-8-30 16:16:28      浏览:1521 | 回复:13        打印      只看该作者   [复制链接] 楼主












  1. ./demo rtsp://admin:Admin12345@192.168.1.100 -o 1280x720 -d 0 -r 90
复制代码
可以直接读取rtsp输入,解码,drm输出到屏幕。
  1. ./demo rtsp://admin:Admin12345@192.168.1.100 -e H264  -p 554
复制代码
./demo 可以读取rtsp输入,解码,h264编码后,rtsp推流后,vlc拉流不报错无法解码播放 (-m out.mp4 无法保存数据)


回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2024-3-21 09:35:02        只看该作者  来自 12#
无法推流2.2.4解决方法:
简单的处理就是把编码模块默认gop参数更改为其他就可以了。
--- a/demo/demo.cpp
+++ b/demo/demo.cpp
@@ -545,7 +545,7 @@ SOURCE_CREATED:
#endif

     if (inst_conf->enc_enabled) {
-        shared_ptr<ModuleMppEnc> enc = make_shared<ModuleMppEnc>(inst_conf->encode_type);
+        shared_ptr<ModuleMppEnc> enc = make_shared<ModuleMppEnc>(inst_conf->encode_type, 30, 30);
         enc->setProductor(inst->last_module);
         enc->setBufferCount(8);
         enc->setDuration(0);  // Use the input source timestamp
回复

使用道具 举报

812

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
812
发表于 2023-8-30 16:34:34        只看该作者  沙发
换一个端口号推流, 比如 -p 1554
回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2023-8-31 09:22:13        只看该作者  板凳
本帖最后由 wx__AxJ5zO 于 2024-3-21 09:59 编辑
dengkx 发表于 2023-8-30 16:34
换一个端口号推流, 比如 -p 1554


1693444770273.png (72.76 KB, 下载次数: 72)

1693444770273.png
回复

使用道具 举报

812

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
812
发表于 2023-8-31 10:20:40        只看该作者  地板
不会啊,你第一个如果可以的话,后面那个几个应该也可以才对,因为demo也是将h264解码成nv12再编码成h264去推流的。
我这边用vlc拉没出现你说的那个问题,试试ffplay看看?


图片.jpg (101.36 KB, 下载次数: 77)

图片.jpg
回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2023-8-31 15:52:41        只看该作者  5#
dengkx 发表于 2023-8-31 10:20
不会啊,你第一个如果可以的话,后面那个几个应该也可以才对,因为demo也是将h264解码成nv12再编码成h264去 ...

ffplay 拉取不到数据。
又尝试了输入rtsp数据,解码后,编码,再解码,可以drm显示。
有没有可能是推流时编码器需要配置参数。

解码输入码流的方式:分帧与不分帧。裸码流输入有两种,一种是按帧分段的数据,每一个输入给decode_put_packet函数的数据包都包含完整的一帧,不多也不少。在这种情况下,MPP可以直接按包处理码流。另一种是按长度读取数据,无法判断一个包的数据是否为完整的一帧,需要MPP内部进行分帧处理。
回复

使用道具 举报

812

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
812
发表于 2023-8-31 17:16:57        只看该作者  6#
本帖最后由 dengkx 于 2023-8-31 17:19 编辑
wx__AxJ5zO 发表于 2023-8-31 15:52
ffplay 拉取不到数据。
又尝试了输入rtsp数据,解码后,编码,再解码,可以drm显示。
有没有可能是推流 ...

和那个没关系,你试一下  ./demo rtsp://xxx -e h264 -m out.mp4

然后再用demo 播放看看可不可以:./demo  out.mp4 -x -s
或者推流不行时等十秒然后按q键退出,然后发下退出的log看看。

回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2023-9-1 09:21:21        只看该作者  7#
本帖最后由 wx__AxJ5zO 于 2023-9-1 15:31 编辑
dengkx 发表于 2023-8-31 17:16
和那个没关系,你试一下  ./demo rtsp://xxx -e h264 -m out.mp4

然后再用demo 播放看看可不可以:./d ...

./demo rtsp://xxx -e h264 -m out.mp4
可以保存MP4视频

(保存mp4时会出现创建了mp4文件,但是在程序运行时刷新文件大小不会变,
按q键退出后刷新mp4文件立马有数据,而且非正常退出mp4不会有数据)
./demo out.mp4 -x -s
运行-x -s不能显示,-d 0可以正常显示

q退出,就这些信息.
mpp[135669]: mpp_rt: NOT found ion allocator
mpp[135669]: mpp_rt: found drm allocator
mpp[135669]: mpp_info: mpp version: 49f29006 author: Jeffy Chen    2021-08-04 [drm]: Add mmap flag detection
mpp[135669]: mpp_info: mpp version: 49f29006 author: Jeffy Chen    2021-08-04 [drm]: Add mmap flag detection
mpp[135669]: mpp_enc: MPP_ENC_SET_RC_CFG bps 2048000 [1920000 : 2176000] fps [30:30] gop 60
mpp[135669]: h264e_api_v2: MPP_ENC_SET_PREP_CFG w:h [1920:1080] stride [1920:1088]
mpp[135669]: mpp_enc: send header for set cfg change input/format
mpp[135669]: mpp_enc: mode cbr bps [1920000:2048000:2176000] fps fix [30/1] -> fix [30/1] gop i [60] v [0]
mpp[135669]: mpp_buffer: ~MppBufferService cleaning misc group







回复

使用道具 举报

812

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
812
发表于 2023-9-2 10:57:54        只看该作者  8#
本帖最后由 dengkx 于 2023-9-2 11:09 编辑
wx__AxJ5zO 发表于 2023-9-1 09:21
./demo rtsp://xxx -e h264 -m out.mp4
可以保存MP4视频

rtsp正常拉流,mp4文件可以正常保存,-x不能播放原因是-x是基于x11窗口显示的先执行: export DISPLAY=:0
直接杀掉程序也是能正常保存mp4文件的,这个是同步写入文件的,不可能杀掉没数据,运行时通过ssh登录板子ls -l 刷新查看文件大小,不要用win的工具查看
rtsp服务创建正常,编码数据正常,已和客户端创建连接。检查是否有防火墙设置或直接在板子拉流看看行不行?
回复

使用道具 举报

6

积分

0

威望

0

贡献

吃瓜的群众

积分
6
发表于 2024-2-23 20:06:08        只看该作者  9#
问题解决了吗?我也有同样的问题,编码后推流不行
回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2024-3-5 14:35:38        只看该作者  10#
本帖最后由 wx__AxJ5zO 于 2024-3-5 15:02 编辑
dengkx 发表于 2023-9-2 10:57
rtsp正常拉流,mp4文件可以正常保存,-x不能播放原因是-x是基于x11窗口显示的先执行: export DISPLAY=:0 ...


python3  ./demo.py -i ./1.h264 -o 1280x720 -e 0 -p 1935
尝试使用了h264文件直接推流,vlc拉流是黑屏,可能是推流模块有问题。
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表