有关流媒体的项目中H264数据都是作为RTP的荷载来进行传输的。
但是作为RTP荷载可能存在这样的问题,比如一个NALU的大小超过了MTU必须做拆分后才能传输,还有就是一个NALU太小如果单独作为一个包发出去的话可能比较“浪费”。这样就产生了如下几种荷载格式:
(1) 单个NAL单元包: 荷载中只包含一个NAL单元。NAL头类型域等于原始
NAL单元类型,即在范围1到23之间(参照表二)。
(2) 聚合包:
本类型用于聚合多个NAL单元到单个RTP荷载中。本包有四种版本,单时间聚合包类型A(STAP-A), 单时间聚合包类型B (STAP-B), 多时间聚合包类型(MTAP),16位位移(MTAP16),多时间聚合包类型(MTAP)24位位移(MTAP24)。
赋予STAP-A, STAP-B, MTAP16, MTAP24的NAL单元类型号分别是 24, 25, 26,
27(参照表二)。
(3)分片单元:
用于分片单个NAL单元到多个RTP包。现存两个版本FU-A,FU-B,用NAL单元类型
28,29标识(参照表二)。
另外如果想更加深入了解这几种荷载的组成形式,请参考RFC3984 5.6、5.7和5.8章节的详细介绍。
最简单的做法是采用单个NAL单元包