视频阐释

视频

视频(Video)泛指将一系列静态影像以电信号方式加以捕捉纪录处理储存传送与重现的各种技术。连续的图像变化每秒超过24(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。视频技术最早是为了电视系统而发展,但现在已经发展为各种不同的格式以利消费者将视频记录下来。网络技术的发达也促使视频的纪录片段以串流媒体的形式存在于因特网之上并可被电脑接收与播放。视频与电影属于不同的技术,后者是利用照相术将动态的影像捕捉为一系列的静态照片

视频原理:

人眼视觉残留:

【说法1】是因为人眼的视觉残留特性:是光对视网膜所产生的视觉在光停止作用后,仍保留一段时间的现象,其具体应用是电影的拍摄和放映。原因是由视神经元的反应速度造成的。其时值是二十四分之一秒。是动画、电影等视觉媒体形成和传播的根据。

【说法2】当物体在快速运动时, 当人眼所看到的影像消失后,人眼仍能继续保留其影像1/24秒左右的图像,这种现象被称为视觉暂留现象。是人眼具有的一种性质。人眼观看物体时,成像于视网膜上,并由视神经输入人脑,感觉到物体的像。但当物体移去时,视神经对物体的印象不会立即消失,而要延续1/24秒左右的时间,人眼的这种性质被称为“眼睛的视觉暂留”。

依据以上原理,可以将连续的时间序列影像在同一画面上进行快速展示,即可看到视频效果,视频从某种意义上说,是连续时间序列影像的集合,只不过这个集合经过封装或者压缩,我们看到的变成了一个文件,如:MP4,avi,MKV,wmv,rm等等。如果要播放视频就需要专门的解码器或者说播放器,对视频文件进行解压缩或者解码,然后读取视频文件的元文件信息,在画布上按照恒定的帧率展示时间序列影像。

封装格式(MP4/MKV…)  vs 媒体格式(H.264/FLAC/AAC…)
 

MP4+MKV是你下载的视频文件最常见的种类。这些文件其实类似一个包裹,它的后缀则是包裹的包装方式。这些包裹里面,包含了视频(只有图像),音频(只有声音),字幕等。当播放器在播放的时候,首先对这个包裹进行拆包(专业术语叫做分离/splitting),把其中的视频、音频等拿出来,再进行播放。

既然它们只是一个包裹,就意味着这个后缀不能保证里面的东西是啥,也不能保证到底有多少东西。包裹里面的每一件物品,我们称之为轨道(track),一般有这么些:

视频(Video): 一般来说肯定都有,但是也有例外,比如mka格式的外挂音轨,其实就是没视频的mkv。注意我们说到视频的时候,是不包括声音的。

音频(audio):一般来说也肯定有,但是有些情况是静音的,就没必要带了。

章节(Chapter): 蓝光原盘中自带的分段信息。如果文件带上了,那么你可以在播放器中看到带章节的效果:

.potplayer右键画面,选项-播放-在进度条上显示书签/章节标记

.mpc-hc 右键画面,选项-调节-在进度条显示章节标记

字幕(Subtitles):有些时候文件自带字幕,并且字幕并非是直接整合于视频的硬字幕,那么就是一起被打包在封装容器中。

其他可能还有附件等,不一一列举。每个类型也不一定只有一条轨道,比如经常见到带多音轨的MKV。

每个轨道,都有自己的格式。比如大家常说的,视频是H.264,音频是AAC,这些就是每个轨道的格式。

视频的格式,常见的有H.264(可以细分为8bit/10bit),H.265(当前也有8bit/10bit之分),RealVideo(常见于早期rm/rmvb),VC-1(微软主导的,常见于wmv)。基本上,H.264=AVC=AVC1, H.265=HEVC。

音频的格式,常见的有 FLAC/ALAC/TrueHD/DTS-HD MA这四种无损,和AAC/MP3/AC3/DTS(Core)这四种有损。

MKV vs MP4,主要的区别在于:

  • MKV支持封装FLAC作为音频,MP4则不支持。但是MP4也可以封装无损音轨(比如说ALAC,虽然普遍认为ALAC的效率不如FLAC优秀)
  • MKV支持封装ASS/SSA格式的字幕,MP4则不支持。一般字幕组制作的字幕是ASS格式,所以内封字幕多见于MKV格式
  • MP4作为工业标准,在视频编辑软件和播放设备上的兼容性一般好于MKV。这也是vcb-s那些为移动设备优化的视频基本上选择MP4封装的原因。

除此之外,这两个格式很大程度上可以互相代替。比如它们都支持封装AVC和HEVC,包括8bit/10bit的精度。所以MP4画质不如MKV好,这种论断是非常无知的——它们完全可以封装一样的视频。

为什么会有这样的分歧,就是历史原因了。MKV是民间研发,为了代替古老的AVI,从而更好地支持H264,它开发和修改的灵活度使得它可以兼容flac/ass这类非工业标准的格式;而MP4则是出生豪门,作为工业标准,替代更古老的MPG,作为新一代视频/音频封装服务的。

视频的基础参数:分辨率,帧率和码率。
 

视频是由连续的图像构成的。每一张图像,我们称为一帧(frame)。图像则是由像素(pixel)构成的。一张图像有多少像素,称为这个图像的分辨率。比如说1920×1080的图像,说明它是由横纵1920×1080个像素点构成。视频的分辨率就是每一帧图像的分辨率。

一个视频,每一秒由多少图像构成,称为这个视频的帧率(frame-rate)。常见的帧率有24000/1001=23.976, 30000/1001=29.970, 60000/1001=59.940, 25.000, 50.000等等。这个数字是一秒钟内闪过的图像的数量。比如23.976,就是1001秒内,有24000张图像。视频的帧率是可以是恒定的(cfr, Const Frame-Rate),也可以是变化的(vfr, Variable Frame-Rate)

码率的定义是视频文件体积除以时间。单位一般是Kbps(Kbit/s)或者Mbps(Mbit/s)。注意1B(Byte)=8b(bit)。所以一个24分钟,900MB的视频:

体积:900MB = 900MByte = 7200Mbit

时间:24min = 1440s

码率:7200/1440  = 5000 Kbps = 5Mbps

当视频文件的时间基本相同的时候(比如现在一集番大概是24分钟),码率和体积基本上是等价的,都是用来描述视频大小的参数。长度分辨率都相同的文件,体积不同,实际上就是码率不同。

码率也可以解读为单位时间内,用来记录视频的数据总量。码率越高的视频,意味着用来记录视频的数据量越多,潜在的解读就是视频可以拥有更好的质量。(注意,仅仅是潜在,后文我们会分析为什么高码率不一定等于高画质)

长宽比(Aspectratio)是用来描述视频画面与画面元素的比例。传统的电视屏幕长宽比为4:3(1.33:1)。

HDTV的长宽比为16:9(1.78:1)。而35mm胶卷底片的长宽比约为1.37:1。

虽然电脑荧幕上的像素大多为正方形,但是数字视频像素通常并非如此。例如使用于PAL及NTSC讯号的数位保存格式CCIR 601,以及其相对应的非等方宽萤幕格式。因此以720x480像素记录的NTSC规格DV影像可能因为是比较“瘦”的像素格式而在放映时成为长宽比4:3的画面,或反之由于像素格式较“胖”而变成16:9的画面。

色深

色深(bit-depth),就是我们通常说的8bit和10bit,是指每个通道的精度。8bit就是每个通道用一个8bit整数(0~255)代表,10bit就是用10bit整数(0~1023)来显示。16bit则是0~65535

(注意,上文的表述是不严谨的,视频在编码的时候,并非一定能用到0~255的所有范围,而是可能有所保留,只用到一部分,比如16~235。这我们就不详细展开了)

你的显示器是8bit的,代表它能显示RGB每个通道0~255所有强度。但是视频的色深是YUV的色深,播放的时候,YUV需要通过计算转换到RGB。因此,10bit的高精度是间接的,它使得运算过程中精度增加,以让最后的颜色更细腻。

如何理解8bit显示器,播放10bit是有必要的呢:

一个圆的半径是12.33m, 求它的面积,保留两位小数。

半径的精度给定两位小数,结果也要求两位小数,那么圆周率精度需要给多高呢?也只要两位小数么?
取pi=3.14, 面积算出来是477.37平方米
取pi=3.1416,面积算出来是477.61平方米
取pi精度足够高,面积算出来是477.61平方米。所以取pi=3.1416是足够的,但是3.14就不够了。

换言之,即便最终输出的精度要求较低,也不意味着参与运算的数字,以及运算过程,可以保持较低的精度。在最终输出是8bit RGB的前提下,10bit YUV比起8bit YUV依旧具有精度优势的原因就在这里。事实上,8bit YUV转换后,覆盖的精度大概相当于8bit RGB的26%,而10bit转换后的精度大约可以覆盖97%——你想让你家8bit显示器发挥97%的细腻度么?看10bit吧。

8bit精度不足,主要表现在亮度较低的区域,容易形成色带:

图像的表示方法:RGB模型 vs YUV模型
 

光的三原色是红(Red)、绿(Green)、蓝(Blue)。现代的显示器技术就是通过组合不同强度的三原色,来达成任何一种可见光的颜色。图像储存中,通过记录每个像素红绿蓝强度,来记录图像的方法,称为RGB模型 (RGB Model)

常见的图片格式中,PNG和BMP这两种就是基于RGB模型的。

比如说原图:

分别只显示R G B通道的强度,效果如下:

三个通道下,信息量和细节程度不一定是均匀分布的。比如说可以注意南小鸟脸上的红晕,在3个平面上的区分程度就不同——红色平面下几乎无从区分,造成区别的主要是绿色和蓝色的平面。外围白色的脸颊,三色都近乎饱和;但是红晕部分,只有红色饱和,绿色和蓝色不饱和。这是造成红色凸显的原因。

除了RGB模型,还有一种广泛采用的模型,称为YUV模型,又被称为亮度-色度模型(Luma-Chroma)。它是通过数学转换,将RGB三个通道,转换为一个代表亮度的通道(Y,又称为Luma),和两个代表色度的通道(UV,并成为Chroma)。

举个形象点的例子:一家养殖场饲养猪和牛,一种记数方式是:(猪的数量,牛的数量)

但是也可以这么记录:(总数量=猪的数量+牛的数量,相差=猪的数量-牛的数量)。两种方法之间有数学公式可以互转。

YUV模型干的是类似的事儿。通过对RGB数据的合理转换,得到另一种表示方式。YUV模型下,还有不同的实现方式。举个用的比较多的YCbCr模型:它把RGB转换成一个亮度(Y),和 蓝色色度(Cb) 以及 红色色度(Cr)。转换背后复杂的公式大家不需要了解,只需要看看效果:

只有亮度通道:

只有蓝色色度:

只有红色色度:

在图像视频的加工与储存中,YUV格式一般更受欢迎,理由如下:

 

1、人眼对亮度的敏感度远高于色度,因此人眼看到的有效信息主要来自于亮度。YUV模型可以将绝大多数的有效信息分配到Y通道。UV通道相对记录的信息少的多。相对于RGB模型较为平均的分配,YUV模型将多数有效信息集中在Y通道,不但减少了冗余信息量,还为压缩提供了便利

2、保持了对黑白显示设备的向下兼容

3、图像编辑中,调节亮度和颜色饱和度,在YUV模型下更方便。

几乎所有的视频格式,以及广泛使用的JPEG图像格式,都是基于YCbCr模型的。播放的时候,播放器需要将YCbCr的信息,通过计算,转换为RGB。这个步骤称为渲染(Rendering)

每个通道的记录,通常是用整数来表示。比如RGB24,就是RGB各8个bit,用0~255 (8bit的二进制数范围)来表示某个颜色的强弱。YUV模型也不例外,也是用整数来表示每个通道的高低。

色度半采样
 

在YUV模型的应用中,Y和UV的重要性是不等同的。图像视频的实际储存和传输中,通常将Y以全分辨率记录,UV以减半甚至1/4的分辨率记录。这个手段被称为色度半采样(Chroma Sub-Sampling)。色度半采样可以有效减少传输带宽,和加大UV平面的压缩率,但是不可避免的会损失UV平面的有效信息。

我们平常的视频,最常见的是420采样。配合YUV格式,常常被写作yuv420。这种采样是Y保留全部,UV只以(1/2) x (1/2)的分辨率记录。比如说1920×1080的视频,其实只有亮度平面是1920×1080。两个色度平面都只有960×540的分辨率。

当然了,你也可以选择不做缩减。这种称为444采样,或者yuv444。YUV三个平面全是满分辨率。

在做YUV->RGB的时候,首先需要将缩水的UV分辨率拉升到Y的分辨率(madVR中允许自定义算法,在Chroma Upscaling当中),然后再转换到RGB。做RGB->YUV的转换,也是先转换到444(YUV的分辨率相同),再将UV分辨率降低。

一般能拿到的片源,包括所有蓝光原盘,都是420采样的。所以成品一般也保留420采样。所以yuv420就表示这个视频是420采样的yuv格式。

将420做成444格式,需要自己手动将UV分辨率拉升2×2倍。在今天madVR等渲染器可以很好地拉升UV平面的情况下,这种做法无异于毫无必要的拉升DVD做成伪高清。

当然了,有时候也需要在444/RGB平面下做处理和修复,常见的比如视频本身RGB平面不重叠(比如摩卡少女樱),这种修复过程首先要将UV分辨率拉升,然后转RGB,做完修复再转回YUV。修复后的结果相当于全新构图,这种情况下保留444格式就是有理由,有必要的。

H264格式编码444格式,需要High 4:4:4 Predictive Profile(简称Hi444pp)。所以看到Hi444pp/yuv444 之类的标示,你就需要去找压制者的陈述,为什么他要做这么个拉升。如果找不到有效的理由,你应该默认作者是在瞎做。

空间上的低频与高频:平面,纹理和线条

在视频处理中,空间(spatial)的概念指的是一帧图片以内(你可以认为就是一张图所呈现的二维空间/平面)。跟时间(temporal)相对;时间的概念就强调帧与帧之间的变换。

于是我们重新来看这张亮度的图:

亮度变化较快,变动幅度大的区域,我们称之为高频区域。否则,亮度变化缓慢且不明显的区域,我们称为低频区域。

图中的蓝圈就是一块典型的低频区域,或者就叫做平面(平坦的部分)。亮度几乎没有变化

绿圈中,亮度呈现跳跃式的突变,这种高频区域我们称之为线条。

红圈中,亮度频繁变化,幅度有高有低,这种高频区域我们称为纹理。

有时候,线条和纹理(高频区域)统称为线条,平面(低频区域)又叫做非线条。

这是亮度平面。色度平面,高频低频,线条等概念也同样适用,就是描述色度变化的快慢轻重。一般我们所谓的“细节”,就是指图像中的高频信息。

一般来说,一张图的高频信息越多,意味着这张图信息量越大,所需要记录的数据量就越多,编码所需要的运算量也越大。如果一个视频包含的空间性高频信息很多(通俗点说就是每一帧内细节很多),意味着这个视频的空间复杂度很高。

记录一张图片,编码器需要决定给怎样的部分多少码率。码率在一张图内不同部分的分配,叫做码率的空间分配。分配较好的时候,往往整幅图目视观感比较统一;分配不好常见的后果,就是线条纹理尚可,背景平面区域出现大量色带色块(码率被过分的分配给线条);或者背景颜色过渡自然,纹理模糊,线条烂掉(码率被过分的分配给非线条)。

时间上的低频与高频:动态
在视频处理中,时间(temporal)的概念强调帧与帧之间的变换。跟空间(spatial)相对。

动态的概念无需多解释;就是帧与帧之间图像变化的强弱,变化频率的高低。一段视频如果动态很高,变化剧烈,我们称为时间复杂度较高,时域上的高频信息多。否则如果视频本身舒缓多静态,我们称为时间复杂度低,时域上的低频信息多。

一般来说,一段视频的时域高频信息多,动态的信息量就大,所需要记录的数据量就越多,编码所需要的运算量也越大。但是另一方面,人眼对高速变化的场景,敏感度不如静态的图片来的高(你没有时间去仔细观察细节),所以动态场景的优先度可以低于静态场景。如何权衡以上两点去分配码率,被称为码率的时间分配。分配较好的时候,看视频无论动态还是静态效果都较好;分配不好的时候往往是静态部分看着还行,动态部分糊烂掉;或者动态部分效果过分的好,浪费了大量码率,造成静态部分欠码,瑕疵明显。

很多人喜欢看静止的截图对比,来判断视频的画质。从观看的角度,这种做法其实并不完全科学——如果你觉得比较烂的一帧其实是取自高动态场景,那么这一帧稍微烂点无可厚非,反正观看的时候你注意不到,将码率省下来给静态部分会更好。

压缩技术

视频压缩技术(仅适用数位讯号)

自从数位信号系统被广泛使用以来,人们发展出许多方法来压缩视频串流。由于视频资料包含了空间的与时间的冗余性,所以使得未压缩的视频串流以传送效率的观点来说是相当糟糕的。

总体而言,空间冗余性可以借由“只记录单帧画面的一部分与另一部分的差异性”来减低;这种技巧被称为帧内压缩(intraframe compression)。并且与图像压缩密切相关,而时间冗余性则可借由“只记录两帧不同画面间的差异性”来减低;这种技巧被称为帧间压缩(interframe compression),包括运动补偿以及其他技术。目前最常用的视频压缩技术为DVD与卫星直播电视所采用的MPEG-2,以及因特网传输常用的MPEG-4。

清晰度与画质简述

我们经常讨论,一个视频清晰度如何,画质好不好。但是如何给这两个术语做定义呢?

经常看到的说法:“这个视频清晰度是1080p的”。其实看过上文你就应该知道,1080p只是视频的分辨率,它不能直接代表清晰度——比如说,我可以把一个480p的dvd视频拉升到1080p,那又怎样呢?它的清晰度难道就提高了么?

一个比较接近清晰度的概念,是上文所讲述的,空间高频信息量,就是一帧内的细节。一张图,一个视频的细节多,它的清晰度就高。分辨率决定了高频信息量的上限;就是它最清晰能到什么地步。1080p之所以比480p好,是因为它可以允许图像记录的高频信息多。这个说法看样子很靠谱,但是,有反例:


右图的高频信息远比左图多——它的线条很锐利,有大量致密的噪点(注意噪点完全符合高频信息的定义;它使得图像变化的非常快)
但是你真的觉得右图清晰度高么?
事实上,右图完全是通过左图加工而来。通过过度锐化+强噪点,人为的增加无效的高频信息。

所以清晰度的定义我更倾向于这样一个说法:图像或视频中,原生、有效的高频信息。
原生,强调这种清晰度是非人工添加的;有效;强调细节本身有意义,而不是毫无意义的噪点特效。

值得一提的是,人为增加的高频信息不见得完全没有帮助。有的时候适度锐化的确能够起到不错的目视效果:

这是一幅适度锐化后的效果。如果有人觉得右图更好,至少某些部分更好,相信我,你不是一个人。所以适度锐化依旧是视频和图像处理中,可以接受的一种主观调整的手段,一定的场合下,它确实有助于提高目视效果。

以上是清晰度的概述。注意,清晰度只是空间方面(就是一帧以内)。如果再考虑到动态效果的优秀与否(视频是不是那种一动起来就糊成一团的,或者动起来感觉卡顿明显的,常见于早起RMVB),空间和时间上优秀的观看效果共同定义了画质。所以我们说madVR/svp那些倍帧效果有助于提高画质,实际上它们增强了时间上的观看效果。

好的画质,是制作者和观众共同追求的。怎么样的视频会有好的画质呢?是不是码率越高的视频画质越好呢?真不见得。视频的画质,是由以下几点共同决定的:

1、源的画质。
俗话说的好,上梁不正下梁歪。如果源的画质本身很差,那么再如何折腾都别指望画质好到哪去。所以压制者往往会选择更好的源进行压制——举个栗子,BDRip一般都比TVRip来的好,哪怕是720p。蓝光也分销售地区,一般日本销售的日版,画质上比美版、台版、港版啥的都来得好,所以同样是BDRip,选取更好的源,就能做到画质上优先一步。

2、播放条件。
观众是否用了足矣支持高画质播放的硬件和软件。这就是为啥我们在发布Rip的同时大力普及好的播放器;有时候一个好的播放器胜过多少在制作方面的精力投入。

3、码率投入vs编码复杂度。
视频的时间和空间复杂度,并称为编码复杂度。编码复杂度高的视频,往往细节多,动态高(比如《魔法少女小圆剧场版 叛逆的物语》),这样的视频天生需要较高的码率去维持一个优秀的观看效果。
相反,有些视频编码复杂度低(比如《请问今天要来点兔子么》,动态少,线条细节柔和),这种视频就是比较节省码率的。

4、码率分配的效率和合理度。
同样多的码率,能起到怎样好的效果,被称为效率。比如H264就比之前的RealVideo效率高;10bit比8bit效率高;编码器先进,参数设置的比较合理,编码器各种高端参数全开(通常以编码时间作为代价),码率效率就高。
合理度就是码率在时空分配方面合理与否,合理的分配,给观众的观看效果就比较统一协调。 码率分配的效率和合理度,是对制作者的要求,要求制作者对片源分析,参数设置有比较到位的理解。

位元传输率

位元传输率(又译为位元速率或比特率码率)是一种表现视频串流中所含有的资讯量的方法。其数量单位为bit/s(每秒间所传送的位元数量,又写为bps)或者Mbit/s(每秒间所传送的百万位元数量,又写为Mbps)。较高的位元传输率将可容纳更高的视频品质。例如DVD格式的视频(典型位元传输率为5Mbps)的画质高于VCD格式的视频(典型位元传输率为1Mbps)。HDTV格式拥有更高的(约20Mbps)位元传输率,也因此比DVD有更高的画质。

可变位元速率(Variable bit rate,简写为VBR)是一种追求视频品质提升并同时降低位元传输率的手段。采用VBR编码的视频在大动态或复杂的画面时段会自动以较高的速率来记录影像,而在静止或简单的画面时段则降低速率。这样可以在保证画面品质恒定的前提下尽量减少传输率。但对于传送带宽固定,需要即时传送并且没有暂存手段的视频串流来说,固定位元速率(Constant bit rate,CBR)比VBR更为适合。视频会议系统即为一例。

封装类别

MPEG/MPG/DAT

MPEG也是Motion Picture Experts Group 的缩写。这类格式包括了MPEG-1, MPEG-2 和MPEG-4在内的多种视频格式。MPEG-1相信是大家接触得最多的了,因为其正在被广泛地应用在 VCD 的制作和一些视频片段下载的网络应用上面,大部分的VCD 都是用MPEG1 格式压缩的(刻录软件自动将MPEG-1转为.DAT格式 ) ,使用MPEG-1 的压缩算法,可以把一部120 分钟长的电影压缩到1.2 GB 左右大小。MPEG-2 则是应用在DVD 的制作;同时在一些HDTV(高清晰电视广播)和一些高要求视频编辑、处理上面也有相当多的应用。使用MPEG-2 的压缩算法压缩一部120 分钟长的电影可以压缩到5-8 GB 的大小(MPEG2的图像质量MPEG-1 与其无法比拟的)。

AVI

AVI(Audio Video Interleaved,音频视频交错))由是Microsoft公司推出的视频音频交错格式(视频和音频交织在一起进行同步播放),是一种桌面系统上的低成本、低分辨率的视频格式。它的一个重要的特点是具有可伸缩性,性能依赖于硬件设备。它的优点是可以跨多个平台使用,缺点是占用空间大。

