AAC和MP3在码率压缩上的一些事
最近公司App用户反馈,我们使用的mp3文件太耗流量。显然是我们mp3的体积太大。 怎么处理?
- 我们准备了一个20分钟的音频原文件
- 准备一个音频处理软件(Mac版) Adobe Audition CC 2017 密码:2uqj
下面我们看一个表格,这个表示对比,这是我对同一音频,进行压缩对比后的结果。
文件类型 | 格式 | 码率 | 大小 | 音质变化程度 |
---|---|---|---|---|
原文件 | mp3 | 52.9M | 不明显 | |
第三方 | mp3 | 192kbps | 31.7M | 不明显 |
测试1 | mp3 | 192kbps | 31.8M | 不明显 |
测试2 | acc | 192kbps | 32.1M | 不明显 |
测试3 | mp3 | 128kbps | 21.2M | 不明显 |
测试4 | acc | 128kbps | 21.5M | 不明显 |
测试5 | mp3 | 96kbps | 15.9M | 不明显 |
测试6 | acc | 96kbps | 16.3M | 不明显 |
测试7 | mp3 | 64kbps | 10.7M | 高音消失,高音稍微变化 |
测试8 | acc | 64kbps | 11.0M | 稍微有变化,可以忽略 |
测试9 | mp3 | 32kbps | 5.4M | 音调色音调变化明显 |
测试10 | acc | 32kbps | 5.50M | 音质变化可听出 |
测试11 | mp3 | 20kbps | 3.4M | 声音变化明显,声音变低沉 |
测试12 | acc | 20kbps | 3.50M | 音质相对变差,稍有影响 |
-
现在我们讲解下表格,有表格可以看出,我们现场录制的22分钟原文件的mp3大小是52.9M,这个体积已经很大了。
-
第三方压缩提供个我们线上的mp3大小是31.7M。(ps:其实也不小)
-
那我自己用软件压缩,不同的码率,压缩后,体积依次减小。
-
现在可以看出,我们52.9M的文件可以被压缩到3.4M
那么问题来了,我们为什么不直接压缩到3.4M呢,这样体积小,加载快,省流量,省时间。其实问题很简单,小体积,音质差啊,不能让用户听音质太差的音频啊。那什么是合理区间呢?
下面我们看看mp3压缩后,图谱变化:
-
MP3:192kbps:如图发生范围超过10KHz,高音区保存完整。
192kbps的mp3图谱
-
MP3:128kbps:如图发生范围超过10KHz,高音区保存完整,看不错区别。
128kbps的mp3图谱 -
MP3:64kbps:我们跳过96kbps,直接看64kbps,如图发生范围超过10KHz,高音区部分丢失,10KHz的地方有一条齐齐的线,有点像小草苗被割草机去掉了头,长的高的,脑袋没有了,如果看不清,请看下面20kbps的。
这里写图片描述 -
MP3:20kbps:如图发生范围超过10KHz,高音区失去了,在4kHz的以上的频率全部被舍弃,保留了4KHz以下的音频信息,这个更像被割过的小草吧,脑袋一个不剩,齐刷刷的。被割去的就是高音部分,所以听着声音是低沉的,高音不存在了。
这里写图片描述
看完了mp3的,我们来看看aac的把,
-
AAC:192kbps:如图10KHz左右都保存完好,音质无变化。
这里写图片描述 -
AAC:64kbps:如图我们跳过128kbps,96kbps,直接到64kbps,还记得我们MP3的64kbps吗?MP3在10KHz以上的部分有失去信息,而AAC保存了下来。
这里写图片描述 -
AAC:20kbps:如图我们跳到了20kbps,高音区忍让有所保留,所以音质变化不太明显,相比MP3的变化就很明显,因为失去了大量的高音区。
这里写图片描述
那么为什么回事这样的,这个与MP3和AAC的压缩算法有关,压缩,一定是要失去一部分信息的,也就是我们把192kbps的信息在单位时间内压缩到20kbps,也就是我们所说的码率懂192降到了20,所以我们文件的体积从30M减少到了3M多,码率降低10倍,体积也降低10倍。码率降低一定是会失去音频写的的信息的,但是因为压缩算法不同,抛弃的信息就不同。那aac在压缩10倍后,音质是不是没有变差,不是的,音质也差了,但是相比MP3不是那么明显。如果用耳朵去听,64kbps的AAC和92kbps的音质区别,很难分辨出来,或者说分辨不出。
那么如果你是听音乐,为了更好的听觉体验,建议192kbps-128kbps的文件,当然再大点也没问题。这样可以尽量保存完整的低音和高音信息,可以带来更好的听觉体验。不建议使用128kbps以下的MP3或者AAC,或丢失音乐信息。
那么演讲或者课程类的语言文件呢?这个要看人所能听到的频率范围。那一个人能听到的频率范围是多少呢?
28岁时,22——17000Hz
40岁时,25——14000Hz
60岁时,35——11000Hz
可以看出一个人能听到的频率是在:20 ---20KHZ,所以我们10kHz左右的信息是不可以失去的,如果大量失去,我们就能感知到。
结论:
我们说了这么多,总要有个结论吧,对于我们APP而言,是在线语音课程,所以我们两者都要兼顾,要文件尽可能小,并且要保真音质不会发生明显变化,我们确定选择64kbps的AAC文件作为我们播放的格式。这个参数下,我们的音频课程音质变化不明显,音质可以兼顾到,提交从50M的原文件被压缩到了10M,相当于2分钟的音乐用1M的大小,这样大大节省了用户的流量。并最大可能保证音质。(ps:如果你们觉得只要音质不保险,那96kbps,最够保险了;如果是MP3,那就用96kbps吧,如果质量优先,体积第二,那就128kbps吧)