我正在努力进行 Ffmpeg 直播,其中我的输入来自许多实时 RTMP 流,我的输出是多轨实时 mpegts 流,我的想法是,我从多个实时 RTMP 流获取输入并将其输出到单个多轨 mpegts 流,然后我使用 HLS.js 在浏览器中播放,对于拉取和推送,我使用 Flussonic 媒体服务器。
现在的问题是,输入流中的一点中断会破坏 Ffmpeg 进程,有时它会从输出中删除一条轨道!某些输入中的中断有时是可以预料到的,因为它来自不同的服务。
我的问题是:
- Ffmpeg 是完成此类任务的合适工具吗?如果不是,我还应该尝试什么?
- 我们可以在 Ffmpeg 中设置超时,以便它添加空白帧/回退,直到源再次稳定吗?
- 在流式传输时输入音频编解码器也可能会发生变化,但如果我们对输出进行转码,那么这应该不是问题,对吗?
这是我的 Ffmpeg 命令:
ffmpeg -re -i rtmp://myDomain.com:1935/app/stream1/key -i rtmp://myDomain.com:1935/app/stream2/key -preset ultrafast -bufsize 1000k -map 0:a -metadata:s:a:0 title=en-US -metadata:s:a:0 language=eng -map 1:a -metadata:s:a:1 title=es-ES -metadata:s:a:1 language=spa -map 0:v -c:a aac -c:v libx264 -g 25 -pix_fmt yuv420p -f mpegts https://myDomain:443/multitrack/streamName/mpegts
谢谢