如何理解H264的标题

时间:2016-06-29 08:34:01

标签: h.264

<00> 00 00 00 01 67 42 00 1F E6 20 0A 00 B6 60 22 00 00 03 00 02 00 00 03 00 79 C0 00 00 10 FD D0 00 00 40 16 43 F4 A4 18 00 00 03 02 1D 97 00 00 1A B3 F1 FA 52 05 00 00 00 01 68

我的NAL单元看起来像这样我如何理解RBSP中的数据,如有效负载大小以及数据表示什么

1 个答案:

答案 0 :(得分:12)

在H264格式中,字节流被组织成许多NAL单元。为了理解NAL单元在哪里启动一个三字节或四字节的起始码0x000001或0x00000001,它位于每个NAL单元的开头。

image 该序列也可能存在于原始数据中,在这种情况下,仿真阻止字节 0x03用于将序列0x000000,0x000001,0x000002和0x000003转换为0x00000300,0x00000301,0x00000302和分别为0x00000303。

在每个NAL单元中,标头仅占用其序列的第一个字节,字节的其余部分表示实际的有效负载。

image2

标题包含有关负载中包含的数据类型的信息,它可以分为三个部分。

标题0x67(它是NAL单元中的标题)例如对应于二进制序列 0110 0111 。此序列的第一位( 0 )是禁用零,用于验证在传输数据包时遇到的错误。

以下2位( 11 )称为 nal_ref_idc ,它们表示NAL单位是参考字段,帧还是图片。

其余5位指定 nal_unit_type 。它指定NAL单元中包含的RBSP数据结构的类型。有关NAL单元标题的更详细说明,请参阅here中的表7.1或official RFC