H264、直播
H264结构与码流解析
H264结构
H264视频压缩后会成为一个序列帧,帧里包含图像,图像分为很多片,每个片可以分为宏块,每个宏块由许多子块组成,这就是H264结构图。
H264结构中,一个视频图像编码后的数据叫一帧,一帧由一个片(slice)或多个片组成,一个片由一个或多个宏块(MB)组成,一个宏块由16*16的yuv数据组成,宏块作为H264编码的基本单位
- 场和帧 :视频的一场或一帧可用来产生一个编码图像。在电视中,为减少大面积的闪烁现象,把一帧分为两个隔行的场
- 片 :每个图像中,若干个宏块被排列成片的形式。片分为I片、B片、P片和其他的一些片
- I片只包含I宏块,P片可包含P和I宏块,而B片可包含B和I宏块。
- I宏块利用从当前片中已解码的像素作为参考进行帧内预测
- P宏块利用前面已编码图像作为参考图像进行帧内预测
- B宏块则利用双向的参考图像(前一帧和后一帧)进行帧内预测
- 片的目的是为了限制误码 的扩散和传输,使编码片相互间是独立的
- 某片的预测不能以其他片中的宏块为参考图像
- 这样某一片中的预测误差才不会传播到其他片中去
- 宏块 :一个编码图像通常划分成若干宏块组成,一个宏块由一个16x16亮度像素和附加的一个8x8Cb和一个8x8Cr彩色像素块组成