rtp封包pcm RTP音訊AAC封包

2021-10-17 02:12:19 字數 978 閱讀 6720

過程比較簡單:

需要將aac的前7個位元組的adts去掉;

新增12位元組的rtp header;

新增2位元組的au_header_length;

新增2位元組的au_header;

從第17位元組開始就是payload(去掉adts的aac資料)資料了

音訊aac封包格式

rtp承載aac的格式由兩部分組成:

2個位元組的au-headers-length

n個au-header,每個2位元組

n個au,是aac去掉adts的載荷

au-headers-length

au-header

auau-header

au注意:乙個rtp包中可以有乙個au-headers-length 和 n個au-header和 n個au(au每包實際音訊資料流)

1. au-headers-length

頭兩個位元組表示au-header的長度,單位是bit。 乙個au-header長度是兩個位元組(16bit)因為可以有多個au-header所以au-headers-length的值是 16的倍數,一般音訊都是單個音訊資料流的傳送,所以au-headers-length的值是16

//au_header_length

bytes[12] = 0x00; //高位

bytes[13] = 0x10; //低位

因為單位是bit, 除以8就是auheader的位元組長度;又因為單個auheader位元組長度2位元組,所以再除以2就是auheader的個數。

2. au-header

au-header的高13個bits就是乙個au 的位元組長度:

//au_header

bytes[14] = (byte)((len & 0x1fe0) >> 5); //高位

bytes[15] = (byte)((len & 0x1f) <

這樣就能得到多個au的長度

3. au 實際的音訊資料

RTP音訊AAC封包

需要將aac的前7個位元組的adts去掉 新增12位元組的rtp header 新增2位元組的au header length 新增2位元組的au header 從第17位元組開始就是payload 去掉adts的aac資料 資料了 rtp承載aac的格式由兩部分組成 2個位元組的au header...

rtp基本封包格式

rtp包易於過大,一般每個包不要超過1400,這裡設定為1380,即default mtu 1380 unsigned char pnal 資料報 int nalsize 資料報長度 uint32 t timestamp 時間戳 rtpsession rtp session h264 h265 rt...

H 264RTP封包原理

1.引言 2.rtp 協議關鍵引數的設定 其中比較關鍵的引數設定解釋如下 1 標示位 m 1 位,該標示位的含義一般由具體的 應用框架 profile 定義,目的在於標記處rtp 流中的重要事件。3 序號 16 位,每傳送乙個 rtp 資料報,序號加 1。接受者可以用它來檢測分組丟失和恢復分組順序。...