FFmpeg 基础库(二)音频格式

Stella981
• 阅读 768

1.2.1 常见格式
常见的音频格式有: CD 格式、 WAVE( *.WAV)、 AIFF、 AU、 MP3、 MIDI、 WMA、 RealAudio、 VQF、 OggVorbis、
AAC、 APE。

CD
CD 格式的音质是比较高的音频格式。因此要讲音频格式, CD 自然是打头阵的先锋。在大多数播放软件的“打
开文件类型”中,都可以看到*.cda 格式,这就是 CD 音轨了。标准 CD 格式也就是 44.1K 的采样频率,速率 88K/
秒, 16 位量化位数,因为 CD 音轨可以说是近似无损的,因此它的声音基本上是忠于原声的,因此如果你是一个音
响发烧友的话, CD 是你的首选。它会让你感受到天籁之音。 CD 光盘可以在 CD 唱机中播放,也能用电脑里的各种
播放软件来重放。一个 CD 音频文件是一个*.cda 文件,这只是一个索引信息,并不是真正的包含声音信息,所以不
论 CD 音乐的长短,在电脑上看到的“ .cda 文件”都是 44 字节长。注意:不能直接的复制 CD 格式的.cda 文件到
硬盘上播放,需要使用象 EAC 这样的抓音轨软件把 CD 格式的文件转换成 WAV,这个转换过程如果光盘驱动器质
量过关而且 EAC 的参数设置得当的话,可以说是基本上无损抓音频。推荐大家使用这种方法。

WAVE
WAVE( *.WAV)是微软公司开发的一种声音文件格式,它符合 PIFFResource Interchange File Format 文件规范,
用于保存 WINDOWS 平台的音频信息资源,被 WINDOWS 平台及其应用程序所支持。“ *.WAV”格式支持
MSADPCM、 CCITT A LAW 等多种压缩算法,支持多种音频位数、采样频率和声道,标准格式的 WAV 文件和 CD
格式一样,也是 44.1K 的采样频率,速率 88K/秒, 16 位量化位数,看到了吧, WAV 格式的声音文件质量和 CD 相
差无几,也是目前 PC 机上广为流行的声音文件格式,几乎所有的音频编辑软件都“认识” WAV 格式。
AIFF
AIFF( Audio Interchange File Format)格式和 AU 格式,它们都和 WAV 非常相像,在大多数的音频编辑软件中
也都支持它们这几种常见的音乐格式。
AIFF 是音频交换文件格式的英文缩写。是 APPLE 公司开发的一种音频文件格式,被 MACINTOSH 平台及其应
用程序所支持, NETSCAPE 浏览器中 LIVEAUDIO 也支持 AIFF 格式。所以大家都不常见。 AIFF 是 Apple 苹果电脑
上面的标准音频格式,属于 QuickTime 技术的一部分。这一格式的特点就是格式本身与数据的意义无关,因此受到
了 Microsoft 的青睐,并据此搞出来 WAV 格式。 AIFF 虽然是一种很优秀的文件格式,但由于它是苹果电脑上的格
式,因此在 PC 平台上并没有得到很大的流行。不过由于 Apple 电脑多用于多媒体制作出版行业,因此几乎所有的
音频编辑软件和播放软件都或多或少地支持 AIFF 格式。只要苹果电脑还在, AIFF 就始终还占有一席之地。由于
AIFF 的包容特性,所以它支持许多压缩技术。

