最新消息:阿啰哈,本人90后,目前单身,欢迎妹子们来撩!.(。→‿←。) 微信:frank01991

视频编解码术语概念介绍

Other 林志斌 995浏览

前言

最近有幸接触到流媒体领域,这可是偶之前一直灰常弱的一方面,可以说完全没有任何概念,经过Google的N次方搜索之后,头脑中总算有个概念,以下文章均来自互联网,偶就不一一帖出原链接,如果有语句或解释,很可能是偶借鉴您的文章,希望不要介意。当然,有些是偶自己写的,您就凑合着看,对于新手来讲,我相信收获肯定不少。

阅读对象

  1. 流媒体新手或渴望了解流媒体
  2. 这篇文章合适有耐心的人,如果您觉得没那么多时间看这些”费话“,请直接关闭当前标签页 会更好。
  3. 永远追求上进的学习爱好者。
  4. 不适合流媒体的牛逼人物。

视频扫盲

什么是编解码?什么是codec?

所谓编解码,就是codec。 CODECCOde(编码)+DECode(解码).假设显示器的设置是:每秒刷新60次,也就是刷新率为60Hz,1024 * 768的分辨率,那么此时显卡每秒要处理的数据量是 60 * 1024 * 768 个像素点,可想而知,视频文件的大小是很恐怖的。如果不用任何方法压缩,就单纯的存储视频文件,那么1GB的文件,也只能存储37秒左右的视频内容。所以,咱们需要一个方式来压缩(code,编码)它,再存储起来,要播放的时候,再解压缩(decode,解码)。这样牺牲一些时间,来换取很大一部分空间,这是值得的,并且咱们的硬件设备也有这个能力做到。

屏幕比例与分辨率的联系

4:3、16:9、16:10,还有5:4,1920x1024、1280x720、1024x768、640x480等,已经被这些比例和分辨率搞得头昏脑涨?目前市场上针对比例和分辨率还比较混乱,下面的扫盲仅限于常见的几种。其实我们最常见的屏幕比例无非上面提到的4:3、16:9、16:10这三种,而5:4只是一个特殊比例,每种比例都算是一个家庭,其中4:3是最最常见的,也是历史最久的比例,它所对应的最高分辨率为:640x480,更小的分辨率此处不再一一列出。16:9 主要用于HD电视领域,也就是我们经常听到的720p、1080p,两个比例对应的分辨率:

  • 720p 1280x720
  • 1080p 1920x1080

延升阅读

16:9是指显示器长宽比例,根据人体工程学的研究,发现人的两只眼睛的视野范围是一个长宽比例为16:9的长方形,所以电视、显示器行业根据这个的黄金比例尺寸设计产品。

Container(容器),Stream(流),Frame(帧),Codec(编解码器),mux/demux(复用/解复用)。

  • Container:           一个container就是一个文件,一种container就是一种文件格式,举例:xxx.flv 和 yyy.mkv是两个文件,我们可以说他们是两个容器,并且是两种不同的容器。
  • Stream:    一个容器中包括音频流(audio stream)、视频流(video stream)、字幕流(subtitlestream )等。

    • 例1:xxx.flv文件,假设里面包含两种stream,一种是音频流(audio stream),另一种是视频流(video stream),并且以flv规定的格式把这两个流封装在.flv容器里面。
    • 例2:yyy.mkv文件,假设里面包含三种stream,一种是音频流(audio stream),另一种是视频流(video stream),还有一种流是字幕流(subtitle stream),并且以mkv规定的格式把这三种流封装在.mkv的容器里面。

上面讲了容器和流的关系,那把不同的流按照某种容器的规则从那种容器(文件)中解析(或者说抽出来)出来,这种行为叫做解复用(demux),使用解复用器(demuxer),那反过来,把不同的流按照某种容器的规则放入那种容器(最后肯定生成了某种格式的文件),这种行为叫做复用(mux),使用复用器(muxer)。

  • Frame:     包含在Stream里面,当从容器中得到一个流以后,或者说不管你怎么弄的,反正你得到了一个流,那这个流就认为是被某种编码器 编码过后生成的,你需要把这个流里面的帧去解码。

