错误地设置OpenGOP与ClosedGOP,将导致某些Android手机上的解码错误
作为GOP的两种结构,ClosedGOP是指帧间的预测都是在GOP中进行的,而对于OpenGOP来说,一个GOP里面的某一帧在解码时要依赖于相邻GOP中的某一些帧。
下图展示的就是一个OpenGOP的例子,在这个例子中, 末尾的两个B帧需要依赖下一个GOP中的I帧进行解码。
而下图展示的是两个CloseGOP的例子。我们也可以得出一个结论,如果一段视频内的所有I帧都同时是IDR帧,那么这段视频的所有GOP都是ClosedGOP。
虽然理论上相同码率下开启OpenGOP能带来更好的质量(B帧可以更多),但外网有人对比实测下来发现并没有明显的差距。下表分别展示了使用OpenGOP和ClosedGOP时的VMAF分数: