
网络音频编解码器
随着视频流和视频通话的兴起,对良好音频质量的需求变得比以往任何时候都重要。本文将概述网络上使用的不同音频编解码器,以及它们之间的比较。
音频编解码器
音频编解码器是压缩或解压数字音频数据的软件或硬件组件。编解码器是 "编码器-解码器 "的简称,指的是对音频数据进行编码以便传输或存储,并解码以便播放的过程。
音频编解码器可用于减小音频文件的大小,使其更易于传输或存储。压缩是通过去除音频信号中的冗余或无关数据来实现的,同时尽可能保持音频信号的整体质量。
WAV
Waveform Audio Format (WAV) 由微软和 IBM 于 1991 年联合开发。音频数据通常以线性脉冲编码调制(LPCM)格式存储,未经压缩。 线性脉冲编码调制(LPCM)格式。LCPM 也用于音频 CD。 它存储双声道 LPCM 音频,采样频率为 44.1 kHz,每次采样 16 位。因此,它的质量很高,但文件大小也很大。
由于文件大小较大,它不适合用于音频流。不过,它仍可用于音频编辑和存档。
它还可以在 INFO 块中包含元数据。WAV 是一种音频文件格式,也是其他音频格式的容器格式。
MP3
MP3 是一种数字音频编码格式,由德国弗劳恩霍夫协会于 1991 年创建。它是一种有损音频压缩格式。 因此,与其他格式(如 WAV)相比,文件大小大大减小。不过,质量也有所下降。 它使用心理声学建模来去除人耳无法感知的音频部分。
MP3 是网络上最流行的音频格式。所有主流浏览器都支持这种格式。所有主流操作系统也都支持。 现在,MP3 在欧盟和美国是无专利的。
审咨委
AAC (Advanced Audio Coding)是一种有损音频压缩格式。它由贝尔、弗劳恩霍夫、索尼等多家公司于 1997 年联合开发。它被设计为 MP3 格式的后继格式。
AAC 是一种有损音频压缩格式。许多苹果产品(如 iTunes 和 iPod)都使用这种格式。安卓系统也支持这种格式。 虽然浏览器对 AAC 的支持不如 MP3,但所有主流浏览器都支持这种格式。由于专利问题,火狐浏览器只在操作系统支持 AAC 格式。Chromium 不支持 AAC。
它是一个开放标准,但不是免费的。
FLAC
FLAC (Free Lossless Audio Codec)是一种无损音频压缩格式。它由 Josh Coalson 于 2001 年开发,现由 Xiph.org 基金会管理。 由于是无损压缩,它不会降低音频质量。因此,它非常适合音频存档和对音频质量要求较高的场合。
FLAC 不受任何专利保护,并且是开源和免版税的。 所有主流浏览器(Opera 除外)和操作系统都支持 FLAC 播放。
ALAC
ALAC (Apple Lossless Audio Codec) 是一种无损音频压缩格式。它由苹果公司于 2004 年开发。它用于 iTunes 和 iPod 等苹果产品。 该格式由苹果公司专有开发,现已成为开源格式。但跨平台支持并不理想。 在浏览器方面,只有 Safari 浏览器支持该格式。操作系统方面,只有 macOS 和 iOS 支持。
G.711
G.711G.711 是专门为 1972 年的电话系统设计的。G.711 可传递 300-3400 Hz 范围内的音频信号,并以每秒 8000 次的采样率对其进行采样。因此,它只能捕捉人声,其他所有信息都会被丢弃。 该标准由 ITU-T 组织管理。所有专利均已过期,可免费使用。
目前,所有主流网络浏览器都支持这种与 WebRTC 相关的编解码器。
G.722
G.722 是 1988 年开发的一种 ITU 7 kHz 音频编解码器。与 G.711 一样,它主要用于电话系统。 在 G.722 中,音频信号使用自适应差分脉冲编码调制(ADPCM)进行编码,其中每个采样不是用绝对值表示,而是用一个值表示新采样与前一个采样的差异程度。
目前,所有主流网络浏览器都支持与 WebRTC 相关的 G.722。
Vorbis
Xiph.org 基金会开发了Vorbis作为 MP3 的开源替代格式。它最初于 2000 年发布,是一种有损音频压缩格式。 根据编码时使用的质量设置,产生的比特率从 45 kbps 到 500 kbps 不等。
由于没有大公司的资金支持,它不像 MP3 那样得到广泛支持。不过,除 Safari 外,所有主流浏览器都支持它。
Vorbis 通常用于 Ogg 或 WebM 容器格式。
Opus
如 Vorbis、Opus 也是由 Xiph.org 基金会开发的。它被誉为 Vorbis 的后继者,在多个方面对 Vorbis 进行了改进。 尤其是它的低延迟特性使其成为实时通信的理想选择。它是一种很好的通用音频编解码器,既能有效处理语音等低复杂度音频,也能处理音乐和其他高复杂度声音。 作为一种编解码器,它是免费开源的。它也没有专利。IETF 将其标准化为 RFC 6716。
Opus 支持所有主流浏览器。它还可用于 WebRTC。所有主流操作系统都支持它,尽管 在不同的容器中。
结论
如您所见,音频格式有很多种。每种格式都有自己的优缺点。 例如,MP3 是最流行的格式,但它不是开源的。对于语音应用,G.711 和 G.722 是不错的选择。 但通用的 Opus 编解码器可能是大多数应用的最佳选择,因为它是免费的、开源的、无专利的,并受现代浏览器的支持。 支持。
参考资料
-
MDN Web Audio Codec Guide: https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Audio_codecs
-
Wikipedia Comparison of Audio Coding Formats: https://en.wikipedia.org/wiki/Comparison_of_audio_coding_formats