H264 格式分析

来源:互联网 发布:js下载文件到本地 编辑:程序博客网 时间:2024/06/03 14:19
1. H.264起始码 

       在网络传输h264数据时,一个UDP包就是一个NALU,解码器可以很方便的检测出NAL分界和解码。但是如果编码数据存储为一个文件,原来的解码器将无法从数据流中分别出每个NAL的起始位置和终止位置,为此h.264用起始码来解决这一问题。  H.264编码时,在每个NAL前添加起始码 0x000001,解码器在码流中检测到起始码,当前NAL结束。

     为了防止NAL内部出现0x000001的数据,h.264又提出'防止竞争 emulation prevention"机制,在编码完一个NAL时,如果检测出有连续两个0x00字节,就在后面插入一个0x03。

 0x000000   >>>>>>   0x00000300

 0x000001   >>>>>>   0x00000301

 0x000002   >>>>>>   0x00000302

 0x000003   >>>>>>   0x00000303  

    当解码器在NAL内部检测到0x000003的数据,就把0x03抛弃,恢复原始数据。 (恢复的方法:检测到0x000003,只取前面两个字节,跳过0x03,取第四个字节)
0 0
原创粉丝点击