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,高音区保存完整。
MP3:128kbps:如图发生范围超过10KHz,高音区保存完整,看不错区别。
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吧)
aac和mp3在码率压缩的一些事相关推荐
- 怎么把aac转化为mp3,aac转mp3的3个方法
怎么把aac转化为mp3?当你有一个无法播放的音乐文件时,这可能是令人难过的.当我们在整理我们的音乐文件的时候,发现有些音乐格式在任何时候都不能听它们,那还有什么意义呢?当一首歌曲是aac格式的时候, ...
- linxu mp3转aac, aac转mp3, mp4转mp3 mp4转aac
mp3转aac 工具准备: mpg123 (sudo yum install mpg123 -y) neroAacEnc (wget http://ftp6.nero.com/tools/NeroAA ...
- aac转mp3格式转换器怎么使用
aac格式是一种专为声音数据设计的文件压缩格式,与Mp3不同,它采用了全新的算法进行编码,更加高效,具有更高的"性价比".那么有什么方法是可以把aac转换成mp3格式呢?最简单的方 ...
- ffmpeg 解码音频(aac、mp3)输出pcm文件
ffmpeg 解码音频(aac.mp3)输出pcm文件 播放pcm可以参考: ffplay -ar 48000 -ac 2 -f f32le out.pcm main.c #include <s ...
- 怎么把aac转mp3格式?这几种转换方式建议学习一下
怎么把aac转mp3格式?AAC文件是一种常见的音频文件格式,在移动设备等场景中广泛应用.然而,由于不同播放设备的兼容性不同,在一些情况下可能需要将AAC文件转换成MP3格式以满足播放的需求.将AAC ...
- AAC转MP3怎么用音频转换器转换
想必大家在制作音乐的过程中都会需要去使用音频转换器来制作美妙的歌声和带有节奏的音频,那么对他们来说音频转换器可以说可以说是一个神奇的东西,使用它的人可以快速的将音频进行转换,提高我们转换的效率,下面小 ...
- aac转化为mp3,aac转mp3方法
aac转化为mp3,aac转mp3方法!aac是一种发布比较早的音频文件格式,aac基于MPEG-2的音频编码技术,aac音频的音质比mp3要好一些,而且文件的体积也相对较小.但是aac格式的音频在使 ...
- 音频编码分析:AAC、MP3、Opus
目录 AAC 一.定义 二.特点 1.优点 2.缺点 三.应用 MP3 一.定义 二.特点 1.优点 2.缺点 三.应用 OPUS 一.定义 二.特点 1.优点 2.缺点 三.应用 AAC 一.定义 ...
- 【视音频编程学习】FFmpeg十个常用命令 || pcm与wav、amr、aac、mp3互转
总结一下经常使用到的一些ffmpeg命令 1)pcm2wav ffmpeg -f s16le -ar 32000 -ac 1 -i test.pcm out.wav 2)pcm2amr ffmpeg ...
- 音频编码方案之间音质比较(AAC,MP3,WMA等)
EBU(European Broadcasting Union, 欧洲广播联盟)在2003年对不同的音频编码方案进行了低码率下的主观评价实验.测试的编码方案包括AAC+(HE-AAC),MP3PRO, ...
最新文章
- 移动项目开发笔记(.Net下的观察者(Observer)模式)
- ASP.NET协作应用集成到trsids身份验证服务器的开发流程
- 关于使浏览器崩溃的代码尝试
- Geomagic Freeform Plus 2019中文版
- Windows程序设计:MFC 、Winform 和 WPF 比较
- 运行 YunYang1994/tensorflow-yolov3 所遇到的一些问题记录
- 总结数据库设计中的14个技巧
- 多线程调用同一个方法,局部变量会共享吗
- java基础----String、StringBuffer、StringBuilder
- 无法连接上 cn.archive.ubuntu.com:80 (123.129.214.98)。 - connect (111: 拒绝连接)
- 与context的关系_你还不知道 OpenGL ES 和 EGL 的关系?
- jmu-python-函数-找钱_python函数题 - osc_wv1mxwu2的个人空间 - OSCHINA - 中文开源技术交流社区...
- c语言直流电机控制实验报告,直流电机实验报告.docx
- 【图解CAN总线】-4-详述CANFD和Classic CAN的Frame帧结构差异
- WEB UI设计尺寸规范
- 神经网络与深度学习pdf下载
- 速腾聚创三维激光雷达 实现cartographer 建图复现工作(代完成)
- 【数学建模】DIY人脸识别(原创)
- Balsamiq Mockups的使用
- Django 模型继承以及 model related_name 使用