H264是以高压缩和高质量的多媒体图像著称,我的理解是,有时候一段时间内,几副图像之间的差别不大,没有必要去完成描述每一副图像,比如说第一张图像,但第二张图像与第一张图像差别不大,就不需要完整记录第二张图像,只需要记录两者差异即可,同理依次类推。这样就形成了一个序列。当发现某一张图像与前面的差别很大时,则结束上一个序列。则再重新新建一个序列。
一个序列是以I帧(也叫做IDR)开始,到下一个I帧之前。也就是序列记录的是差别不大的一组图片。
那什么是I帧,P帧,B帧呢?
I帧:也就是完整的帧,没有丢掉信息的图片。
P帧:一个序列只需要记录一个I帧,后面的图像则参考前面的,只记录其差异。参考前面的帧,则称为P帧。
B帧:参考前面和后面的帧,成为B帧。
h264引入了IDR帧,也是为了解码的重同步,当解码器解码到IDR帧时候,会将参考队列清空,将已经解码好的数据输出或者清空,开始另一个序列。