最近学习H264的编解码,因此先学习了解H264的结构。我是通过h264分析开源库的源码进行学习的。首先先从数据结构体入手,通过了解重要的数据结构体来认识H264!
首先,我们需要初略的知道,H264数据流就是由一个一个独立的NALU单元构成:
... | NALU | NALU | NALU | ... |
再深入一点,每一个NALU由NALU header 和 NALU payload 两个部分组成(头信息主要说明此单元负载的数据类型,占一个字节)
... | NALU header | NALU payload | NALU header | NALU payload | ... |
再深入一点,NALU单元之间需要一个标志来区分开。因此,在一个NALU单元开始前都会有一个开始码(0x000001)
... | Start Code | NALU Header | NALU payload | Start Code | NALU H |