Firefly开源社区

标题: 使用ffmedia里的demo.py无法读取rtmp视频流 [打印本页]

作者: chenwusong    时间: 2024-8-6 14:52
标题: 使用ffmedia里的demo.py无法读取rtmp视频流

     我在本机的1935部署了rtmp视频流,使用 ffmpeg的话,是可以正常读取到视频流里的画面的,然后使用最新版的ffmedia里的demo.py读取视频流,使用“python ./demo.py -i rtmp://127.0.0.1:1935/live/stream_key -o 1360x768 -x 1 -r 2”命令执行程序,提示:
"
Firefly FFMedia: v2.3.1
input source is a rtmp url
INFO: ff_media: connectToServer: connected to server 127.0.0.1:1935
ERROR: 10rtmpClient: postRecvBuf: wait for client to post recv buffer time out
ERROR: 10rtmpClient: postRecvBuf: wait for client to post recv buffer time out
ERROR: 10rtmpClient: postRecvBuf: wait for client to post recv buffer time out
ERROR: 10rtmpClient: postRecvBuf: wait for client to post recv buffer time out
ERROR: 10rtmpClient: postRecvBuf: wait for client to post recv buffer time out
input_source init failed

"
后,直接停止了,无法读取到视频流



    搭建的rtmp应该是正常的,我使用ffmpeg命令:ffmpeg -i rtmp://127.0.0.1:1935/live/stream_key -c copy r1.mp4,进行测试,则可以顺利将读取到的画面写到文件里。
   麻烦社区大佬,可以帮忙看看,为什么没有读取成功吗?

image.jpg (113.1 KB, 下载次数: 4)

image.jpg

作者: dengkx    时间: 2024-8-9 15:53
你的rtmp传输的视频流是h264吗?还是其他格式的?

作者: chenwusong    时间: 2024-8-12 10:02
dengkx 发表于 2024-8-9 15:53
你的rtmp传输的视频流是h264吗?还是其他格式的?

我使用了 :
ffmpeg -re -i 第三届全国旅游公益广告-广西.mp4 -c copy -f h264 rtmp://127.0.0.1:1935/live/stream_key
命令来发送视频流到rtmp服务,然后再使用:
python ./demo.py -i rtmp://127.0.0.1:1935/live/stream_key -o 1360x768 -x 1 -r 2
来读取视频流,然后读数视频,不过读取不了。
请问一下,这个rtmp视频流构建有问题吗?或者怎么搭建一个h264的rtmp视频流,可以给个示例吗?
作者: dengkx    时间: 2024-8-12 11:08
chenwusong 发表于 2024-8-12 10:02
我使用了 :
ffmpeg -re -i 第三届全国旅游公益广告-广西.mp4 -c copy -f h264 rtmp://127.0.0.1:1935/l ...

ffmpeg那里把-f h264 更改成 -f flv试试?
作者: chenwusong    时间: 2024-8-12 13:20
dengkx 发表于 2024-8-12 11:08
ffmpeg那里把-f h264 更改成 -f flv试试?

额,巧了,我一开始就是用的
ffmpeg -re -i 第三届全国旅游公益广告-广西.mp4 -c copy -f flv rtmp://127.0.0.1:1935/live/stream_key
这个命令在发送视频流的,然后读取不到。看了帖子回复,说需要h264,才使用 -f h264测试的,不过都读取不到,哎,您那边怎么发送rtmp视频流的?我能按你们的方法试试么?
作者: dengkx    时间: 2024-8-12 15:22
使用cpp demo测试:
做rtmp服务器: ./demo /usr/local/test.mp4 -s -l -e h264 -p 1935 -push_type rtmp
可使用vlc、ffplay、demo或demo.py拉取 rtmp://机器id:1935/live/0

推流到rtmp服务器: ./demo /usr/local/test.mp4 -s -l -e h264 --rtmp_url rtmp://127.0.0.1:1935/live/stream_key
可使用vlc、ffplay、demo或demo.py拉取你的rtmp服务器推出的流




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1