我需要备份发送到服务器的 RTMP 流(带有 nginx-rtmp-module 的 nginx):万一其中一个失败,当我从服务器获取它时,我需要自动替换另一个。
可以吗?
rtmp://ip/app/stream1
rtmp://ip/app/stream2
rtmp://ip/app/production
while TRUE; do
ffmpeg -re -i rtmp://ip/app/stream1 -c copy -f flv rtmp://ip/app/production;
ffmpeg -re -i rtmp://ip/app/stream2 -c copy -f flv rtmp://ip/app/production;
sleep 0.5;
done
该解决方案具有高度可扩展性,例如:
srt://ip?streamid=#!::r=app/stream1,m=publish
srt://ip?streamid=#!::r=app/stream2,m=publish
srt://ip?streamid=#!::r=app/production,m=publish
SRS:SRT。
注意:如果您的设备不支持 SRT,您可以考虑使用 WebRTC (WHIP),将地址替换为 WHIP。请参阅该解决方案不限于 Nginx,可以与任何支持这些协议的流媒体服务器一起使用,因为核心功能依赖于 FFmpeg。SRS:鞭打。