常见视频编解码格式 | 您所在的位置:网站首页 › 录像视频格式有哪些 › 常见视频编解码格式 |
常见视频编解码格式
1视频文件类别 常言道:物以类聚,人以群分。视频文件也不例外,细细算起来,视频文件可以分成两大类:其一是影像文件,比如说常见的VCD便是一例。其二是流式视频文件,这是随着国际互联网的发展而诞生的后起视频之秀,比如说在线实况转播,就是构架在流式视频技术之上的。 1.1影像格式 日常生活中接触较多的VCD、多媒体CD光盘中的动画……这些都是影像文件。影像文件不仅包含了大量图像信息,同时还容纳大量音频信息。所以,影像文件的“身材”往往不可小觑。 AVI格式MOV格式MPEG/MPG/DAT格式 1.2流式视频格式 目前,很多视频数据要求通过Internet来进行实时传输,前面我们曾提及到,视频文件的体积往往比较大,而现有的网络带宽却往往比较“狭窄”,千军万马要过独木桥,其结果当然可想而知。客观因素限制了视频数据的实时传输和实时播放,于是一种新型的流式视频(Streaming Video)格式应运而生了。这种流式视频采用一种“边传边播”的方法,即先从服务器上下载一部分视频文件,形成视频流缓冲区后实时播放,同时继续下载,为接下来的播放做好准备。这种“边传边播”的方法避免了用户必须等待整个文件从Internet上全部下载完毕才能观看的缺点。到目前为止,Internet上使用较多的流式视频格式主要是以下三种:RM(Real Media)格式 RM格式是RealNetworks公司开发的一种新型流式视频文件格式,它麾下共有三员大将:RealAudio、RealVideo和RealFlash。RealAudio用来传输接近CD音质的音频数据,RealVideo用来传输连续视频数据,而RealFlash则是RealNetworks公司与Macromedia公司新近合作推出的一种高压缩比的动画格式。RealMedia可以根据网络数据传输速率的不同制定了不同的压缩比率,从而实现在低速率的广域网上进行影像数据的实时传送和实时播放。这里我们主要介绍RealVideo,它除了可以以普通的视频文件形式播放之外,还可以与RealServer服务器相配合,首先由RealEncoder负责将已有的视频文件实时转换成RealMedia格式,RealServer则负责广播RealMedia视频文件。在数据传输过程中可以边下载边由RealPlayer播放视频影像,而不必像大多数视频文件那样,必须先下载然后才能播放。目前,Internet上已有不少网站利用RealVideo技术进行重大事件的实况转播。MOV文件格式(QuickTime) MOV也可以作为一种流文件格式。QuickTime能够通过Internet提供实时的数字化信息流、工作流与文件回放功能,为了适应这一网络多媒体应用,QuickTime为多种流行的浏览器软件提供了相应的QuickTime Viewer插件(Plug-in),能够在浏览器中实现多媒体数据的实时回放。该插件的“快速启动(Fast Start)”功能,可以令用户几乎能在发出请求的同时便收看到第一帧视频画面,而且,该插件可以在视频数据下载的同时就开始播放视频图像,用户不需要等到全部下载完毕就能进行欣赏。此外,QuickTime还提供了自动速率选择功能,当用户通过调用插件来播放QuickTime多媒体文件时,能够自己选择不同的连接速率下载并播放影像,当然,不同的速率对应着不同的图像质量。此外,QuickTime还采用了一种称为QuickTime VR的虚拟现实(VR,Virtual Reality)技术,用户只需通过鼠标或键盘,就可以观察某一地点周围360度的景象,或者从空间任何角度观察某一物体。ASF(Advanced Streaming Format)格式 Microsoft公司推出的Advanced Streaming Format (ASF,高级流格式),也是一个在Internet上实时传播多媒体的技术标准,Microsoft公司的野心很大,希图用ASF取代QuickTime之类的技术标准。ASF的主要优点包括:本地或网络回放、可扩充的媒体类型、部件下载、以及扩展性等。ASF应用的主要部件是NetShow服务器和NetShow播放器。有独立的编码器将媒体信息编译成ASF流,然后发送到NetShow服务器,再由NetShow服务器将ASF流发送给网络上的所有NetShow播放器,从而实现单路广播或多路广播。这和Real系统的实时转播则是大同小异。 2常见的视频的编码及封装格式 2.1常见视频编码格式 常见的编码格式有H.264、H.263、MPEG-1、MPEG-2、MPEG、4、Sorenson Spark、VC-1、JPEG、RV、DivX、On2 True Motion VP6。对于高清视频来说,主流的编码技术目前主要有 MPEG-2、DivX、XVID、H264/AVC、VC-1、RMVB 和 WMV-HD 等等。其中,H264/AVC、VC-1、MPEG-2 是蓝光(Blu-ray Disc)所选择的编码格式,也是目前最流行的高清视频编码格式。另外就是高清视频的封装格式,封装格式和编码格式是互相区别的,许多人会把它们混淆。 下图为常见编码格式的logo:![]() (1)MOV 格式:MOV 多见于 Apple QuickTime 网站上的电影预告片。MOV 类似于 RMVB,过于封闭自守,民间制作组没有人会用这个不方便的形式。 (2)AVI 格式:AVI 封装是微软在上世纪 90 年代初创立的封装标准,是当时为对抗 QuickTime 的 MOV 格式而推出的,因为当时还没有流式播放需要,AVI 的将索引布置在打包文件的尾部,这就使得AVI封装不能做到流式播放(流媒体)。AVI 封装只能支持有限的几种视频音频编码形式,且AVI不能支持音频的 VBR 动态比特率编码。 (3)TS 格式:TS(Transport Stream)是一种比较先进的封装形式,蓝光原盘中,就采用了 TS 封装。TS 封装支持几乎所有编码的高清视频和音轨文件。PS(Program Stream)封装的技术基本和 TS 相同,但 PS 封装和 AVI 一样,都不是流媒体,不能够支持流式播放,PS 封装使用在原先的 HDDVD 中。在高清标准下,MPEG-2 编码的视频文件主要采用 TS 封装格式。 (4)MKV 格式:MKV(Matroska)是一种新兴的多媒体封装格式,可以将各类视频编码、16 条或以上不同格式的音频和语言不同的字幕封装在一个文件内,它具有开放源代码、音视频编码丰富、网络亲和性好等优势,已经得到众多视频压制组和玩家的支持,正逐渐成为高清视频的主流视频格式。H264 编码与 X264 编码目前大多采用 MKV 封装格式。 3视频的播放组件及调用流程 视频文件的解码过程如下依次需要用到的组件有“分离器”、“解码器”、“渲染器”,它们统称为“滤镜”。 3.1分离器(Splitter) 要正确地播放多媒体文件,播放器首先要正确地调用分离器,把视频流和(或)音频流正确地分离出来,然后交给解码器进行解码,这就是分离器的使命。上文中说到有不少的封装格式,每一种封装格式都必须有相对应一种分离器,才能正确的把视频和音频分离出来以供解码器解码。 常用的分离器有: Gabest MPEG Splitter(Media Player Classic 作者编写的分离器)、 KMP Splitter(KMPlayer 原配的分离器) Haili Media Splitter 这三种分离器能够支持较多的封装格式,其它的分离器还有 Moonlight-Elecard MPEG2 Demultiplexer(月光分离器)、 nVIDIA Transport Demux(nVIDIA 公司的分离器,配合 PureVideo 使用)、 CyberLink Demux(PowerDVD 软件中的分离器) 3.2解码器(Decoder) 解码器在整个视频的播放中占据了最主要的位置,它的作用是对由分离器分离出来的音频流和视频流分别进行解码。解码器又分为视频解码器和音频解码器。 常见的视频解码器有: MPEG-2 视频解码器 InterVideo Video Decoder(WinDVD 的解码器) CyberLink DTV Video/SP Filter CyberLink Video/SP Filter(PowerDVD 的解码器) Moonlight-Elecard MPEG2 Video Decoder nVIDIA Video Decoder(nVIDIA PureVideo 的解码器) Sonic CinemasterVideo、Gabest Video Decoder H264/X264/AVC 视频解码器 CyberLink H.264/AVC Decoder(PowerDVD 的解码器)、 CoreAVC DirectShow Video Decoder Moonlight H264 Video Decoder ffdshow MPEG-4 Video Decoder VC-1 视频解码器 CyberLink VC-1 Deocder(PowerDVD 的解码器)、Media Player Classic Video Decoder、WMVideo Decoder DMO(微软的解码器)等等。 常见的音频解码器有: CyberLink Audio Decoder(PowerDVD 的解码器) AC3 Filter InterVideo Audio Decoder nVIDIA Audio Decoder 3.3渲染器(Renderer) 渲染器与解码器一样,分为视频渲染器和音频渲染器,解码后的视频数据经过视频渲染器的渲染后呈现到显示设备上,解码后的音频经过音频渲染器的渲染后从声卡输出。渲染在视频播放的过程中是很重要的,因为它会影响到视频最终的效果,不同的渲染器有不同的技术特性,对电脑的配置(主要是 CPU 和显卡)的要求也不一样。 视频渲染器主要有以下几种: 旧式视频渲染器(Video Renderer): 这种是最原始的渲染器,它接收到来自解码器解码后的数据流,在显示设备上显示。这种渲染器基本上不能调用到显卡硬件特性,全靠 CPU 来完成渲染任务。 覆盖合成器(Overlay Mixer): 覆盖合成器能够将若干路视频流合并输出到显示设备上,并且它能够很好地调用显卡硬件的拉伸,颜色空间变换等硬件功能,以减少对 CPU 资源的占用率。视频覆盖的画面质量事实上取决于显卡硬件。通常在使用覆盖合成器的时候无法直接对正在播放的视频截图。 VMR 渲染器(Video Mixing Renderer): VMR 对覆盖合成器进行了改进,它是基于 DirectX 的视频渲染器,能够支持 16 路的视频流混合。VMR 根据 DirectX 版本的不同,可以分为 VMR7 和 VMR9,其中 VMR7 基于 DirectDraw7(2D),而 VMR9 基于 Direct3D9(3D),VMR9 可以支持视频特效(Video Effects)和视频变换(Video Transitions)。VMR 根据渲染模式的不同又分为“窗口化”(Windowed)、“无窗口”(Windowless)、“未渲染”(Renderless)模式。 EVR 增强型视频渲染器(Enhanced Video Renderer) 微软在 Windows Vista 系统就开始引入的新视频渲染器,当然也包含在新的操作系统 Windows 7 中。它与 VMR 最大的区别就是能够支持 DXVA 2.0。 要将 4:2:0 YUV 转换为 4:4:4 YUV,按照前面讲述的两个方法进行操作即可。首先将 4:2:0 图像转换为 4:2:2,然后将 4:2:2 图像转换为 4:4:4。您还可以切换两个上转换过程的顺序,因为操作顺序对于结果的视觉质量不会产生真正的影响。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |