关于多媒体编解码器和音视频格式

随着高清摄像设备的普及,每个人现在都在变成一个或者有志于变成一个摄影师! 我们这里不讲摄影技巧,那不是我的专业,我在这里想阐述的只是关于多媒体的最基本知识。 当你把你的作品展示给你的朋友欣赏的时候,这些知识会对你炫耀技术展示才华很有帮助!
这里我要讲的是视频容器格式(container format) 和编解码器(codecs).

视频格式,容器格式,文件格式

这么多格式到底之间有什么关系呢? 其实它们都是一个东西。就是装载音视频及相关信息的一个容器的格式,也就是你存储在电脑硬盘里的多媒体文件的格式。这样一说大家都知道了,这不就是以mp3,mp4,avi,wmv,mpeg,ogg…等等作为后缀名的文件吗?对了,就是这么简单。

编解码器

常常听说电脑打不开某个视频文件,最大的可能就是你的电脑没有安装相应的解码器。那既然我们的文件有这么多的格式,那文件格式和编解码器又有什么关系呢?其实编解码是压缩和还原的一种方式,从编解码器的英文单词即可见其含义

编解码器(codec) = 压缩器(compressor) + 解压缩器(decompressor)

这里为了解释更贴近英文原义,把编码器翻译成了压缩器,将解码器翻译成了解压缩器,主要是为了方便读者理解codec这个英文单词以及它与压缩的关系!

那问题来了, 为什么要压缩呢? 原因很简单,因为未经压缩的原始音视频信息量太大,不方便传输和存储!这里可以给出一组数据:

  • 1080i格式是标准数字电视显示模式,分辨率为1920×1080,60赫兹,未经压缩的情况下每小时消耗410G空间
  • 8通道24-bit的音频,每秒需要16MB,或者每小时7G

没有压缩(编码),就连线上听一首歌,在当前的带宽条件下都是很难完成的。这也就说明了编解码技术的必要性!当然编解码的目的有很多种,因此如何编解码,采用何种算法便有了多种选择。编码之后如何存储,传输并展示给最终用户,这些就是容器(container)的事情了!

常用编解码器

  • H.264/MPEG-4 AVC: 这可能是现今摄录机使用最广泛的编解码格式了。H.264在压缩率很高的情况下仍然能够提供可靠的图像品质。它的可伸缩性很强,在低压缩率的情形下能够展现精彩的画质。这在蓝光(Blu-ray)影碟中经常被使用!
  • MJPEG: 这是一个稍微老旧的格式,在一些数码相机和旧的设备中使用。 这种编解码技术是由开发大名鼎鼎的图片压缩格式JPEG的团队开发的,因此有了Motion JPEG的名字。
  • DV/HDV: DV 是由生产摄影机的多家厂商联合开发的一种家用摄像机规格。更常见的是其小型版本MiniDV,这是使用磁带式摄像机的标准格式!HDV 是其高清格式。这里需要注意DV/HDV既是编解码器又可指容器格式!
  • MPEG-2: DVD 视频都采用这种压缩格式, 在蓝光发展的早期也曾采用过这种格式, 同时这也是无线高清电视(HDTV)播放采用的格式!
  • MPEG-1: 这玩意儿有点老了,它是早期网络视频传播的方式, 现在YouTube, Netflix等等在线内容提供商都已经不再采用这种格式,但是网络世界仍然有不少MPEG-1格式的视频存在着!

常用容器格式

容器(文件)里面包含了压缩过的音视频信息, 和元数据(metadata) 。元数据包含了一些辅助信息,比如文件的长度,歌手名字,专辑名称,字幕,图片等等。选择容器格式需要考虑你的内容最终的目的地是哪里?或者说要考虑使用的场景!下面介绍了几个常用的容器格式:

  • AVI (Audio Video Interleave): AVI 是微软过去的容器格式,现在仍然很常见, 但可能在新创内容中,它已被排除出考虑范围了!
  • QuickTime: QuickTime是苹果自有格式,它常常饱受争议,因为苹果的一意孤行,QuickTime支持的codec局限于苹果支持的codec,但是苹果支持的codec还不在少数,特别值得一体的是苹果是H.264的重要推手,所以QuickTime对H.264编码的视频支持不错!
  • MP4: MP4文件的视频部分采用H.264压缩,音频则采用AAC或其他编码方式!
  • AVCHD: 这是很多摄像机采用的容器格式。视频采用H.264 AVC编码, 音频则采用AC3或者原始PCM。
  • Flash: Adobe公司的容器格式,支持多种codec,最新的Flash 视频采用H.264压缩, 音频使用AAC音频编码。但是并不是所有的Flash文件都如此!
  • ASF(Advanced Systems Format): 微软新的容器格式, 可能有多种后缀名, 如.asf, .wma, .wmv。 理论上来讲,ASF文件可以容纳各种codec编码的内容, 但是实际播放的时候可能会遇到一些问题。特别是H.264压缩的视频。如果你制作播放的过程都是在windows平台上面完成,那情况还好点,否则问题就可能找上门来!

推荐资源

Robin Goode的文章值得一看:The Video Encoding Guide: Codecs, Formats, Containers and Settings Explained

你可能感兴趣的:(视频,解码器)