一.h264中的I、P和B帧
I-帧:也成为关键帧,I-帧完全自我指涉的,并且不使用任何其他帧的信息。它在三种帧中占最大的比例,并且具有最高的质量,但是压缩效率是最低的。
P-帧:P-帧是所谓的“预测”帧。当创建了一个P-帧时,编码器可以向后查看I-帧或者P-帧中冗余的图片信息。P-帧比I-帧效率高,但是没有B-帧的效率高。
B-帧:B-帧是双向预测帧,这意味着当我们创建B-帧,编码器可以同时向前和向后查找冗余的图片信息。这使得B-帧在三种帧中具备最佳的效率。注意,B-帧在使用Baseline方式生产视频的时候是不可用的。
I-帧与IDR帧
具体说来,视频编码序列指的是“图片组”,或者简称为GOP,它是组成H.264流的组成部分,每个H.264流都是由很多个静态的GOP组成的。每个GOP都是由一个I-帧开始的,并包含了所有的帧,但是并不包含下一个I-帧。
简单的说,H.264规格使用两种类型的I-帧:普通I-帧和IDR帧。对于IDR帧来说,在IDR帧之后的所有帧都不能引用任何IDR帧之前的帧的内容,与此相反,对于普通的I-帧来说,位于其之后的B-和P-帧可以引用位于普通I-帧之前的I-帧。
从随机存取的视频流中,播放器永远可以从一个IDR帧播放,因为在它之后没有任何帧引用之前的帧。 但是,不能在一个没有ID