我试图通过使用十六进制编辑器查看视频文件的比特流来了解一些有关 h264 的知识。我发现here视频对象平面 (0x000001b6) 和 i 帧 (0x000001b600) 的起始码。
但我在视频文件中找不到很多这样的字节。大多数情况下,这些起始代码出现在文件的开头,中间只有几位。我预计它们会非常有规律地出现,在整个文件中距离相等!?
用这种方式用十六进制编辑器查看文件是否可以?还存在哪些其他起始代码以及 h264 文件是如何组织的?
The 0x000001b6
起始代码适用于 mpeg-4 第 2 部分视频,这是简单的配置文件。这对应于 XVID 和 DIVX 等编解码器。 H.264 是 mpeg-4 第 10 部分,它是高级视频编码配置文件。 H.264 使用不同的起始码。
我对第 10 部分不像对第 2 部分那样熟悉,但简单浏览一下标准 (ISO 14496-10) 就会发现,比特流被分成称为 NAL 单元的部分。这些单元有 24 位代码0x000001
根据 B.1.1 节,在它们之前进行同步。接下来的字节由字段组成forbidden_zero_bit
, nal_ref_idc
, and nal_unit_type
按照第 7.3.1 节。
我不确定这些 NAL 单元是否在帧边界上分开。您可能只需要掌握列出所有比特流语法的标准即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)