RA/RM/RAM

RM,Real Networks [1]  公司所制定的音频/视频压缩规范Real Media中的一种,Real Player能做的就是利用Internet资源对这些符合Real Media技术规范的音频/视频进行实况转播。在Real Media规范中主要包括三类文件:RealAudio、Real Video和Real Flash (Real Networks公司与Macromedia公司合作推出的新一代高压缩比动画格式)。REAL VIDEO (RA、RAM)格式由一开始就是定位就是在视频流应用方面的,也可以说是视频流技术的始创者。它可以在用56K MODEM 拨号上网的条件实现不间断的视频播放,可是其图像质量比VCD差些,如果您看过那些RM压缩的影碟就可以明显对比出来了。

MOV

使用过Mac机的朋友应该多少接触过QuickTime。QuickTime原本是Apple公司用于Mac计算机上的一种图像视频处理软件。Quick-Time提供了两种标准图像和数字视频格式, 即可以支持静态的PIC和JPG图像格式,动态的基于Indeo压缩法的MOV和基于MPEG压缩法的MPG视频格式。

ASF

ASF (Advanced Streaming format高级流格式)。ASF 是MICROSOFT 为了和Real player 竞争而发展出来的一种可以直接在网上观看视频节目的文件压缩格式。ASF使用了MPEG4 的压缩算法,压缩率图像的质量都很不错。因为ASF 是以一个可以在网上即时观赏的视频“流”格式存在的,所以它的图像质量比VCD 差一点点并不出奇,但比同是视频“流”格式的RAM 格式要好。

