实时视频流的 GOP 大小

GOP size for realtime video stream

本文关键字:大小 GOP 实时视频      更新时间:2023-10-16

我正在研究一种丰富的远程桌面系统,使用avcodec/x264编码桌面的视频流。我必须手动设置流的 GOP 大小,到目前为止,我使用的是 fps/2 的大小。但我刚刚在维基百科上阅读了以下内容:

这种结构[Picture@组]表明存在问题,因为需要第四帧(P帧)来预测第二帧和第三帧(B帧)。所以我们需要在 B 帧之前传输 P 帧,它会延迟传输(有必要保留 P 帧)。

这意味着我正在创建很多延迟,因为客户端需要接收至少一半的 GOP 才能输出 I 帧之后的第一帧。如果我想要尽可能小的延迟,GOP 大小的最佳策略是什么?一张 1 张图片的 gop ?

如果你想用 h264 最小化延迟,你通常应该避免使用 b 帧。这样,解码器至少有机会提前发出解码的帧。这可以防止解码器引起的延迟。

您可能还希望通过减少/禁用前瞻来调整编码器的延迟。 x264 具有"零延迟"设置,这应该是找到最佳设置的良好起点。

"GOP"大小(afaik 并没有真正为 h264 定义;我只是假设你的意思是 I(DR) 帧间隔)不一定会影响延迟。此参数仅影响客户端在流上"同步"之前必须等待的时间(到第一张照片的时间)。