我的NAL单元看起来像这样我如何理解RBSP中的数据,如有效负载大小以及数据表示什么
答案 0 :(得分:12)
在H264格式中,字节流被组织成许多NAL单元。为了理解NAL单元在哪里启动一个三字节或四字节的起始码0x000001或0x00000001,它位于每个NAL单元的开头。
该序列也可能存在于原始数据中,在这种情况下,仿真阻止字节 0x03用于将序列0x000000,0x000001,0x000002和0x000003转换为0x00000300,0x00000301,0x00000302和分别为0x00000303。
在每个NAL单元中,标头仅占用其序列的第一个字节,字节的其余部分表示实际的有效负载。
标题包含有关负载中包含的数据类型的信息,它可以分为三个部分。
标题0x67(它是NAL单元中的标题)例如对应于二进制序列 0110 0111 。此序列的第一位( 0 )是禁用零,用于验证在传输数据包时遇到的错误。
以下2位( 11 )称为 nal_ref_idc ,它们表示NAL单位是参考字段,帧还是图片。
其余5位指定 nal_unit_type 。它指定NAL单元中包含的RBSP数据结构的类型。有关NAL单元标题的更详细说明,请参阅here中的表7.1或official RFC