1,什么是AAC?
AAC代表Advanced Audio Coding(高级音频编码),是一种由MPEG-4标准定义的有损音频压缩格式,由Fraunhofer发展,Dolby, Sony和AT&T是主要的贡献者。在使用MP4作为各种内容的容器格式的新多媒体MPEG-4标准中,它是MPEG Layer III / MP3的天然后继者。AAC能够在一条音轨中包括48条全带宽(直到96khz)音频声道,加上15条低频增强(LFE,限制到120Hz)声道,直到15条数据流并且更多。
2,什么是HE-AAC和LC-AAC?
两者是符合MPEG4 AAC标准的不同的Profile(类)。LC意思是"low complexity"(低复杂性)而HE意思是"high efficiency"(高效性)。HE-AAC也称之为AAC SBR/AAC+/aacplus等。注意HE-AAC注重于低码流的编码并很适合多声道文件(更小的文件尺寸)。对于HE-AAC文件,也需要一个可用的HE解码器,请看Q6。如果你想要用AAC与其他流行音频编码在64kbps下做比较,请看这里(感谢rjamorim)。
从学术上讲,HE-AAC混合了AAC与SBR技术。SBR代表的是Spectral Band Replication(频段复制)。SBR的关键是在低码流下提供全带宽的编码而不会产生产生多余的信号。传统认为音频编码在低码流下意味着减少带宽和降低采样率(见MP3 FAQ #7)或产生令人不快的噪音信号。SBR解决问题的方法是让核心编码去编码低频信号,而SBR解码器通过分析低频信号产生高频信号和一些保留在比特流中的指
导信号(通常码
流极低,~2 kbps)。这就是采用无SBR解码器的原因,这样你的带宽(frequency respon/频率响应)会被严重浪费。这也是为什么被叫做Spectral Band Replication的原因,它只是增加音频的带宽,而非重建。更多关于SBR技术的信息请看这里和那里。
象MPEG-4视频一样,AAC有着不同的Profile,其中Low Complexity Profile(LC AAC) (也叫MAIN @ Level 2)最被广泛用于商业市场(例如Apple非常著名的iTunes音乐库),其他有象Long T erm Prediction Profile(LTP/长期预测), Scalable Sampling Rate Profile(SSR/可变采样率) 和Low Delay Profile(LD/
低延迟)。
3,我如何编码AAC?
单单LC Profile:
∙FAAC(免费高级音频编码器):免费开源的LC-ACC [CLI, DirectShow(3ivx), foobar, CoolEdit, WinAmp]
∙Apple's AAC:CBC只能用于quicktime <7,quicktime 7和之后版本包括VBR AAC。Apple的编码不能处理多声道。[Quicktime专业版, iTunes]iTunes 使用同样的编码但可以免费获取。使用quicktime 编码的命令行解码器同样可行。iTunes/apple编码是以最初Dolby编码为基础,并且为音质作了较大的调整,尽管只采用CBC但事实上音质非常好。
∙PsyTEL AACENC:多声道不要用它,因为它会产生错误的声道映射。[命令行, AACMachine ( BeSweet的GUI ) ]
∙Dicas' Compaact AAC编码器
∙Sorenson AAC编码器
∙Winamp版本5和以上的版本拥有在Dolby编码基础上的LC ACC编码器特色,但并没有像iTunes 那么多的调节功能。
LC & HE Profile:
∙Nero Burning Rom(在额外的菜单中编码文件)和附随的Wave Editor允许LC和HE AAC两种编码。
另外可以在得到Nero AAC/MP4插件。
∙RealPlayer 10 黄金版和Real Producer 10同样也包括基于Coding T echnologies执行的HE/LC AAC编码器。RP10 黄金版现在默认编码AAC成M4A,并且是一种极好的免费AAC编码解决方案。
用Real Producer编码HE AAC,你也需要helix的其他插件包。
GUIs/前端:
∙BeSweet:由于DSPguru的贡献,可以通过BeSweet编码Nero AAC。有两个非常优秀的GUIs,附带Doom9指南的OagMachine和BeSweetGUI。注意:BeSweet使用者需要确定使用更新的正式版本,更多信息请参阅Q#19。
∙foobar2000:使用nero aac编码/解码器插件(foo_nero.dll)你可以直接转换任何音频到Nero LC/HE AAC,同样有可以参考的指南。注意为了diskwriter插件你需要foobar特别版。用diskwriter插件和命令行的FAAC(可以从rarewares得到)Foobar也同样可以编码成FAAC aac。
∙HeadAC3he的新版本也可以从AC3, WA V或是任何其他HeadAC3he支持的输入格式编码到FAAC aac。
∙winLame:DeXt制作的multi-tool GUI,现在支持通过FAAC编码AAC。
其他优秀格式在128kbps与LC AAC的音质比较(感谢rjamorim)
注意lame(可用的最好mp3编码器)和vorbis在他们最新的版本中提供了更加优良的音质(同样你可以看这里)。
也注意在这次测试中使用的wma9 pro编码,是一种与标准wma9编码完全不同,并且提供更加优良音质的编码(使用在音像店和CD唱机里)并且不是向后兼容的。
低比特率和多声道编码的AAC提供了高效延展性(HE ACC),同样在低比特率中是一种最好的格式之一:其他流行格式在64kbps与HE AAC的音质比较(感谢rjamorim)
注意QT是在Quicktime中提供的LC AAC编码,He是在nero中。
继承Parametric Stereo(参数立体声)延伸(PS AAC)技术,同时使用HE AAC用于低码率的它(Nero完善中)不得不题及。在32kbps它如何与其他编码比较可以看这里。
由rjamorim总结出公共收听测试结果,在128kbps比较这些AAC编码方式可以在这里和那里得到答案。
3b,怎样在其他平台下(Linux, MAC OS 10, 其他等等)编码AAC?
FAAC和FAAD是GPL(GNU通用公共许可证)软件,可以在OS X, Linux和绝大部分unixes下编译。FAAC
编码也在avidemux, mencoder, gstreamer和其他编码工具下实现。大多数主要的多媒体distributions产品都包括这些。
普通的FAAC编译说明如下:(摘录于FAAC文档)
1,确保你已经安装autoconf, automake和libtool。为了支持mp4, libmp4v2必须也安装(包括在较老的faad2源中,或是新的FAAC cvs(Concurrent Version System/版本控制系统)源码)。
2,解压源文档:tar ar.gz
2,dir(显示列表) cd到FAAC源码
3,Run: ./bootstrap
./configure
make
make install
Binary版也同样可用于几个平台:
Debian
RPMs
4,有没有可能在转换AC3/DTS到AAC后还能保留5.1声道呢?
嗯,用Oagmachine/BeSweetGuI就可以实现。Doom9有篇相关的教材。不过,记住AC3和DTS都是有损音频格式,任何在它们基础上的转码行为都将导致更严重的音质损失。当音频转码时并且需要大幅度减小文件体积时,HE-AAC推荐使用。同样,音频转换还可以通过graphedit搭配3ivx滤镜套件(AC3->AC3 parr->AC3 filter->3ivx audio encoder->3ivx media muxer->MP4)或者foobar来实现。需要更多AC3和DTS的转码的信息请见这两种编码各自的FAQ部分。
5,目前有没有一个开源的AAC编/解码器存在呢?
FAAC和FAAD2(仅LC)就是开源的AAC编解码器。CoreAAC Directshow filter,winamp插件和许多AAC 解码器其实都是源于FAAD2,都具有解码HE-AAC和LC的能力。官方FAAC/FAAD2站点如下:
。
6,我怎么混合AAC到AVI/OGM/MKV/MP4?
AVI:AVI MUX GUI是仅有的允许混合AAC到AVI的应用软件。注意不推荐AVI作为AAC的容器格式,推荐现代的容器格式如(AAC专门容器格式)。
OGM:Ogg Mux Nic能直接混合LC AAC到OGM。对于HE-AAC,请使用3ivx滤镜套件与Graphedit。MKV:MKVtoolnix和AVI MUX GUI都能混合AAC到Matroska。
MP4:3ivx滤镜套件与Graphedit。
Nero Recode2能自动直接把DVD转换带有NeroDigital或HE AAC的MP4。其他一些支持MP4混合的软件包括Ivan&Menno和mp4UI。更多关于MP4(MPEG-4)容器格式的信息请看MP4 FAQ。
注意当从raw .aac流混合HE-AAC时,你必须在MKVtoolnix和AVImux GUI中让muxer是“AAC is SBR”。当混合.mp4时,SBR自动被侦测。
7,关于AAC回放我需要什么?
下载并安装CoreAAC DirectShow filter或3ivx audio decoder(3ivx codec内有)都能在directshow播放器杰出地回放(LC和HE都可)。关于最新的CoreAAC滤镜与winamp/foobar插件,请看在 中john33的帖子。
注意对于MP4流,在directshow播放器上回放3ivx或其他的MPEG-4分离滤镜(splitter)是必需的。对于raw AAC流,rarewares上的AACparr滤镜也是必需的。当muxing成OGM或Matroska时,适当的分离滤镜)