如何使用ffmpeg在"实时"中将RTV文件发布到RTMP服务器?

Akr*_*awy 7 ffmpeg red5 rtmp

我想要做的是将一个.flv媒体文件发布到RTMP服务器,让订阅者观看它.我正在测试以查看几个订阅者(和oflaDemo)中的流ffplay.

问题是ffmpeg在近20秒内将5分钟的.flv文件发布到服务器,在这20秒内,流出现在订阅上,但之后它会切断.我使用的命令是:

ffmpeg -i file.flv -re -acodec copy -vcodec copy -f flv "rtmp://localhost/oflaDemo/aaa live=1"
Run Code Online (Sandbox Code Playgroud)

我如何强制ffmpeg在5分钟内传输5分钟文件,或任何其他解决方案.

谢谢.

Akr*_*awy 13

解决

-re应的第一个参数:

ffmpeg -re -i file.flv -acodec copy -vcodec copy -f flv rtmp://localhost/oflaDemo/a3
Run Code Online (Sandbox Code Playgroud)

来自ffmpeg官方文档

通用语法是:

ffmpeg [global options] [[infile options][‘-i’ infile]]... {[outfile options] outfile}...
Run Code Online (Sandbox Code Playgroud)

-re (输入)

以本机帧速率读取输入.主要用于模拟抓取装置.默认情况下,ffmpeg尝试尽可能快地读取输入.此选项将减慢输入读取到输入的本机帧速率.....

文档说-re选项是输入标志,这意味着它应该infile options直接在-i标志之前