gpt4 book ai didi

ffmpeg - 随着时间的推移,堆叠的输入变得异步

转载 作者:行者123 更新时间:2023-12-04 23:18:45 24 4
gpt4 key购买 nike

我有两个流进入同一个远程服务器,我从中提取它们并堆叠它们以及同步它们。然而,大约半分钟后,它们明显是异步的。
到目前为止,我一直在使用这个命令来实现它:

ffmpeg -i "rtmp://pulverschuppen.de:1935/leon/gopro" \
-i "rtmp://pulverschuppen.de:1935/jake/gopro" \
-filter_complex "[0:v]setpts='(RTCTIME - RTCSTART) / (TB * 1000000)'[v1sync]; [1:v]setpts='(RTCTIME - RTCSTART) / (TB * 1000000)'[v2sync]; [v1sync]crop=iw/2:ih:0:0[v1]; [v2sync]crop=iw/2:ih:0:0[v2]; [v1][v2]hstack=inputs=2[stacked]" \
-map "[stacked]" -c:v libx264 -preset ultrafast -b:v 500k \
-f flv rtmp://localhost:1935/combined
有什么办法让它们保持同步?它说一些丢帧和一些编码问题,这是什么原因造成的?

最佳答案

当然,随着时间的推移总是异步的,因为 RTMP 是 TCP 流,所以网络抖动导致流被缓冲,而且 1~3s 的大缓冲区也使得很难同步。
如果您想同步来自服务器的两个流,您可以尝试一些基于 UDP 的协议(protocol),它们具有低延迟并且实际上是同步的。
例如,您可以通过 SRT 向 SRS 发布和播放两个流。或 WebRTC ,它们最终同步。请为 WebRTC 使用 Chrome,为 SRT 使用 FFmpeg/ffplay。

关于ffmpeg - 随着时间的推移,堆叠的输入变得异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71224974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com