使用RTMP进行FFMPEG流式传输

时间:2013-07-30 00:31:58

标签: ffmpeg video-streaming red5 rtmp

我正在尝试使用ffmpeg创建一个流来将视频发送到Red5服务器。我已经设法使用此命令执行此操作:

ffmpeg -re -y -i "Videos\Video1.mp4" -c:v libx264 -b:v 600k -r 25 -s 640x360 -t 40 -vf yadif -b:a 64k -ac 1 -ar 44100 -f flv "rtmp://192.168.0.12/live/videostream"

我的问题是,当ffmpeg完成对视频的编码时,它会停止播放流,从而将视频缩短5-10秒(对于短视频),但在较大的视频中会变得更糟。

有没有办法阻止这种行为? 我试图在原始视频之前和之后添加一个空白的10秒视频,但由于一些编码选项,我总是最终失去音频。这只适用于短视频,但对于较长的视频,问题仍然存在。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

我不相信可以告诉FFMpeg在读取源文件的末尾后保持连接打开。你很可能不得不使用Xuggler或FFMpeg的一些自定义修改来完成这样的事情。

答案 1 :(得分:0)

这可能是由您的文件或文件长度引起的。

文件结束后,ffmpeg将显示如下信息:

enter image description here

当我推送11秒的mp4视频时,我遇到了这个问题,当我将其转换为10分钟以上的长mp4文件时,效果很好。

因此您可以使用其他长度合适的mp4文件。