rtmp封裝不同採樣率的AAC

參考文章:https://www.cnblogs.com/lidabo/p/7324369.html

flv文件格式:https://www.cnblogs.com/musicfans/archive/2012/11/07/2819291.html

ISO文檔:http://read.pudn.com/downloads98/doc/comm/401153/14496/ISO_IEC_14496-3%20Part%203%20Audio/C036083E_SUB1.PDF

 

rtmp封裝AAC第一幀數據時,需要音頻同步包,裏面包含AAC的相關信息。音頻同步包大小固定爲 4 個字節。前兩個字節被稱爲 [AACDecoderSpecificInfo],用於描述這個音頻包應當如何被解析。後兩個字節稱爲 [AudioSpecificConfig],更加詳細的指定了音頻格式。

下圖爲前兩個字節 0xAF 0x00

wKioL1Qje6_ApXbFAALZEhnUQhw347.jpg

由上圖可知,AAC的soundRate固定爲3

 

wKiom1Qj3lqRKafiAAKNXyQMvTU565.jpg

由上圖可知:

後兩個字節需要指定AAC的類型和採樣率,

AAC sequence header也就是包含了AudioSpecificConfigAudioSpecificConfig包含着一些更加詳細音頻的信息,AudioSpecificConfig的定義在ISO14496-31.6.2.1 AudioSpecificConfig,這裏就不詳細貼了。摘抄自https://www.cnblogs.com/musicfans/archive/2012/11/07/2819291.html

查看ISO文檔可知

1.6.3.3 samplingFrequencyIndex

1.5.1 MPEG-4 audio object types:

AAC-LC的type爲2

 

根據上述圖標,舉例:

AAC LC 8000Hz,則第一幀配置爲

body[i++] = 0xAF;
body[i++] = 0x00;
body[i++] = 0x15;
body[i++] = 0x90;

後兩個字節爲

00010 1011 0010 0 0 0

AACLC 8000hz stereo 

發佈了22 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章