1. 程式人生 > >一個基於JRTPLIB的輕量級RTSP客戶端(myRTSPClient)——實現篇:(六)RTP音視頻傳輸解析層之音視頻數據傳輸格式

一個基於JRTPLIB的輕量級RTSP客戶端(myRTSPClient)——實現篇:(六)RTP音視頻傳輸解析層之音視頻數據傳輸格式

客戶端 會有 服務 client 基本 cnblogs 存在 額外 導致

一、差異

本地音視頻數據格式和用來傳輸的音視頻數據格式存在些許差異,由於音視頻數據流到達客戶端時,需要考慮數據流的數據邊界、分包、組包順序等問題,所以傳輸中的音視頻數據往往會多一些字節。

舉個例子,有時候一個媒體分包數據量很大(比如H264的一個分包常常會有2-4K),而大多數網絡的MTU(最大傳輸單元)基本都是1500字節。

如果頻繁收發這麽大的數據包,會額外增添路由器的負擔,甚至會導致網絡阻塞,不利於網絡的穩定。

於是服務器就自行對H264進行了分包以適應MTU,每個分包的開始處往往會多出一些字節來記錄分包格式等參數。

二、RTP音視頻傳輸解析層的任務

RTP音視頻傳輸解析層的任務就在於解析這些針對網絡傳輸的參數,剝離掉這些額外的數據後,重新組成單純的音視頻數據,然後交給用戶接口層。

技術分享

一個基於JRTPLIB的輕量級RTSP客戶端(myRTSPClient)——實現篇:(六)RTP音視頻傳輸解析層之音視頻數據傳輸格式