那什么又是影片捏?

影片其实就是一组(很多张)图片,时间间隔很小的连续展示出来,人们就觉得画面中的人物在动,这就是影片。那电影的实质就是N多张图片的集合。那每张图片和帧又有什么关系呢?事实上,如果一部影片里面的图片,我们原封不动的全部存起来,空间会很大很大很大,但是如果通过一定的算法(这里不讲相关算法),把每一张图片压缩(编码_encode)一下,变成帧(Frame)。再把帧连起来变成流,再把不同的流放到某个容器里面,这就是我们平常看见的电影文件了,比如这个文件 《碟中谍4.H264.ACC.mkv》,他为什么要这样命名呢?mkv表达了它的容器是.mkv的,且包含至少两个流,h264的视频流,ACC的音频流。这是一种典型的牺牲时间来换取空间的做法。当得到一个流之后,就得设法找出里面的帧,然后使用解码器/decoder 把帧还原,然后再去播放,也可以再去使用另一个编码器/encoder编码压缩成另一种格式的帧(这就是所谓的转格式软件要完成的一个步骤)。


视频编码简介

MPEG视频编码

MPEG-2简介

  1. MPEG-2编码的DVD MPEG-2制定于1994年,设计目标是高级工业标准的图象质量以及更高的传输率。MPEG-2所能提供的传输率在3-10Mbits/sec间,其在 NTSC制式下的分辨率可达720X486,MPEG-2也可提供并能够提供广播级的视像和CD级的音质。MPEG-2的音频编码可提供左右中及两个环绕 声道,以及一个加重低音声道,和多达7个伴音声道(这就是DVD可有8种语言配音的原因)。由于MPEG-2的出色性能表现,已能适用于高清视频,使得原打算为高清视频设计的MPEG-3,还没出世就被抛弃了。MPEG-3要求传输速率在20Mbits/sev-40Mbits/sec间,但这将使画面有轻度扭曲。

  2. MPEG-2 TS编码的高清视频 MPEG-2高清视频采用的编码是MPEG-2 TS格式,其英文全称是(MPEG-2 Transport Stream),这是一种视频流格式,主要用于实时传送节目,目前已经成为数字电视领域中普遍应用的系统层编码标准。

MPEG-2 TS格式的高清视频文件一般采用mpg、tp、ts为后缀。采用MPEG-2 TS格式压缩后的高清视频文件通常都相当大,以一部90分钟的电影为例,文件大小通常都在8GB以上,有的甚至超过15GB。在播放以tp和ts为后缀的高清视频文件时也比较麻烦,因为文件中分别包含有AC’3音频信息和MPEG-2视频信息,需要使用专门的软件来进行播放。

MPEG-4简介

MPEG-4制定于1998年,MPEG-4是为了播放流式媒体的高质量视频而专门设计的,它可利用很窄的带度,通过帧重建技术,压缩和传输数据,以求使用最少的数据获得最佳的图像质量。这种编码方式多用于HDTV-Rip上,它把原有的高清视频文件按照比例缩小到一定的尺寸,以减少文件的大小,同时画面效果不差于DVD效果,以此来寻求一个画面效果和文件尺寸的平衡。相对于高清视频来说,MPEG-4格式 还显得有点不够用,因此它也不是主流的高清视频信号来源。这种视频格式的文件扩展名包括.asf、.mov和DivX 、AVI等。

H.264视频编码

H.264是一种高性能的视频编解码技术。目前国际上制定视频编解码技术的组织有两个: 一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。而H.264则是由两个组织联合组建的联合视频组(JVT)共同制定的新数字视频编码标准,所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高级视频编码(Advanced Video Coding,AVC),而且它将成为MPEG-4标准的第10部分。因此,不论是MPEG-4 AVC、MPEG-4 Part 10,还是ISO/IEC 14496-10,都是指H.264。