WMV

一种独立于编码方式的在Internet上实时传播多媒体的技术标准,Microsoft公司希望用其取代QuickTime之类的技术标准以及WAV、AVI之类的文件扩展名。WMV的主要优点在于:可扩充的媒体类型、本地或网络回放、可伸缩的媒体类型、流的优先级化、多语言支持、扩展性等。

n AVI

如果你发现原来的播放软件突然打不开此类格式的AVI文件,那你就要考虑是不是碰到了n AVI。n AVI是New AVI 的缩写,是一个名为Shadow Realm 的地下组织发展起来的一种新视频格式。它是由Microsoft ASF 压缩算法的修改而来的(并不是想象中的AVI),视频格式追求的无非是压缩率和图像质量,所以 NAVI 为了追求这个目标,改善了原始的ASF 格式的一些不足,让NAVI 可以拥有更高的帧率。可以这样说,NAVI 是一种去掉视频流特性的改良型ASF 格式。

DivX

这是由MPEG-4衍生出的另一种视频编码(压缩)标准,也即通常所说的DVDrip格式,它采用了MPEG4的压缩算法同时又综合了MPEG-4与MP3各方面的技术,说白了就是使用DivX压缩技术对DVD盘片的视频图像进行高质量压缩,同时用MP3或AC3对音频进行压缩,然后再将视频与音频合成并加上相应的外挂字幕文件而形成的视频格式。其画质直逼DVD并且体积只有DVD的数分之一。这种编码对机器的要求也不高,所以DivX视频编码技术可以说是一种对DVD造成威胁最大的新生视频压缩格式,号称DVD杀手或DVD终结者

