对于同一段音频,在保证同等音质前提下,AAC 文件的压缩率普遍高于 MP3 文件,这也就意味着同等音质下,AAC的文件大小要比MP3的小。在直播的过程中,由于还有视频等其它信息的传输,因此音频的传输信道较小,带宽也较低,即便传输AAC,也要消耗很长的时间。那么,是否还有比AAC压缩率更高的编码?且在保证同等音质下,尽可能快的传输音频呢?
这便是AAC_HE。AAC_HE是 AAC 编码的一种进阶版本,AAC_HE混合了AAC与SBR(Spectral Band Replication(频段复制))技术。AAC_HE是主流音频流媒体编解码器,所有主要的流媒体平台都支持它,包括Flash、Windows Media Player以及iTunes。苹果HLS、微软Smooth Streaming等成熟的http适配流媒体系统也是基于AAC系列编解码器。
对于音频直播、点播类的场景应用,需要对音质进行高保真存储,同时将数据大小缩减至合理范围。在七牛云平台上,积累了很多迫切需要 AAC_HE 的场景客户,如在线音频教育类,还有广播类、音乐类应用。以一个音乐类的直播社区为例,为用户输出高品质的声音是关键,但一般在线音视频都会经过有损压缩。通过调用七牛云 avthumb 接口,并设定 /audioProfile 参数来启用 AAC_HE 压缩算法,可以将MP3或者AAC音频文件转制成具有更高压缩比的音频文件。通常,同等音质下的压缩率,存在AAC_HE>AAC>MP3 的关系。
在音乐类直播社区里,当用户遇到好听的歌曲有可能会产生分享的行为。通过七牛云的融合CDN服务可以达到最佳的覆盖和速度,充分满足用户的试听体验。更小的音频文件意味着流量更小,下载速度更快,用户体验得到有效改进。此外,对于直播类的服务,AAC_HE 也是最主要的音频编码格式。
那么,如何将普通音频通过七牛云的音视频处理服务将音频转码为AAC_HE的音频呢?概括起来包含:
l 上传任意一段音频文件到七牛空间中;
l 使用七牛的 qrsctl 工具 (qrsctl 是根据七牛云API实现的一个简易命令行辅助工具)或者 Qiniulab 工具 (Windows平台下的测试七牛云API的图形化界面客户端工具) 将音频进行转码;
l 直接在七牛空间中搜索处理结果的音频文件,获取外链即可播放;
我们挑选了一首音域较广、声音元素较为复杂的曲子《行星组曲之木星》,通过测试后发现:
* MP3: https://itisatest.qnssl.com/Jupiter.mp3,7297149 字节
* AAC: https://itisatest.qnssl.com/Jupiter.aac,5698336 字节
* AAC_HE: https://itisatest.qnssl.com/Jupiter.aac_he.aac, 3657703 字节
以 MP3 为基准,AAC 相对于 MP3 减小了 21.91% 的大小,而 AAC_HE 相对于 MP3 减小了近 50%,而实际声音效果几乎完全一致。
详细操作可以参照七牛AAC_HE编码格式转码指南:
https://itisatest.qnssl.com/Qiniu_AAC_HE_Opration_Guide.pdf