由于-vf tpad = start_duration并未真正延迟网络流输出,因此如何使用ffmpeg在摄像机和实时流之间增加延迟?

问题描述

在尝试将多个摄像机和正在馈入OBS的实时流之间增加10秒的延迟时,我希望能够在某些事件发生之前切换流,而10秒的延迟将允许这样做。

我发现使用以下形式的命令:

ffmpeg -i input -vf tpad=start_duration=10 -af adelay=10000|10000 stream-out

将在视频流的开头插入10秒钟的空白内容,但是它将在前几秒钟内流式传输所有空白内容,以便输出的实时流有效地被传入的摄像机流所赶上。

看看传出的网络流量,当流开始发送前10秒的数据,然后网络流量稳定到视频流的通常恒定流量水平时,我会看到一阵高网络流量。

如果我从一开始就开始观看传出的视频流,则直播流中会有10秒的延迟,直到我观看为止。如果我已经丢失了流并在流已经运行后重新连接或开始观看流,那么10秒钟的延迟就不再存在了。

我实际上是在尝试使ffmpeg延迟时间发送输出流,以便它始终缓冲10秒的数据,并且-vf tpad = start_duration = 10 -af adelay = 10000 | 10000命令可以不这样做。

是否还有另一个ffmpeg命令会强制ffmpeg的实际输出流量保持延迟?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...