容器和协议
文件是既包括视频又包括音频、甚至还带有脚本的一个集合,也可以叫容器;
文件当中的视频和音频的压缩算法才是具体的编码。
音频视频编码方案有很多,用百家争鸣形容不算过分,目前常见的音频视频编码有以下几类:
MPEG系列:(由ISO[国际标准组织机构]下属的MPEG[运动图象专家组]开发 )视频编码方面主要是Mpeg1(vcd用的就是它)、Mpeg2(DVD使用)、Mpeg4(现在的DVDRIP使用的都是它的变种,如:divx,xvid等)、Mpeg4 AVC(现在正热门);
音频编码方面主要是MPEG Audio Layer 1/2、MPEG Audio Layer 3(大名鼎鼎的mp3)、MPEG-2 AAC、MPEG-4AAC等等。 注意:DVD音频没有采用Mpeg的;
H.26X系列:(由ITU[国际电传视讯联盟]主导,侧重网络传输,注意:只是视频编码)包括H261、H262、H263、H263+、H263++、H264(就是MPEG4 AVC-合作的结晶)
微软windows media系列:(公司牛,能自己定标准啊...)视频编码有Mpeg-4 v1/v2/v3(基于MPEG4,DIVX3的来源,呵呵)、Windows Media Video 7/8/9/10音频编码有Windows Media audeo v1/v2/7/8/9
Real Media系列:(注意,这里说的Real的编码,可不是rm、rmvb文件,呵呵)视频编码有RealVideo G2(早期)、RealVideo 8/9/10音频编码有RealAudio cook/sipro(早期)、RealAudio AAC/AACPlus等
QuickTime系列:(是一个平台,有很多编码器)视频编码有Sorenson Video 3(用于QT5,成标准了)、Apple MPEG-4、Apple H.264音频编码有QDesign Music 2、Apple MPEG-4 AAC(这个不错)其它,如:Ogg、On2-vpx、flash vidio:不详述啦。
多媒体容器文件格式
多媒体容器文件格式一般都包括文件头部分、索引部分和多媒体数据部分
文件头部分说明了多媒体数据符合的压缩标准及规范信息,多媒体数据符合的规范信息可以包括视频的分辨率、帧率,音频的采样率等。
索引部分:由于多媒体数据通常会被分成若干块,各块数据之间也可能是不连续存储的,因此需要再索引部分建立多媒体数据的存储位置索引(如图2所示),其详细显示了视频数据存储位置索引,用来记录相应数据块的存储位置的偏移量,由于各数据块的大小可能不同,因此也可能需要在索引部分建立各种多媒体数据块的尺寸大小索引,用来记录相应数据块的尺寸大小。此外在索引部分还建立了其他索引,比如音视频同步索引等等。PC上播放这些多媒体容器文件时,一般是将索引一次性的全部放到内存中,然后在播放中根据操作(快进、快退等)来通过数据索引得到所需的数据。这个貌似和项目里面的视频信息文件的作用类似~~~多媒体数据部分就是经过压缩的多媒体数据,包括视频数据、音频数据、文本数据及其他多媒体数据。
视频协议
从应用的角度看,mpeg系列在消费类应用更广些,大家也更熟悉些,我们熟悉的vcd格式视频主要是mpeg-1,dvd的视频则是mpeg-2,早期大家看的电影在电脑上存盘文 件格式都是*.mpg,基本上也都是mpeg做的压缩了。在行业上,国内的监控行业,也是从mpeg-1到mpeg-2,到前两三年的mpeg-4,再到 最近的h.264。而h系列的标准,用得最多的是视频会议,从h.261到h.263,再到h.263+、h.263++等,再到现在的h.264。
从技术角度说,h系列的协议对网络的支持更好些,这点mpeg系列要差一些,但是,mpeg它每一代都比h系列同一代的协议要出得晚些,算法也相对更先进 些,因此,它用来做存储协议是很合适的,这也就是为什么普通消费类产品用户很少了解到h系列协议的原因。
h.264是两大组织最新的算法成果,它在算法层面应该说是非常先进了,有人评价,h.264是视频压缩技术的一个里程碑,在可预见的5到10年内,出现新的视频压缩协议可能性很小,除非压缩理论有重大突破。
媒体播放器三大底层框架
媒体播放工具,这里主要指视频播放,因为要面临庞大的兼容性和纷繁复杂的算法,从架构上看,能脱颖而出的体系屈指可数。大体来说业界主要有3大架构:MPC、MPlayer和VLC。这3大架构及其衍生品占领了90%的市场,凡是用户能看到的免费媒体播放软件,无一不是源自这3大架构。