AU
AUDIO 文件是 SUN 公司推出的一种数字音频格式。 AU 文件原先是 UNIX 操作系统下的数字声音文件。由于
早期 INTERNET 上的 WEB 服务器主要是基于 UNIX 的,所以, AU 格式的文件在如今的 INTERNET 中也是常用的
声音文件格式。
MPEG
MPEG 是动态图象专家组的英文缩写。这个专家组始建于 1988 年,专门负责为 CD 建立视频和音频压缩标准。
MPEG 音频文件指的是 MPEG 标准中的声音部分即 MPEG 音频层。目前 INTERNET 上的音乐格式以 MP3 最为常
见。虽然它是一种有损压缩,但是它的最大优势是以极小的声音失真换来了较高的压缩比。 MPEG 含有格式包括:
MPEG-1、 MPEG-2、 MPEG-Layer3、 MPEG-4
MP3
MP3 格式诞生于八十年代的德国,所谓的 MP3 也就是指的是 MPEG 标准中的音频部分,也就是 MPEG 音频层。
根据压缩质量和编码处理的不同分为 3 层,分别对应“ .mp1”/“ .mp2” /“ *.mp3”这 3 种声音文件。需要提醒大
家注意的地方是: MPEG 音频文件的压缩是一种有损压缩, MPEG3 音频编码具有 10: 1~12: 1 的高压缩率,同时
基本保持低音频部分不失真,但是牺牲了声音文件中 12KHz 到 16KHz 高音频这部分的质量来换取文件的尺寸,相《
同长度的音乐文件,用_.mp3 格式来储存,一般只有_.wav 文件的 1/10,而音质要次于 CD 格式或 WAV 格式的声音
文件。由于其文件尺寸小,音质好;所以在它问世之初还没有什么别的音频格式可以与之匹敌,因而为*.mp3 格式
的发展提供了良好的条件。直到现在,这种格式还是风靡一时,作为主流音频格式的地位难以被撼动。但是树大招
风, MP3 音乐的版权问题也一直是找不到办法解决,因为 MP3 没有版权保护技术,说白了也就是谁都可以用。
MP3 格式压缩音乐的采样频率有很多种,可以用 64Kbps 或更低的采样频率节省空间,也可以用 320Kbps 的标
准达到极高的音质。用装有 Fraunhofer IIS Mpeg Lyaer3 的 MP3 编码器(现在效果最好的编码器)MusicMatch

Jukebox
6.0 在 128Kbps 的频率下编码一首 3 分钟的歌曲,得到 2.82MB 的 MP3 文件。采用缺省的 CBR(固定采样频率)技
术可以以固定的频率采样一首歌曲,而 VBR(可变采样频率)则可以在音乐“忙”的时候加大采样的频率获取更高
的音质,不过产生的 MP3 文件可能在某些播放器上无法播放。把 VBR 的级别设定成为与前面的 CBR 文件的音质
基本一样,生成的 VBR MP3 文件为 2.9MB。
MP3 是到 2008 年止使用用户最多的有损压缩数字音频格式了。它的全称是 MPEG(MPEG:
MovingPictureExpertsGroup)AudioLayer-3,刚出现时它的编码技术并不完善,它更像一个编码标准框架,留待人们
去完善。早期的 MP3 编码采用的的是固定编码率的方式( CBR),看到的 128KBPS,就是代表它是以 128KBPS 固
定数据速率编码——你可以提高这个编码率,最高可以到 320KBPS,音质会更好,自然,文件的体积会相应增大。
因为 MP3 的编码方式是开放的,可以在这个标准框架的基础上自己选择不同的声学原理进行压缩处理,所以,
很快由 Xing 公司推出可变编码率的压缩方式( VBR)。它的原理就是利用将一首歌的复杂部分用高 bitrate 编码,简
单部分用低 bitrate 编码,通过这种方式,进一步取得质量和体积的统一。当然,早期的 Xing 编码器的 VBR 算法很
差,音质与 CBR(固定码率)相去甚远。但是,这种算法指明了一种方向,其他开发者纷纷推出自己的 VBR 算法,
使得效果一直在改进。目前公认比较好的首推 LAME,它完美地实现了 VBR 算法,而且它是是完全免费的软件,
并且由爱好者组成的开发团队一直在不断的发展完善。
而在 VBR 的基础上, LAME 更加发展出 ABR 算法。 ABR( AverageBitrate)平均比特率,是 VBR 的一种插值
参数。 LAME 针对 CBR 不佳的文件体积比和 VBR 生成文件大小不定的特点独创了这种编码模式。 ABR 在指定的
文件大小内,以每 50 帧( 30 帧约 1 秒)为一段,低频和不敏感频率使用相对低的流量,高频和大动态表现时使用
高流量,可以做为 VBR 和 CBR 的一种折衷选择。
MP3 问世不久,就凭这较高的压缩比 12:1 和较好的音质创造了一个全新的音乐领域,然而 MP3 的开放性却最
终不可避免的导致了版权之争,在这样的背景之下,文件更小,音质更佳,同时还能有效保护版权的 MP4 就应运
而生了。 MP3 和 MP4 之间其实并没有必然的联系,首先 MP3 是一种音频压缩的国际技术标准,而 MP4 却是一个
商标的名称。

