最新消息:重新回归WordPress,我要比较认真的开始更新我的博客了。

初识视频文件格式与视频编码方式

杂七杂八 hanlei 1783浏览

以前只知道视频有mp4、avi、rmvb等,但接触多了以后会出现一些新的词比如h264、h265、mpeg4等。以前认为mp4就是mpeg4的缩写,可后来出来了新的h264格式怎么还是用的mp4文件格式?今天终于明白了

目前网上的各种视频格式可以说是泛滥成灾, 加上各个 PMP(Portable Media Player,便携式媒体播放器)生产厂家的对自己产品在功能方面的炒作,使得很多人对视频格式的名称都是一头的雾水。
经常有些童鞋问我类似下面的问题。
A问我说:“我的MP4分明写着能播放 AVI吗?为什么这一个 AVI文件就播放不了? ”
B问:“我的MP4支持Mpeg-4啊,为什么 Mp4文件不能播放呢? ”
好的,下面我从最基本的概念给大家解释一下,顺便回答这两个问题

首先大家要清楚两个概念,视频文件格式和视频编码方式。视频文件格式一般情况下从视频文件的后缀名就能看出来,比如 AVI,Mp4,3gp,mov,rmvb等等。这些格式又叫做容器格式( container format),顾名思义就是用来装东西的,你可以把它想象成为一个便当盒,或者野餐篮。

通常我们从网上下载的电影都是有声音的(废话,难道你只看默片!众人扔香蕉皮),所以容器格式中一般至少包含有两个数据流( stream),一个视频流,一个音频流,就好比是一个便当盒里装着的配菜和米饭。

视频编码方式则是指容器格式中视频流数据的压缩编码方式,例如 Mpeg-4,H.264,H.263,等等。而视频数据采用了何种编码方式是无法单单从文件格式的后缀上看出来的。就是说你无法从一个盖着盖子的便当盒外面看出里面装了什么配菜。

如果你想播放一个视频文件, 第一步你的播放器 (不论是软件的还是硬件的) 要能够解析相应的容器格式,这一步也叫做解复用( demux),第二步你的播放器要能够解码其中所包含视频流和音频流。这样影片才能播放出来。

打个不太恰当的比方, 播放器好比你雇用的一个试菜员, 由他来品尝便当(视频文件),然后告诉你便当里装了什么东西。
所以试菜员首先要懂得如何打开便当盒, 还要知道吃的出来便当盒里装了什么配菜, 这样你才能获得你想要的信息。

回过头来看前面的两个问题,用以上的比喻翻译一下。

问题A,我的试菜员能打开 AVI这种便当的,为什么我不能知道里面装了什么?
回答很简单,虽然他能够打开便当, 但是吃不出里面的东西是什么。 理论上没有一个播放器能够播放所有的 AVI格式的电影,因为你不知道我会往里面放什么配菜。

问题B,我的试菜员吃过 Mpeg-4这种牛排阿,为什么不能打开 Mp4这种便当盒呢?
这个问题通过翻译之后看起来已经不是问题了, Mpeg-4是视频编码方式, 而Mp4是容器格式,两者本来就不是一个范畴里的东西。

好了下面简单介绍一下流行的视频格式。

1.AVI

AVI是音频视频交错( Audio Video Interleaved)的英文缩写,它是 Microsoft公司开发的一种数字音频与视频文件格式,允许视频和音频交错在一起同步播放。
AVI文件的格式是公开并且免费的, 大量的视频爱好者在使用这种文件格式。 很多PMP唯一能支持的格式就是 AVI格式,一般的 PMP都带有可以转换其他格式视频成为 AVI格式的软件。
AVI文件采用的是 RIFF(Resource Interchange File Format,资源互换文件格式) 文件结构,RIFF是Microsoft公司定义的一种用于管理 windows环境中多媒体数据的文件格式。
AVI格式包括2种:AVI 1.0和Open-DML AVI。AVI 1.0为传统的 AVI格式,Open-DML AVI是AVI 1.0的扩展

2.ASF

ASF(Advanced Systems Format)是一个开放格式,它能依靠多种协议在多种网络环境下支持数据的传送。 ASF是专为在 IP网上传送有同步关系的多媒体数据而设计的文件格式,所以ASF格式的信息特别适合在 IP网上传输。ASF支持任意的压缩 /解压缩编码方式的流媒体,并可以使用任何一种底层网络传输协议,具有很大的灵活性。目前网上以 wmv为后缀的文件绝大多数采用的是 ASF格式,WMV是微软公司视频编码方式而不是文件格式。

3.Mp4,3gp,mo

MP4格式是ISO-IEC Mpeg-4协议Part 14中定义的容器格式。MP4格式实际上是对 Apple公司开发的 MOV格式(也称Quicktime格式)的一种改进,两种格式差别很小。
MOV格式广泛应用于 Mac OS操作系统,在Windows操作系统上也可兼容, 但是远比不上AVI格式流行。
而应用于 3G手机上的音视频文件格式 ——3GP其实是MP4格式的一种简化版本,3GP格式是一种由 3GPP组织制定的多媒体容器格式 (container format),3GPP组织形成的通讯协议是目前全世界手机厂商使用最广的,而 3GP格式当然也是手机视频格式的绝对主流。
MP4,MOV,3GP格式可以说具有相同的文件结构。
另外还有 flv,mkv,mpg等等许多其他格式。

转载请注明:HANLEI'BLOG » 初识视频文件格式与视频编码方式