H.264最具价值的部分是更高的数据压缩比,在同等的图像质量,H.264的数据压缩比能比DVD系统中使用的 MPEG-2高2~3倍,比MPEG-4高1.5~2倍。举个例子,原始文件的大小如果为100GB,采用MPEG-2压缩标准压缩后变成4GB,压缩比25∶1,而采用H.264压缩标准压缩后变为1GB,从100GB到1GB,H.264的压缩比达到惊人的100∶1。尤其值得一提的是,H.264在具有高压缩比的同时还拥有高质量流畅的图像。正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。 在MPEG-2需要6Mbps的传输速率匹配时,H.264只需要1Mbps~2Mbps的传输速率。 H.264格式的文件一般采用mkv后缀,mkv是一种新兴的多媒体封装格式,可以将各类视频编 码、16条或以上不同格式的音频和语言不同的字幕封装在一个文件内,它具有开放源代码、音视 频编码丰富等优势,已经得到众多视频压制组和玩家的支持,正逐渐成为高清视频的主流格式。

WMV-HD/VC-1视频编码

WMV-HD是由软件业的巨头微软公司所创立的一种视频压缩格式。其压缩率远高于MPEG-2标准,同样是2小时的HDTV节目,如果使用MPEG-2最多只能压缩至30GB,而使用WMV-HD这样的高压缩率编码器,在画质丝毫不降的前提下都可压缩到15GB以下。虽然WMV-HD是微软的独有标准,在开放性和兼容性上没有其他几种格式好,但由于目前大家都在使用微软的操作系统,因此推出之后仍然迅速普及。

除了WMV-HD以外,微软WMV第九版(WMV9)编码技术叫做VC-1,2003年正式提出,于2006年正式成为国际标准,是微软开发的视频压缩技术系列中的最新版本。VC-1结合几种编码格式的优点于一身,在压缩比率上介于H.264与MPEG-2之间,画质表现方面与H.264接近,且在编码算法的复杂度上只为H.264的一半,处于一个中间的平衡点位置,对硬件要求较低、高压缩率、高画质、低耗时等特点使得VC-1成为一种比较理想的编码方式,发展前景较为可观。

WMV-HD及VC-1编码的视频文件一般采用wmv为后缀,wmv文件通常包括了WMV格式编码的视频和WMA编码的音频。

RMVB视频编码

当前在网络上见的最多的,肯定是RMVB视频,RMVB之所以这么流行,主要是RMVB在图像质量与文件大小之间取得了最好的平衡。一部720P的电影如果采用H.264编码,一般会有4G的大小,但如果改成RMVB格式,1G大小就可以了。目前国内的家庭宽带一般只有2M~4M,假如4M带宽,下载1G文件大概需要1个小时,下载4G文件最少在4个小时以上,因此很多人都会选择下载RMVB 文件。虽然RMVB文件的清晰度比不上H.264,但是基本上可以满足大部分人的要求了。RMVB之所以可以图像质量与文件大小之间取得最好的平衡,主要是使用了可变比特率的编码。RMVB中的VB指VBR,Variable Bit Rate(可改变之比特率),RMVB打破了原先RM格式那种平均压缩采样的方式,在保证平均压缩比的基础上,采用浮动比特率编码的方式,将较高的比特率用于复杂的动态画面(如歌舞、飞车、战争等),而在静态画面中则灵活地转为较低的采样率,从而合理地利用了比特率资源,使RMVB最大限度地压缩了影片的大小,最终拥有了近乎完美的接近于H.264品质的视听效果。

虽然RMVB表现出色,可以达到720P以上的分别率,但在大屏幕的电视上观看,会有比较明显的 色块,始终算不上是高清视频。但它最大的优点是文件体积较小,在国内的互联网带宽没有大幅度提升之前,估计还会流行很长的一度时间。

视频编码总结

总的来说,MPEG2由于压缩比例较小,视频所占空间太大,目前已经基本处于了被淘汰的边缘。目前比较流行的高清编码是H.264与微软的VC-1。但就压缩的比率来看 H.264 > VC-1 > MPEG-2;对于低分辨率的视频文件,MPEG-2的画质表现还是不错的,但基于720P以上则明显略低于H.264和VC-1的效果;而VC-1与H.264相比,由于无明显编码优势,而且限于Windows平台使用、标准推出较晚,因此给微软VC-1编码的应用前景带来了较大的不确定性,能否跟H.264一较高下,尚需实践检验。另外不得不提的是RMVB视频,由于目前国内家庭宽带的速度不高,很多人都不愿意下载大容量H.264的视频,从而给了RMVB很大的发展空间,目前国内互联网上的视频仍然是RMVB占的比例最高。


