术语多媒体( multimedia )包含我们在 Web 页面上看到和听到的一切内容:音频、视频和动画,以及静态图像和文本。
AAC ( Advanced Audio Coding ,高级音频编码)
于 1997 年标准化,基于 MPEG-2 的音频编码技术,当时苹果将其作为 iTunes 的默认存储格式,因此而得以举世闻名并广为应用。 AAC 是由 Fraunhofer IIS 、杜比实验室、 AT&T 、 Sony 等公司共同开发的,意在取代 MP3 格式。自 2000 年 MPEG-4 标准出现之后, AAC 重新集成了 MPEG-4 的特性,加入了 SBR 技术和 PS 技术,为了与之前的 MPEG-2 AAC 相区别,新一代的 AAC 又被称为 MPEG-4 AAC 。 AAC 可以按任意比特率进行编码,通常情况下压缩比为 18:1 ,比 MP3 胜出很多。而 MP3 只能将比特率限制在一定范围内,即 320Kbps 之内。 AAC 理论上能够编码高达 48 个声道,而且支持自定义多个配置文件,以适应不同配置的计算机和不同速率的网络环境。如果使用高配,则能够在相同比特率下提高音质,但同时意味着编解码会比较费时。 目前,苹果产品(包括 iPod 、 Appler TV 、QuickTime 等)、 Sony Walkman 、任天堂 NDSi 和魅族 M8等 MP3 播放器都支持 AAC 。此外计算机上如果安装过 AAC 解码器,则很多音乐播放软件也都能支持 AAC ,如苹果的 iTunes 。 AAC 在移动电话领域的支持度已经很普遍,诺基亚、索尼爱立信、摩托罗拉等品牌均在其中高端产品中支持 AAC 。
MP3 于 1991 年标准化,最多支持两个声道,并且可以被编码为不同的比特率,范围为 32Kbps~320Kbps ,典型的比特率介于 128Kbps~320Kbps ,而 CD 上未压缩的音频比特率为 1411.2Kbps 。 MP3 可以在文件编码时实现动态改变比特率,即使用"可变码率"( VBR )技术,在声音变化小的部分使用较小的比特率,声音变化较大的部分使用较大的比特率,方法是将音频切分为比特率不同的帧。 MP3 并未规定一个精确的编码规范,却详细地定义了解码算法与文件格式。在这种情况下,尽管编码方式非常多,却都可以使用同一播放器解码。在高比特率编码方面表现比较好并广泛被采用的编码器如 LAME ,在低比特率编码上却未必表现良好。 MP3 格式的专利授权被很好地保护起来,主要是在美国和日本,不包括欧盟国家。专利保护限制了一些厂商在相关软件方面对 MP3 格式的支持,例如,微软公司倾向于发展自身的 Windows Media 格式,以避免与 MP3 相关的专利授权问题。
Ogg Vorbis
Ogg Vorbis 也简称 Vorbis , Ogg 是指一种文件格式,或是一种"容器",自由而且开放标准,在其中可以放入各式各样的编解码器。 Ogg Vorbis 指的就是将 Vorbis 编码的音效包含在 Ogg 的容器中所形成的格式。后来 Ogg 通常指 Ogg Vorbis 这种音频文件格式,而在之前, .ogg 这一扩展名被用在任何 Ogg 支持格式下的内容,直到 2007 年才决定只留给 Vorbis 使用。 Vorbis 没有专利保护,因此得以在众多 Linux 发行版中直接播放。 Vorbis 之所以开放源代码而且免专利使用费,就是为了与需要专利使用费的 MP3 和 AAC 一争高下。
H.264 (或称" MPEG-4 第十部分"、" MPEG-4 AVC "、" MPEG-4 高级视频编码")是由联合视频组( JVT , Joint Video Team )提出的高度压缩数字视频编解码器标准,于 2003 年实现标准化,其最初目标为以较低的比特率提供更好的视频质量,同时能够支持一切设备。
H.264 比以前的编解码器更能有效地进行编码,并能够适应不同的网络环境,它最大的优势是具有很高的数据压缩比率。如果图像质量相等, H.264 的压缩比为 MPEG-2 的两倍以上, MPEG-4 的 1.5~2 倍。正因为这一特点, H.264 在光盘存储、数字电视、网络电视、通信与多媒体方面都有广泛的应用。例如, YouTube 现在采用 H.264 来对高清晰视频进行编码,然后使用 Flash Player 进行播放。
VP8 由 On2 公司于 2008 年 9 月 13 日推出,目的是取代其前任 VP7 视频编解码器。 2009 年, Google 收购了 On2 公司,并于 2010 年 5 月 19 日宣布将 VP8 以 BSD 许可证的形式开源,从此时开始, VP8 便成了一个免版权费用可自由使用的技术,任何使用都不受专利限制。
也就是从 2010 年 5 月 19 日开始, Google 的 WebM 项目启动,目标是构建一个开放且免版权费用的视频文件格式,提供高质量的视频压缩以适应 HTML5 的需要。 WebM 项目采用 VP8 视频编解码器和 Vorbis 音频编解码器,其封装格式以 Matroska 格式为基础。 Adobe 已宣布 Adobe Flash Player 将在未来支持 VP8 ,但还没有宣布会支持 Vorbis 或 WebM 。
Theora 是一个可变比特率图像压缩格式,其图像流可以存储在任何容器文件格式中,最常用的是与 Vorbis 一起存储到 Ogg 容器。浏览器方面, Mozilla Firefox 3.5 提供了对于 Theora 格式的原生支持,即不需要任何插件就能播放 Theora 视频,其它浏览器如 Google Chrome 3.0.182.2 、 Opera 10.50 等之后的版本都提供了对该格式的支持。也可以使用相关浏览器插件来播放 Theora 视频,如 Annodex 的插件、 Cortado 、 VLC 媒体播放器提供的针对 IE 及 Firefox 的插件等。
使用 audio 元素的 canPlayType 方法可以检测浏览器支持的格式,该方法采用 Mime 格式编码器参数:
function checkAudio() {
var myAudio = document.createElement('audio');
if (myAudio.canPlayType) {
if ('' != myAudio.canPlayType('audio/mpeg'))
console.log('您的浏览器不支持 mp3 编码 ');
if ('' != myAudio.canPlayType('audio/ogg;codecs="vorbis"'))
console.log('您的浏览器不支持 ogg 编码');
if ('' != myAudio.canPlayType('audio/mp4;codes="mp4a.40.5"'))
console.log('您的浏览器不支持 aac 编码');
} else {
console.log('您的浏览器不支持要检测编码音频格式');
}
}
如果 canPlayType 返回 probably 或 maybe ,则说明支持。
同样,测试 video 使用相同的思想:
function checkVideo() {
var myVideo = document.createElement('video');
if (myVideo.canPlayType) {
if ('' != myVideo.canPlayType('video/ogg;codes="theora"'))
console.log('您的浏览器不支持 theora 编码');
if ('' != myVideo.canPlayType('video/ogg;codecs="vp8"'))
console.log('您的浏览器不支持 vp8 编码');
if ('' != myVideo.canPlayType('video/mp4;codes="avc1.64001E"'))
console.log('您的浏览器不支持 h264 编码');
} else {
console.log('您的浏览器不支持要检测编码音频格式');
}
}
对于不支持 html 5 媒体格式的可以这样:
<video src="video.ogg">
<object data="videoplayer.swf" type="application/x-shorkwave-flash">
<param name="movie" value="video.swf" />
</object>
</video>