RTP音訊AAC封包

2021-10-23 06:49:51 字數 891 閱讀 2222

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

新增12位元組的rtp header;

新增2位元組的au_header_length;

新增2位元組的au_header;

從第17位元組開始就是payload(去掉adts的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每包實際音訊資料流)

頭兩個位元組表示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的個數。

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

//au_header 

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

bytes[15] = (byte)((len & 0x1f) << 3); //低位

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

rtp封包pcm RTP音訊AAC封包

過程比較簡單 需要將aac的前7個位元組的adts去掉 新增12位元組的rtp header 新增2位元組的au header length 新增2位元組的au header 從第17位元組開始就是payload 去掉adts的aac資料 資料了 音訊aac封包格式 rtp承載aac的格式由兩部分組...

rtp基本封包格式

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

aac (高階音訊編碼)

aac advanced audio coding 中文名 高階 音訊編碼 出現於1997年,基於 mpeg 2 的音訊編碼技術。由fraunhofer iis 杜比實驗室 at t sony 等公司共同開發,目的是取代 格式。2000年,mpeg 4 標準出現後,aac重新整合了其特性,加入了sb...