GOP 大小与实际延迟无关

GOP size does not correlate with actual latency

据我所知,GOP 大小应该与可观察到的视频延迟(延迟)相关。例如,如果 GOP 大小为 2,则视频延迟应接近两秒,依此类推,至少对于 CBR。但是,当我将 GOP 大小设置为 2、将流发布到摄取服务器、使用该流并测量延迟时,它在 0.8-1.2 秒之间,而不是例外的 2+ 秒。增加 GOP 大小会导致相同的结果:GOP 4 延迟接近 2.5 秒,而不是 4 秒。

我如何测量这种延迟:使用 OBS 从网络摄像头流式传输工作秒表到摄取服务器,并计算秒表值与摄取消耗的流中显示的值之间的差异。为了获得更高的测量精度,我用秒表和在一个视野中摄取的实际图像合影。

我的 OBS 设置是 here:

您能否建议,为什么我会得到这样的结果,以及我关于 GOP 大小和视频延迟之间相关性的陈述有多相关?也许,像 "zerolatency" 这样的 H264 设置会产生一些魔力?

谢谢。

对于流式传输,每组图片由 IPPPPPP 组成——一个关键帧,后跟一些秒数的 P 帧。原则上,编码器不需要产生任何给定长度的延迟。当您发送恒定比特率流时,会发生延迟,因为编码器有时必须以较低或较高的比特率重新编码某些帧。