視頻闡釋

視頻

視頻(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

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