我试图通过使用十六进制编辑器查看视频文件的比特流来学习一些有关H264的知识。我发现 这里 视频对象平面(0x000001b6)和i-Frames(0x000001b600)的开始代码。

但是我在视频文件中找不到很多字节。在大多数情况下,这些启动代码出现在文件的开头,两者之间只有几个叮咬。我希望他们会定期出现,整个文件的距离相等!?

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

有帮助吗?

解决方案

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

我对第10部分的熟悉程度不及第2部分,但是仔细查看标准(ISO 14496-10)表明,bitstream被分解为称为NAL单元的部分。这些单元具有24位代码 0x000001 根据B.1.1节的同步之前。以下字节由字段组成 forbidden_zero_bit, nal_ref_idc, , 和 nal_unit_type 根据第7.3.1节。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top