如何理解H264的header
How to understand header of H264
我的 NAL 单元是这样的:
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 103 902 00 00 1A B3 F1 FA 52 05 00 00 00 01 68
如何理解RBSP中的数据是什么?比如有效负载大小以及数据的哪些部分表示它。
在H264格式中,字节流被组织成许多NAL单元。为了了解 NAL 单元从哪里开始 three-byte 或 four-byte 起始代码,0x000001 或 0x00000001,被放置在每个 NAL 单元的开头。
有可能这个序列也存在于原始数据中,在这种情况下,一个模拟阻止字节 0x03 用于将序列 0x000000、0x000001、0x000002 和 0x000003 转换为 0x00000300、0x00000301 , 0x00000302 和 0x00000303 分别。
在每个 NAL 单元中,header 仅占据其序列的第一个字节,其余字节代表实际有效负载。
header包含有关有效载荷中包含的数据类型的信息,它可以分为三个部分。
例如,header 0x67(即 NAL 单元中的 header)对应于二进制序列 0110 0111。该序列的第一位(0)是禁止零,用于验证在传输过程中是否遇到错误数据包。
下面的 2 位(11)被称为 nal_ref_idc 它们指示 NAL 单元是否是参考字段、相框或图片。
剩下的5位指定nal_unit_type。它指定了 NAL 单元中包含的 RBSP 数据结构的类型。关于NAL单元header更详细的解释可以参考table 7.1 found in here or to the official RFC
我的 NAL 单元是这样的:
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 103 902 00 00 1A B3 F1 FA 52 05 00 00 00 01 68
如何理解RBSP中的数据是什么?比如有效负载大小以及数据的哪些部分表示它。
在H264格式中,字节流被组织成许多NAL单元。为了了解 NAL 单元从哪里开始 three-byte 或 four-byte 起始代码,0x000001 或 0x00000001,被放置在每个 NAL 单元的开头。
在每个 NAL 单元中,header 仅占据其序列的第一个字节,其余字节代表实际有效负载。
header包含有关有效载荷中包含的数据类型的信息,它可以分为三个部分。
例如,header 0x67(即 NAL 单元中的 header)对应于二进制序列 0110 0111。该序列的第一位(0)是禁止零,用于验证在传输过程中是否遇到错误数据包。
下面的 2 位(11)被称为 nal_ref_idc 它们指示 NAL 单元是否是参考字段、相框或图片。
剩下的5位指定nal_unit_type。它指定了 NAL 单元中包含的 RBSP 数据结构的类型。关于NAL单元header更详细的解释可以参考table 7.1 found in here or to the official RFC