ffmpeg主备推流

390阅读 0评论2023-03-01 jiuniu110
分类:服务器与存储

我有一个ffmpeg进程正在运行:

ffmpeg -i rtmp://127.0.0.1/main/stream1 -c copy rtmp://127.0.0.1/distribute/stream1

如果此过程由于输入关闭而中断,我将运行类似的命令以从备份中提取输入:

ffmpeg -i rtmp://127.0.0.1/backup/stream1 -c copy rtmp://127.0.0.1/distribute/stream1

从分发应用程序中,我流式传输到外部输出。

这里唯一的问题是,在切换后我得到了非单调的DTS错误,因此在从分发流到我的输出时,我不得不添加一些标志。命令为:

ffmpeg -fflags +genpts+igndts+ignidx -avoid_negative_ts make_zero -use_wallclock_as_timestamps 1 -i rtmp://127.0.0.1/distribute/stream1 -c:v libx264 -preset veryfast -r 25 -g 50 -c:a aac -b:a 128k -f flv $RTMP_ENDPOINT

我注意到在切换时在ffmpeg进程中会收到一些警告,如果主流和备用流使用不同的x264配置文件进入,则假设其中一个处于"高"状态,另一个处于"基准"或"主"状态。

来源:

上一篇:docker中网段与内外冲突解决办法
下一篇:etcdserver: mvcc: database space exceeded 解决办法