RMVB

这是一种由RM视频格式升级延伸出的新视频格式,它的先进之处在于RMVB视频格式打破了原先RM格式那种平均压缩采样的方式,在保证平均压缩比的基础上合理利用比特率资源,就是说静止和动作场面少的画面场景采用较低的编码速率,这样可以留出更多的带宽空间,而这些带宽会在出现快速运动的画面场景时被利用。这样在保证了静止画面质量的前提下,大幅地提高了运动图像的画面质量,从而图像质量和文件大小之间就达到了微妙的平衡。另外,相对于DVDrip格式,RMVB视频也是有着较明显的优势,一部大小为700MB左右的DVD影片,如果将其转录成同样视听品质的RMVB格式,其个头最多也就400MB左右。不仅如此,这种视频格式还具有内置字幕和无需外挂插件支持等独特优点。要想播放这种视频格式,可以使用RealOne Player2.0或RealPlayer8.0加RealVideo9.0以上版本的解码器形式进行播放。

FLV

FLV就是随着Flash MX的推出发展而来的新的视频格式,其全称为Flashvideo。是在sorenson公司的压缩算法的基础上开发出来的。

由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。各在线视频网站均采用此视频格式。如新浪播客、56、优酷、土豆、酷6帝途、YouTuBe等,无一例外。

F4V

F4V是Adobe公司为了迎接高清时代而推出继FLV格式后的支持H.264的流媒体格式。它和FLV主要的区别在于,FLV格式采用的是H.263编码,而F4V则支持H.264编码的高清晰视频,码率最高可达50Mbps。

主流的视频网站(如奇艺、土豆、酷6)等网站都开始用H.264编码的F4V文件,H.264编码的F4V文件,相同文件大小情况下,清晰度明显比On2 VP6和H.263编码的FLV要好。土豆和56发布的视频大多数已为F4V,但下载后缀为FLV,这也是F4V特点之一。

MP4

MP4(MPEG-4 Part 14)是一种常见的多媒体容器格式,它是在“ISO/IEC 14496-14”标准文件中定义的,属于MPEG-4的一部分,是“ISO/IEC 14496-12(MPEG-4 Part 12 ISO base media file format)”标准中所定义的媒体格式的一种实现,后者定义了一种通用的媒体文件结构标准。MP4是一种描述较为全面的容器格式,被认为可以在其中嵌入任何形式的数据,各种编码的视频、音频等都不在话下,不过我们常见的大部分的MP4文件存放的AVC(H.264)MPEG-4(Part 2)编码的视频和AAC编码的音频。MP4格式的官方文件后缀名是“.mp4”,还有其他的以mp4为基础进行的扩展或者是缩水版本的格式,包括:M4V3GPF4V等。

