需要將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...