MPEG-4
MPEG-4 标准是由国际运动图像专家组于 2000 年 10 月公布的一种面向多媒体应用的视频压缩标准。它采用了
基于对象的压缩编码技术,在编码前首先对视频序列进行分析,从原始图像中分割出各个视频对象,然后再分别对
每个视频对象的形状信息、运动信息、纹理信息单独编码,并通过比 MPEG-2 更优的运动预测和运动补偿来去除连
续帧之间的时间冗余。其核心是基于内容的尺度可变性(Content-basedscalability),可以对图像中各个对象分配优先
级,对比较重要的对象用高的空间和时间分辨率表示,对不甚重要的对象(如监控系统的背景)以较低的分辨率表示,
甚至不显示。因此它具有自适应调配资源能力,可以实现高质量低速率的图像通信和视频传输。 MPEG-4 以其高质
量、低传输速率等优点已经被广泛应用到网络多媒体、视频会议和多媒体监控等图像传输系统中。中国内外大部分
成熟的 MPEG-4 应用均为基于 PC 层面的客户端和服务器模式,应用在嵌入式系统上的并不多,且多数嵌入式
MPEG-4 解码系统大多使用商业的嵌入式操作系统,如 WindowsCE、 VxWorks 等,成本高、灵活性差。如以嵌入式
Linux 作为操作系统不仅开发方便,且可以节约成本,并可以根据实际情况进行裁减,占用资源少、灵活性强,网
络性能好,适用范围更广。

MIDI

MIDI( Musical Instrument Digital Interface)格式被经常玩音乐的人使用, MIDI 允许数字合成器和其他设备交
换数据。 MID 文件格式由 MIDI 继承而来。 MID 文件并不是一段录制好的声音,而是记录声音的信息,然后在告诉
声卡如何再现音乐的一组指令。这样一个 MIDI 文件每存 1 分钟的音乐只用大约 5~10KB。 MID 文件主要用于原始
乐器作品,流行歌曲的业余表演,游戏音轨以及电子贺卡等。 .mid 文件重放的效果完全依赖声卡的档次。 .mid 格
式的最大用处是在电脑作曲领域。 *.mid 文件可以用作曲软件写出,也可以通过声卡的 MIDI 口把外接音序器演奏的
乐曲输入电脑里,制成*.mid 文件。

WMA
WMA (Windows Media Audio) 格式是来自于微软的重量级选手,后台强硬,音质要强于 MP3 格式,更远胜于
RA 格式,它和日本 YAMAHA 公司开发的 VQF 格式一样,是以减少数据流量但保持音质的方法来达到比 MP3 压
缩率更高的目的, WMA 的压缩率一般都可以达到 1: 18 左右, WMA 的另一个优点是内容提供商可以通过 DRM
( Digital Rights Management)方案如 Windows Media Rights Manager 7 加入防拷贝保护。这种内置了版权保护技术
可以限制播放时间和播放次数甚至于播放的机器等等,这对被盗版搅得焦头乱额的音乐公司来说可是一个福音,另
外 WMA 还支持音频流(Stream)技术,适合在网络上在线播放, 作为微软抢占网络音乐的开路先锋可以说是技术领
先、风头强劲,更方便的是不用象 MP3 那样需要安装额外的播放器,而 Windows 操作系统和 Windows Media Player
的无缝捆绑让你只要安装了 windows 操作系统就可以直接播放 WMA 音乐,新版本的 Windows Media Player7.0 更是
增加了直接把 CD 光盘转换为 WMA 声音格式的功能,在新出品的操作系统 Windows XP 中, WMA 是默认的编码
格式,大家知道 Netscape 的遭遇,现在“狼”又来了。 WMA 这种格式在录制时可以对音质进行调节。同一格式,
音质好的可与 CD 媲美,压缩率较高的可用于网络广播。虽然现在网络上还不是很流行,但是在微软的大规模推广
下已经是得到了越来越多站点的承认和大力支持,在网络音乐领域中直逼*.mp3,在网络广播方面,也正在瓜分 Real
打下的天下。因此,几乎所有的音频格式都感受到了 WMA 格式的压力。
微软官方宣布的资料中称 WMA 格式的可保护性极强,甚至可以限定播放机器、播放时间及播放次数,具有相
当的版权保护能力。应该说, WMA 的推出,就是针对 MP3 没有版权限制的缺点而来——普通用户可能很欢迎这种
格式,但作为版权拥有者的唱片公司来说,它们更喜欢难以复制拷贝的音乐压缩技术,而微软的 WMA 则照顾到了
这些唱片公司的需求。
除了版权保护外, WMA 还在压缩比上进行了深化,它的目标是在相同音质条件下文件体积可以变的更小(当
然,只在 MP3 低于 192KBPS 码率的情况下有效,实际上当采用 LAME 算法压缩 MP3 格式时,高于 192KBPS 时普
遍的反映是 MP3 的音质要好于 WMA)。

