AAC(Advanced Audio Coding,譯爲:高級音頻編碼),是由Fraunhofer IIS、杜比實驗室、AT&T、Sony、Nokia等公司共同開發的有損音頻編碼和文件格式。php
AAC被設計爲MP3格式的後繼產品,一般在相同的比特率下能夠得到比MP3更高的聲音質量,是iPhone、iPod、iPad、iTunes的標準音頻格式。html
AAC相較於MP3的改進包含:算法
AAC是一個龐你們族,爲了適應不一樣場合的須要,它有不少種規格可供選擇。下面列舉其中的9種規格(Profile):windows
最先是基於MPEG-2標準,稱爲:MPEG-2 AAC。後來MPEG-4標準在原來基礎上增長了一些新技術,稱爲:MPEG-4 AAC。ide
雖然上面列舉了9種規格,但咱們目前只須要把注意力放在經常使用的LC和HE上。下圖很好的展現了從LC到HE的發展歷程。ui
LC適合中等比特率,好比96kbps ~ 192kbps之間。編碼
MPEG-4 AAC LC等價於:命令行
PNS(Perceptual Noise Substitution)譯爲:感知噪聲替代。設計
HE有v1和v2兩個版本,適合低比特率:code
MPEG-4 AAC HE v1的別名:
MPEG-4 AAC HE v1等價於:
SBR(Spectral Band Replication)譯爲:頻段複製。
MPEG-4 AAC HE v2的別名:
MPEG-4 AAC HE v2等價於:
PS(Parametric Stereo)譯爲:參數立體聲。
若是想對PCM數據進行AAC編碼壓縮,那麼就要用到AAC編碼器(encoder)。
若是想將AAC編碼後的數據解壓出PCM數據,那麼就要用到AAC解碼器(decoder)。
這裏只列舉幾款經常使用的AAC編解碼器:
FFmpeg AAC
FAAC(Freeware Advanced Audio Coder)
編碼質量排名:Fraunhofer FDK AAC > FFmpeg AAC > FAAC。
在網上下載的編譯版FFmpeg,一般都是沒有內置libfdk_aac的。能夠經過命令行查看FFmpeg目前內置的AAC編解碼器。
# windows ffmpeg -codecs | findstr aac # mac ffmpeg -codecs | grep aac
我這邊的輸出結果是:
DEAIL. aac AAC (Advanced Audio Coding) (decoders: aac aac_fixed ) D.AIL. aac_latm AAC LATM (Advanced Audio Coding LATM syntax)
很顯然,並無包含libfdk_aac。這裏給出2個解決方案: