【问题标题】:how to publish flv file using ffmpeg to RTMP server in `real time`?如何使用 ffmpeg 将 flv 文件实时发布到 RTMP 服务器?
【发布时间】:2012-10-11 00:09:43
【问题描述】:

我想要做的是将.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"

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

谢谢。

【问题讨论】:

  • 我认为 -re 应该用作输入选项,但我可能错了。

标签: ffmpeg red5 rtmp


【解决方案1】:

解决了

-re 应该是第一个参数:

ffmpeg -re -i file.flv -acodec copy -vcodec copy -f flv rtmp://localhost/oflaDemo/a3

来自ffmpeg official documentation

通用语法是:

ffmpeg [global options] [[infile options][‘-i’ infile]]... {[outfile options] outfile}...

-re (输入)

以原生帧速率读取输入。主要用于模拟抓取 设备。默认情况下,ffmpeg 尝试以尽可能快的速度读取输入 可能的。此选项将减慢输入的读取速度 输入的本机帧速率.....

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

【讨论】:

  • 我正在尝试同样的事情:Red5 作为服务器,ffmpeg 提供流,并使用 ffplay 或 VLC 来查看流。现在看不到直播了!你是怎样做的?谢谢!
猜你喜欢
  • 2013-02-15
  • 2016-06-23
  • 2018-12-08
  • 1970-01-01
  • 2014-07-14
  • 2013-12-11
  • 2018-07-12
  • 2021-05-25
  • 1970-01-01
相关资源
最近更新 更多