VCL和NAL
1.VCL只关心编码部分,重点在于编码算法以及特定硬件平台的实现,VCL输出的是编码后的纯视频流信息,没有任何冗余头信息。
NAL关心是是VCL的输出纯视频流如何被表达和封包以利于网络传输。
封包目的别人知道怎么传输和解码
(1)SODB:string of Data Bits
(2)RBSP:Raw Byte Sequence Payload
(3)NALU:Network Abstraction Layer Units
关系:
(4)SODB + RBSP trailing bits = RBSP 最原始的数据是SODB叠加一部分(RBSP头尾信息)
(5)NAL header(1 byte) + RBSP = NALU 再加上一个字节的NAL header
NALU是H264文件的基本组成单元,码流信息里面就是有一个个NALU。
如何解码先看NAL header得到信息去分析 RBSP,RBSP去掉RBSP trailing bits得到SODB。
SODB是海思自动生成,VLC播放器可以识别原始码流FFmpeg也可以解码出来。
红色可以看出是I帧,蓝色是P帧。雷神信息更完善,WinHex打开二进制文件。
h264视频流总体分析