一、差异
本地音视频数据格式和用来传输的音视频数据格式存在些许差异,由于音视频数据流到达客户端时,需要考虑数据流的数据边界、分包、组包顺序等问题,所以传输中的音视频数据往往会多一些字节。
举个例子,有时候一个媒体分包数据量很大(比如H264的一个分包常常会有2-4K),而大多数网络的MTU(最大传输单元)基本都是1500字节。
如果频繁收发这么大的数据包,会额外增添路由器的负担,甚至会导致网络阻塞,不利于网络的稳定。
于是服务器就自行对H264进行了分包以适应MTU,每个分包的开始处往往会多出一些字节来记录分包格式等参数。
二、RTP音视频传输解析层的任务
RTP音视频传输解析层的任务就在于解析这些针对网络传输的参数,剥离掉这些额外的数据后,重新组成单纯的音视频数据,然后交给用户接口层。