H.264和MPEG-4区别

H.264是一种高性能的视频编解码技术。目前国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+等,另一个是“国际标准化组织(ISO)”,它制定的标准有MPEG-1、MPEG-2、MPEG-4等。而H.264则是由两个组织联合组建的联合视频组(JVT)共同制定的新数字视频编码标准,所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高级视频编码(Advanced Video Coding,AVC),而且它将成为MPEG-4标准的第10部分。因此,不论是MPEG-4 AVC、MPEG-4 Part 10,还是ISO/IEC 14496-10,都是指H.264。


H.264与X264区别

X264简介

X264是基于H.264标准的免费开源视频编码器,开头的字母“X”表示“software”的意思,压缩能力强大,画质效果优秀,早已获得广泛应用。特征是编码速度相当快,但解码很慢且相当耗费CPU处理能力,X264不支援硬件加速,是和RMVB一样的强解码类型(同一机型GeForce7300和GeForce9600播放H264时CPU会有巨大的差异但播放RMVB和X264二者无异),X264不支持de-block(区域马赛克弱化换算) 技术。

简单来讲就是:

  • h264是一种视频编码方式,x264是基于h264的开源编码解码器。
  • h.264是一种视频编码标准,x264是一种采用这种标准的具体实现。

x264是一个采用GPL授权的视频编码自由软件。x264的主要功能在于进行H.264/MPEG-4 AVC的.

视频编码,而不是作为解码器(decoder)之用。


H264与AVC1区别

  1. AVC1属于H.264的一种,是苹果开发的符合H.264/AVC的编码。
  2. AVC1 描述: H.264 bitstream without start codes.一般通过ffmpeg转码生成的视频,是不带起始码0×00000001的。
  3. H264 描述: H.264 bitstream with start codes.一般对于一下HDVD等电影的压制格式,是带有起始码0×00000001的。

即:H264=AVC, H264 != AVC1


DivX、XviD、AVC、AAC与MPEG-4联系

MPEG-4是一种标准,共分成21个部分,其中这21个部分就包括了DivX、XviD、AVC、AAC等, 可参考:http://zh.wikipedia.org/zh-cn/MPEG-4

例如:

第二部分 ISO/IEC 14496-2:

  • 视频:定义了一个对各种视觉信息(包括自然视频、静止纹理、计算机合成图形等等)的编解码器。(例如XviD编码就属于MPEG-4 Part 2)。

第三部分 ISO/IEC 14496-3:

  • 音频:定义了一个对各种音频信号进行编码的编解码器的集合。包括高级音频编码(Advanced Audio Coding,缩写为AAC)的若干变形和其他一些音频/语音编码工具。

第十部分 ISO/IEC 14496-10:

  • 高级视频编码或称高级视频编码(Advanced Video Coding,缩写为AVC):定义了一个视频编解码器(codec)。AVC和XviD都属于MPEG-4编码,但由于AVC 属于MPEG-4 Part 10,在技术特性上比属于MPEG-4 Part2的XviD要先进。另外,它和ITU-T H.264标准是一致的,故又称为H.264。

第十五部分 ISO/IEC 14496-15:

  • AVC 文件格式:定义了基于第十二部分的用于存储第十部分的视频内容的文件格式。

什么是DivX、XviD?

  1. DivX,是DivX公司(前身是DivX Networks公司)的著名品牌,是一种MPEG-4技术视频编解码器(codec),2007年秋以2200万美元收购德国Main Concept。2010年10月,DivX公司被Sonic Solutions收购。并于2011年2月,因Sonic Solutions被Rovi公司收购而成为旗下企业。

  2. Xvid(旧称为XviD)是一个开放源代码的MPEG-4视频编解码器,它是基于OpenDivX而编写的。Xvid是由一群原OpenDivX义务开发者在OpenDivX于2001年7月停止开发后自行开发的。Xvid是在GNU GPL v2下发布的,但因为某些国家如美国,日本有软件专利法,使得其在该地区可能出现法律纠纷。因此,Xvid官方网站只提供源代码下载,至于安装文件可能需要大家去搜索。

