AAC(高端音频编码, Advanced Audio Coding)在低比特率下会丢失许多高频信号而导致声音听起来和原始音质差异很大,因此后来出现了结合著SBR(Spectral Band Replication)的HE-AAC(High-Efficiency AAC),和结合著SBR与PS(Parametric Stereo)的HE-AACv2,可以有效的保留高频信号,并减少保留信号所需的保存空间。在Android上所使用的Fraunhofer FDK AAC可以支持HE-AAC编码,同时也是目前公认较好的AAC编码器之一,如果要在Linux系统上使用Fraunhofer FDK AAC编码器,可以参考本篇文章来编译与安装。
编译FDK AAC For Linux
编译环境:Linux Mint 17 Cinnamon
取得FDK AAC
FDK AAC的原代码可以直接在FDK AAC的SourceForge上取得:
这边要注意的是FDK AAC官方并没有提供CLI(Command Line Interface)或是GUI(Graphical User Interface)接口给用户使用,它只是一个C/C++的函数库,以下都称它为「libfdk-aac」吧!若要通过CLI使用「libfdk-aac」,可以使用以下的「fdkaac」开源项目:
「fdkaac」这个项目会使用到「libfdk-aac」,因此需先编译安装好「libfdk-aac」,再来编译安装「fdkaac」,否则可能会在进行「fdkaac」的编译流程时看到如下图的消息。