3GP

[2]  3GPP(3rd Generation Partnership Project,第三代合作伙伴项目)制定的流媒体视频文件格式,主要是为了配合3G网络的高传输速度而开发的,也是目前手机中最为常见的一种视频格式。

AMV

一种mp4专用的视频格式

编码

常见的视频编码:

1、Microsoft RLE

一种8位的编码方式,只能支持到256色。压缩动画或者是计算机合成的图像等具有大面积色块的素材可以使用它来编码,是一种无损压缩方案。

2、Microsoft Video 1

用于对模拟视频进行压缩,是一种有损压缩方案,最高仅达到256色,它的品质就可想而知,一般还是不要使用它来编码AVI。

3、MicrosoftH.261/H.263/H.264/H.265

用于视频会议的Codec,其中H.261适用于ISDNDDN线路,H.263适用于局域网,不过一般机器上这种Codec是用来播放的,不能用于编码。

4、Intel Indeo Video R3.2

所有的Windows版本都能用Indeo video 3.2播放AVI编码。它压缩率比Cinepak大,但需要回放的计算机要比Cinepak的快。

5、Intel Indeo Video 4和5

常见的有4.5和5.10两种,质量比Cinepak和R3.2要好,可以适应不同带宽的网络,但必须有相应的解码插件才能顺利地将下载作品进行播放。适合于装了Intel公司MMX以上CPU的机器,回放效果优秀。如果一定要用AVI的话,推荐使用5.10,在效果几乎一样的情况下,它有更快的编码速度和更高的压缩比。

