h.264 适合在不同网络之间的视频传输,是因为引入了分层结构:是将图像压缩系统分成网络抽象层(NAL)和视频编码层(VCL)从而实现压缩编码与网络传输分离
网络抽象层(NAL)专门为视频编码信息提供文件头信息,安排格式以方便网络传输和储存
VCL层是核心部分编码输出的是VCL数据(表示编码视频数据的比特序列)在传输和存储之前被映射到NAL单元(NALU),NAL层在外围,根据视频信号传输的媒介把VCL的内容封装起来,为视频编码信息提供文件头信息,安排格式来方便网络传输和储存,
NAL的基本单位是NALU
VAL层自上而下分为
划分条带主要是为了适应不同传输网络的最大传输单元长度(MTU size)
NAL定义数据封装的格式和统一的网络接口,数据打包在网络提取层单元(NALU)中,面对比特流和面对数据包的传输,采用统一的数据格式,
即单个字节的包头信息和多个字节的数据
其中包头信息包含存储标志和类型标志,存储标志用于指示当前数据属不属于被参考的帧,从而便于服务器根据网络拥塞情况进行丢弃 ,类型标志用于指示图像的数据类型
打包(NAL对于VCL数据的承载过程)
通常的做法是一个NALU包含一个slice而该slice的大小尽量接近但不超过网络的MTU长度,好处:优化传输包的有效载荷也包头大小的比例关系,减少因为丢包导致slice损伤
图像:帧或者場的通称