RealAudio
RealAudio 主要适用于在网络上的在线音乐欣赏,现在大多数的用户仍然在使用 56Kbps 或更低速率的 Modem,
所以典型的回放并非最好的音质。有的下载站点会提示你根据你的 Modem 速率选择最佳的 Real 文件。 real 的的文
件格式主要有这么几种:有 RA( RealAudio)、 RM( RealMedia, RealAudio G2)、 RMX( RealAudio Secured),还有
更多。这些格式的特点是可以随网络带宽的不同而改变声音的质量,在保证大多数人听到流畅声音的前提下,令带
宽较富裕的听众获得较好的音质。
近来随着网络带宽的普遍改善, Real 公司正推出用于网络广播的、达到 CD 音质的格式。如果你的 RealPlayer
软件不能处理这种格式,它就会提醒你下载一个免费的升级包。许多音乐网站 提供了歌曲的 Real 格式的试听版本。
现在最新的版本是 RealPlayer 9.0,第 39 期《电脑报》也对 RealPlayer 9.0 作了详细的介绍,这里不再赘述。

VQF
雅马哈公司另一种格式是*.vqf,它的核心是减少数据流量但保持音质的方法来达到更高的压缩比, VQF 的音频
压缩率比标准的 MPEG 音频压缩率高出近一倍,可以达到 18:1 左右甚至更高。也就是说把一首 4 分钟的歌曲( WAV
文件)压成 MP3,大约需要 4MB 左右的硬盘空间,而同一首歌曲,如果使用 VQF 音频压缩技术的话,那只需要
2MB 左右的硬盘空间。因此,在音频压缩率方面, MP3 和 RA 都不是 VQF 的对手。相同情况下压缩后 VQF 的文件
体积比 MP3 小 30%~50%,更便利于网上传播,同时音质极佳,接近 CD 音质(16 位 44.1kHz 立体声)。可以说技术
上也是很先进的,但是由于宣传不力,这种格式难有用武之地。 *.vqf 可以用雅马哈的播放器播放。同时雅马哈也提
供从_.wav 文件转换到_.vqf 文件的软件。 此文件缺少特点外加缺乏宣传。
当 VQF以 44KHz、80kbit/s的音频采样率压缩音乐时,它的音质优于 44KHz、128kbit/s的 MP3,当 VQF以 44KHz、
96kbit/s 的频率压缩时,它的音质几乎等于 44KHz、 256kbit/s 的 MP3。经 SoundVQ 压缩后的音频文件在进行回放效
果试听时,几乎没有人能听出它与原音频文件的差异。

VQF 音频文件个格式
播放 VQF 对计算机的配置要求仅为奔腾 75 或更高,当然如果您用奔腾 100 或以上的机器, VQF 能够运行得更
加出色。实际上,播放 VQF 对 CPU 的要求仅比 Mp3 高 5~10%左右。
VQF 即 TwinVQ 技术虽然是由 NTT 和 YAMAHA 开发的,但它们的应用软件都是免费的。只是 NTT 和 YAMAHA
并没有公布 VQF 的源代码。

