2

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

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

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

4

1 回答 1

4

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

我对第 10 部分不像对第 2 部分那样熟悉,但对标准 (ISO 14496-10) 的简要了解表明,比特流被分成称为 NAL 单元的部分。0x000001根据 B.1.1 节,这些单元前面有 24 位代码用于同步。按照第 7.3.1 节,以下字节由字段forbidden_zero_bitnal_ref_idc和组成。nal_unit_type

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

于 2010-04-28T18:55:28.077 回答