- H264是一种编码格式。
- H264的两种格式
- Annex B
- 分隔符,不表示NALU长度,3字节或者4字节,有防竞争字节
- GOP:SPS、PPS、IDR、别的数据帧
- AVCC
- 分隔符携带NALU长度,4字节(带有NALU长度信息)、有防竞争字节
- GOP:GOP头部包含extra data,用来存储sequence header、sps、pps
- Annex B
- H264码流需要经过封装(ts、ps、mp4),不同的封装格式所对应的H264码流也是有差别的,因此有时转封装需要先转H264的格式
- Annex B
- 对应的封装TS、PS(ie支持)
- AVCC
- 对应的封装MP4(ie、chrome支持)
- Annex B
- 两种格式之间的相互转化
- 这两种格式中,他们的数据字段都是相同的,只是组织数据的方式不同(GOP的头、NALU的头),因此只需要改变组织方式就可以进行相互转化
- Annex B转化为AVCC
- 对一个GOP的开始,检索出extra data部分
- 根据这一部分找到sps、pps,计算长度,转化为AVCC格式的extra data
- 从IDR帧开始,根据start code分离出每个NALU,将start code转化为四字节大端模式的NALU长度信息
- AVCC转化为Annex B
- 对一个GOP的开始,检索出extra data部分
- 根据sps和pps的长度信息分离出sps和pps,将其作为Annex B的GOP的extra data
- 从第一个idr帧开始,根据AVCC中四字节的长度信息,分离出每个NALU,加上start code得到Annex B的一个NALU
H264的两种格式
最新推荐文章于 2024-04-20 17:47:33 发布