6、Intel IYUV Codec

使用该方法所得图像质量极好,因为此方式是将普通的RGB色彩模式变为更加紧凑的YUV色彩模式。如果你想将AVI压缩成MPEG-1的话,用它得到的效果比较理想,只是它的生成的文件太大了。

7、Microsoft MPEG-4 Video codec

常见的有1.0、2.0、3.0三种版本,当然是基于MPEG-4技术的,其中3.0并不能用于AVI的编码,只能用于生成支持“视频流”技术的ASF文件。

8、DivX?- MPEG-4 Low-Motion/Fast-Motion

实际与Microsoft MPEG-4 Video code是相当的东西,只是Low-Motion采用的固定码率,Fast-Motion采用的是动态码率,后者压缩成的AVI几乎只是前者的一半大,但质量要差一些。Low-Motion适用于转换DVD以保证较好的画质,Fast-Motion用于转换VCD以体现MPEG-4短小精悍的优势。

9 、DivX 3.11/4.12/5.0

其实就是DivX,原来DivX是为了打破Microsoft的ASF规格而开发的,开发组摇身一变成了Divxnetworks公司,所以不断推出新的版本,最大的特点就是在编码程序中加入了1-pass和2-pass的设置,2-pass相当于两次编码,以最大限度地在网络带宽与视觉效果中取得平衡。
开发库

常见的视频开发库:

FFMPEG:

国外的知名视频开发库.

CXDVA:

全面支持上面提到的全部视频格式,可以windows、linux、android、apple ios 等多个平台进行播放、抓图、录像等功能,开发接口统一,容易使用。

编码格式

CCIR 601 (ITU-T)

M-JPEG(ISO)

MPEG-1 (ISO)

MPEG-2 (ITU-T + ISO)

MPEG-4 (ISO)

H.261(ITU-T)

H.263(ITU-T)

H.264/MPEG-4 AVC(ITU-T + ISO)

H.265

VC-1(SMPTE)

Ogg-Theora

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章