h264想法比特流是如何组织的? / header起始码

时间:2010-04-28 18:06:11

标签: video video-encoding h.264 mpeg-4 bitstream

我试图通过使用十六进制编辑器查看视频文件的比特流来了解h264。我发现了here视频对象平面(0x000001b6)和i帧(0x000001b600)的起始代码。

但我在视频文件中找不到很多这些字节。大多数情况下,这些起始代码出现在文件的开头,中间只有几个咬合。我希望它们能够在整个文件中以相同的距离非常有规律地出现!?

用这种方式查看带有十六进制编辑器的文件是否可以?还有哪些其他开始代码以及如何组织h264文件?

1 个答案:

答案 0 :(得分:3)

0x000001b6起始代码适用于mpeg-4第2部分视频,这是简单的配置文件。这对应于XVID和DIVX等编解码器。 H.264是mpeg-4第10部分,它是高级视频编码配置文件。 H.264使用不同的起始码。

我不像第2部分那样熟悉第10部分,但简要介绍标准(ISO 14496-10)表明比特流被分成称为NAL单元的部分。这些单元在它们之前具有24位代码0x000001,用于根据B.1.1节进行同步。根据第7.3.1节,以下字节由字段forbidden_zero_bitnal_ref_idcnal_unit_type组成。

我不确定这些NAL单元是否在帧边界上分开。您可能只需要掌握所有比特流语法的标准。