天天看點

RTP協定封裝音視訊媒體資料詳解

RTP協定對媒體資料(包括音頻和視訊)的封裝是由指定的的協定文檔規定。

1. RTP封裝H.264視訊編碼資料

1.1 H.264 基本流的結構

H.264 的基本流(elementary stream,ES)的結構分為兩層,包括視訊編碼層(VCL)和 網絡适配層(NAL)。

視訊編碼層負責高效的視訊内容表示,

而網絡适配層負責以網絡所要 求的恰當的方式對資料進行打包和傳送。

引入 NAL 并使之與 VCL 分離帶來的好處包括兩方面:

其一、使信号處理和網絡傳輸分離,VCL 和 NAL 可以在不同的處理平台上實作;

其二、 VCL 和 NAL 分離設計,使得在不同的網絡環境内,網關不需要因為網絡環境不同而對 VCL比特流進行重構和重編碼。

H.264 的基本流由一系列 NALU(Network Abstraction Layer Unit)組成,不同的 NALU 資料量各不相同。

H.264 草案指出,當資料流是儲存在媒體上時,在每個 NALU 前添加起 始碼:0x000001,用來訓示一個 NALU 的起始和終止位置。

在這樣的機制下,解碼器在碼 流中檢測起始碼,作為一個 NALU 得起始辨別,當檢測到下一個起始碼時,目前 NALU 結 束。

每個 NALU 單元由一個位元組的 NALU 頭(NALU Header)和若幹個位元組的載荷資料 (RBSP)組成。

其中 NALU 頭的格式如圖 2 所示

繼續閱讀