连接失败时强制ffmpeg忽略错误

时间:2015-04-01 07:05:52

标签: nginx ffmpeg rtmp live-streaming

我尝试使用nginx和nginx-rtmp-module部署实时流传输系统。

对于我系统中的每个节点,我希望它能够“转发”#39;接收到下游节点的直播流。我尝试通过在我的nginx.conf中配置来实现它:

exec_push ffmpeg -i rtmp://localhost/src/test -vcodec copy -strict -2 -ar 44100 -ac 1 -f flv rtmp://<downstreaming A>/src/test -f flv rtmp://<downstreaming B>/src/test

当一切运行良好时它会工作,但如果下游节点关闭,此命令将退出,并且所有下游节点都不能接收实时流。

我如何强制ffmpeg忽略connetion refused,还是有更好的替代方案来执行?

1 个答案:

答案 0 :(得分:0)

您不能忽略connection refused,因为RTMP使用需要连接的TCP。

如果我理解正确,您正在尝试对RTMP源进行转码并将其发送到多个服务器。

  1. 您可以复制命令以发送到每个下游节点 但是你会两次进行转码。
  2. 另一种方法是使用转码和转发代码转换流 ffserver在同一台机器上,然后推送/拉动每个下游服务器