使用 crtmpserver 和 ffmpeg 进行流式传输

使用 crtmpserver 和 ffmpeg 进行流式传输

我正在尝试使用 crtmpserver 和 ffmpeg(来自 mc3man ppa,我在 ubuntu 14.04 上)进行流式传输,目前仅在我的本地机器上进行(以使一切正常运行)。

我有默认的 crtmpserver 设置,并且它正在运行。

现在,我尝试使用以下方式传输 flv 文件:

ffmpeg -re -i SampleVideo_1280x720_20mb.flv  -f flv -c copy -metadata streamName="aaa" "tcp://localhost:6666"

然后,在播放过程中,使用 ffplay 观看结果

ffplay "rtmp://localhost/flvplayback/aaa"

但是,最后这条命令会导致以下错误:

[rtmp @ 0x7f7800005760] Server error: call to function _checkbw failed
rtmp://localhost/flvplayback/aaa: Unknown error occurred

我不确定我做错了什么,是否有任何对此有更多经验的人知道我可以尝试修复它吗?

答案1

我已经彻底使用了 crtmpserver,我知道 _checkbw 错误。虽然我还不知道如何修复它,但您也可以使用以下 ffmpeg 命令 st stream 到 rtsp 上的 crtmpserver 并从任何媒体播放器(包括 VLC 和 android 原生媒体播放器)播放它。

ffmpeg -re -f video4linux2 -s 640x480 -i /dev/video0 -pix_fmt yuv420p -r 20 -c:v libx264 -q 1 -f rtsp -metadata title="aaa" "tcp://<server ip here>:5554"

您也可以通过以下方式播放

vlc rtsp://<server ip here>:5554/flvplayback/aaa

PS:请确保允许服务器上这些端口的流量。

相关内容