如何解决由于-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 举报,一经查实,本站将立刻删除。