h264 RTP STAP-A單時間聚合包


參考官方文檔:http://www.rosoo.net/Files/UpFiles/RsProduct/avtools/2009-4/2009491562537854.txt

聚合包的RTP荷載格式的結構見圖3

 即開頭1個字節表示NAL單元類型,接着1個或多個聚合單元,后面是可選的RTP填充。

單時間聚合包STAP

單時刻聚合包(STAP)應該用於當聚合在一起的NAL單元共享相同的NALU時刻。STAP-A荷載不包括DON,至少包含一個單時刻聚合單元見圖4

STAP-B荷載包含一個16位的無符號解碼順序號(DON) (網絡字節序)緊跟至少一個單時刻聚合單元。見圖5.

圖 7表示一個例子--一個RTP包包含一個STAP-A. STAP包含兩個單時刻聚合單元, 在圖中用1,2標記。

開始是4個字節的RTP頭,接着1字節NAL單元類型,應該是24,然后2字節表示第1個NALU長度,接着1字節表示第1個NALU類型,然后若干個字節的NALU負載數據,以此類推。

注意:NALU Size = NALU HDR + NALU DATA,是頭字節長度加負載數據長度。

一個STAP-A RTP包示例,其中包含了sps pps

 如圖,第1個字節18表示十進制24,即這個包是STAP-A類型

00 02 表示第1個NALU長度為2,即 09 10兩個字節,09表示第一個NALU HDR,類型取后5位為0x08表示類型

然后從第5、6個字節 00 18表示第2個NALU的長度,換算為24, 頭字節67取后5位為96表示類型,也就是sps

從第7字節67開始24字節長度為第2個NALU數據,到80結束

然后 00 04表示第3個NALU長度為4字節,頭字節68取后五位為類型,也就是pps

從第25字節68開始到結束4個字節就是第三個NALU數據

圖 8 表示一個RTP包包含一個STAP-B. STAP包含兩個單時刻聚合單元, 用 1,2標記。

 STAP-B比STAP-A多了一個公共的DON,詳見規范文檔

分片單元相對來說比聚合單元更簡單一點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM