我正在尝试使用 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:请确保允许服务器上这些端口的流量。