OggVorbis
OggVorbis 是一种新的音频压缩格式,类似于 MP3 等现有的音乐格式。但有一点不同的是,它是完全免费、开
放和没有专利限制的。 Vorbis 是这种音频压缩机制的名字,而 Ogg 则是一个计划的名字,该计划意图设计一个完全
开放性的多媒体系统。目前该计划只实现了 OggVorbis 这一部分。
OggVorbis 文件的扩展名是*.OGG。这种文件的设计格式是非常先进的。这种文件格式可以不断地进行大小和
音质的改良,而不影响旧有的编码器或播放器。
VORBIS 采用有损压缩,但通过使用更加先进的声学模型去减少损失,因此,同样位速率(BitRate)编码的 OGG
与 MP3 相比听起来更好一些。另外,还有一个原因, MP3 格式是受专利保护的。如果你想使用 MP3 格式发布自己
的作品,则需要付给 Fraunhofer(发明 MP3 的公司)专利使用费。而 VORBIS 就完全没有这个问题。
对于乐迷来说,使用 OGG 文件的显著好处是可以用更小的文件获得优越的声音质量。而且,由于 OGG 是完全
开放和免费的,制作 OGG 文件将不受任何专利限制,可望可以获得大量的编码器和播放器。这也是为何现在 MP3
编码器如此少而且大多是商业软件的原因,因为 Fraunhofer 要收取专利使用费。 Vorbis 使用了与 MP3 相比完全不同
的数学原理,因此在压缩音乐时受到的挑战也不同。同样位速率编码的 Vorbis 和 MP3 文件具有同等的声音质量。《

Vorbis 具有一个设计良好、灵活的注释,避免了象 MP3 文件的 ID3 标记那样烦琐的操作; Vorbis 还具有位速率缩放:
可以不用重新编码便可调节文件的位速率。 Vorbis 文件可以被分成小块并以样本粒度进行编辑; Vorbis 支持多通道;
Vorbis 文件可以以逻辑方式相连接等。
AMR
AMR 全称 Adaptive Multi-Rate,自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的
压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的。
分类
1. AMR: 又称为 AMR-NB,相对于下面的 WB 而言,语音带宽范围: 300-3400Hz, 8KHz 抽样
2. AMR-WB:AMR WideBand,
语音带宽范围: 50-7000Hz 16KHz 抽样
“ AMR-WB”全称为“ Adaptive Multi-rate - Wideband”,即“自适应多速率宽带编码”,采样频率为 16kHz,是
一种同时被国际标准化组织 ITU-T 和 3GPP 采用的宽带语音编码标准,也称为 G722.2 标准。 AMR-WB 提供语音带
宽范围达到 50~7000Hz,用户可主观感受到话音比以前更加自然、舒适和易于分辨。
与之作比较,现在 GSM 用的 EFR(Enhenced Full Rate,增强型全速率编码)采样频率为 8kHz,语音带宽为 200~
3400Hz。
AMR-WB 应用于窄带 GSM(全速信道 16k, GMSK)的优势在于其可采用从 6.6kb/s, 8.85kb/s 和 12.65kb/s 三种编
码,当网络繁忙时 C/I 恶化,编码器可以自动调整编码模式,从而增强 QoS。在这种应用中, AMR-WB 抗扰度优于
AMR-NB。
AMR-WB 应用于 EDGE、 3G 可充分体现其优势。足够的传输带宽保证 AMR-WB 可采用从 6.6kb/s 到 23.85kb/s
共九种编码,语音质量超越 PSTN 固定电话。

1.2.2 比较
作为数字音乐文件格式的标准, WAV 格式容量过大,因而使用起来很不方便。因此,一般情况下我们把它压缩
为 MP3 或 WMA 格式。压缩方法有无损压缩,有损压缩,以及混成压缩。 MPEG,JPEG 就属于混成压缩,如果把压
缩的数据还原回去,数据其实是不一样的。当然,人耳是无法分辨的。因此,如果把 MP3, OGG 格式从压缩的状
态还原回去的话,就会产生损失。然而, APE 格式即使还原,也能毫无损失地保留原有音质。所以, APE 可以无损
失高音质地压缩和还原。在完全保持音质的前提下, APE 的压缩容量有了适当的减小。拿一个最为常见的 38MBWAV
文件为例,压缩为 APE 格式后为 25MB 左右,比开始足足少了 13MB。而且 MP3 容量越来越大的今天, 25M 的歌
曲已经算不上什么庞然大物了。以 1GB 的 mp3 来说可以放入 4 张 CD,那就是 40 多首歌曲,已经足够了!
MP3 支持格式有 MP3 和 WMA。 MP3 由于是有损压缩,因此讲求采样率,一般是 44.1KHZ。另外,还有比特率,
即数据流,一般为 8—320KBPS。在 MP3 编码时,还看看它是否支持可变比特率( VBR),现在出的 MP3 机大部分
都支持,这样可以减小有效文件的体积。 WMA 则是微软力推的一种音频格式,相对来说要比 MP3 体积更小。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这