我正在尝试使用 nginx 和 nginx-rtmp-module 部署实时流传输系统。
对于我系统中的每个节点,我希望它可以将接收到的实时流“转发”到下游节点。我尝试通过在我的 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
,或者我的实现有更好的选择吗?
最佳答案
你不能忽视 connection refused
因为 RTMP 使用需要连接的 TCP。
如果我理解正确,您正在尝试对 RTMP 源进行转码并将其发送到多个服务器。
单独,但您将进行两次转码。
ffserver
在同一台机器上,然后在每个下游服务器上推送/拉取 关于nginx - 连接失败时强制ffmpeg忽略错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29384815/