H264 封装格式解析
H264 有两种封装格式,分别是:
annexb
格式AVCC
格式
Annexb 格式
- annexb 有0x00000001 或者 0x000001 开头,作为每一个
NALU
单元的分割标志,也常常被称为startCode.
在H264 中 ,每一个帧类型对应的数据格式有指定的值, 一般通过& 0x1f 操作来判断其类型:
运算结果为 5:I 帧 6:SEI 8:PPS 7:SPS P:1
- 用在实时流传输
AVCC
- 视频开始有 SPS/PPS
- 每个NALU 前有存储NALU 的长度
- 使用在MP4 文件存储
在手机端进行解码时, iOS端需要将AnnexB 格式的流转为AVCC 的格式才能进行正常的解码播放。