Xvid的主要竞争对手是DivX。但Xvid是开放源代码的,而DivX则只有免费(不是自由)的版本和商用版本。所以,具体用哪个,相信您肯定能一眼看出。


PAL、NTSC、SECAM区别

  1. PAL逐行倒相,Phase Alternating Line的缩写,PAL制式是电视广播中色彩调频的一种方法,主要应用于中国、香港、中东地区和欧洲等地区;
  2. NTSC美国全国电视标准委员会,是指National Television System Committee的缩写,主要应用于美国、日本、加拿大、墨西哥、韩国、菲律宾等地区;

另外,NTSC属于同时制,隔行扫描,画面比例为4:3. 3. SECAM (顺序传送与存储彩色电视系统,法国采用的一种电视制式,(SEquential CouleurAvec Memoire)PAL和NTSC都属于便于两大主要的电视广播制式,但是由于系统投射颜色影响的频率有所不同。两种制式相互之前不兼容。

PAL和NTSC的分辨率不所不同,PAL制式使用720x576,约40万像素,故PAL制式的数码摄像机的CCD大小为40万的倍数或半倍数;NTSC使用的是760x480,约37万像素,故NTSC制式的数据摄像机的CCD一般为34万的倍数或半倍数。

  • NTSC 制式优缺点

属于同时制,帧频为每秒29.97,扫描线为525,隔行扫描,画面比例为4:3,分辨率为640x480,这种制式的色度信号调制包括了平衡调制正交调制两种,解决了彩色与黑白电视广播兼容性问题,但存在相位容易失真、色彩不太稳定的缺点。

  • PAL制式优缺点

帧频为每秒25. * 对相位失真不敏感,因此,对传输设备和接收机设备的技术指标要求,PAL制式比NTSC制式要低。 * 比NTSC制抗多径接收性能好。 * PAL制相对NTSC制而言,色度信号的正交失真不敏感,并且对色度信号部分抑制边带而引起的失真也不敏感。 * PAL接收机中采用梳状滤波器,可使亮度串色的幅度下降3dB,并且可以提高彩色信噪比。

  • PAL制有下列缺点:
  • 由于PAL制色信号逐行倒相,传输及解码中产生的误差(例如微分相位等),将在图象上产生爬行及半帧频闪烁现象。
  • PAL信号不利于信号处理(包括数字信号处理,亮度信号的彻底分离等),这是因为它的色度信号逐行倒相,色副载波相位8场一循环引起的。
  • 与NTSC制一样,彩色接收机图象的水平清晰度比黑白电视机的低。
  • 垂直彩色清晰度PAL制比NTSC制低。
  • 由于要有高精度和高稳定度的延时线及附属电路,PAL制接收机比NTSC制接收机复杂,成本稍高,对于录像机也是如此。

各制式分布图

pte


视频编码工具

FFmpeg

FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转档、流功能[1],包含了libavcodec ─这是一个用于多个专案中音频和视频的解码器库,以及 libavformat ——一个音频与视频格式转换库。

另外,”FFmpeg”这个单词中的 “FF” 指的是 “Fast Forward“,相信很多同学是不知道滴。

Libav

基于FFmpeg开发的一个开源分支,后来又从FFmpeg中独立出来。它是一个完整的、跨平台的用于音频和视频录制、转换的解决方案,包含 libavcodec 编码器。


每个领导发言之后,总得来个总结,偶也装下逼,不过此处省略3000字,看最后几句话:

如果以上有涉嫌抄袭您的文章,请第一时间通知,偶定会明确标识.

以上所有扫盲知识,偶只是汇总下而已。。。

via: http://agenge.com/blog/2013/07/28/video-decoder-intro/

转载请注明:林志斌 » 视频编解码术语概念介绍

发表评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址