視頻編碼與封裝方式詳解

1. 編碼方式和封裝格式... 1

2. 視頻編碼標準兩大系統... 2

MPEG-1. 2

MPEG-2. 3

MPEG-3. 3

MPEG-4. 3

ITU-T. 4

WMV. 4

3. 常用視頻編碼方式有Xvid( 4

4. 常見存儲封裝格式... 6

5. 幾種常見的轉換格式設置... 7

6. 無損視頻編碼... 9


1.?? 編碼方式和封裝格式
常見的AVI、RMVB、MKV、ASF、WMV、MP4、3GP、FLV等文件其實只能算是一種封裝標準。


一個完整的視頻文件是由音頻和視頻2部分組成的。H264、Xvid等就是視頻編碼格式,MP3、AAC等就是音頻編碼格式。


例如:將一個Xvid視頻編碼文件和一個MP3視頻編碼文件按AVI封裝標準封裝以后,就得到一個AVI后綴的視頻文件,這個就是我們常見的AVI視頻文件了。


由于很多種視頻編碼文件、音頻編碼文件都符合AVI封裝要求,則意味著即使是AVI后綴,也可能里面的具體編碼格式不同。因此出現在一些設備上,同是AVI后綴文件,一些能正常播放,還有一些就無法播放。

?

同樣的情況也存在于其他容器格式。即使RMVB、WMV等也不例外

?

事實上,很多封裝容器對音頻編碼和視頻編碼的組合方式放的很開,如AVI還可以使用H264+AAC組合,可以在具體使用中自己體會。尤其是MKV封裝容器,基本無論什么樣的組合都可以!但一般MKV用的最多的就是H264+AAC組合,此組合文件體積最小,清晰度最高。因此網上很多MKV視頻都是高清晰度的。

?

因此,視頻轉換需要設置的本質就是:A設置需要的視頻編碼、B設置需要的音頻編碼、C選擇需要的容器封裝。一個完整的視頻轉換設置都至少包括了上面3個步驟。

?

目前最常見的視頻編碼方式有 MPEG-1/-2 < WMV/7/8 < RM/RMVB < Xvid/Divx < AVC/H.264,視頻壓縮效能和技術先進性也基本表現為上述排列順序(由低到高,不完全準確)。

目前最常見的音頻格式有 Mp3、AC-3、ACC,MP3最廣泛的支持最多,AC-3是杜比公司的技術,ACC是MPEG-4中的音頻標準,ACC是目前比較先進和具有優勢的技術。

?

2.?? 視頻編碼標準兩大系統
視頻編碼標準有兩大系統: MPEG 和ITU-T,如下表

視頻編碼標準

?

MPEG 標準?? 由MPEG制定

MPEG-1 | MPEG-2 | (MPEG-3) | MPEG-4 | MPEG-7 | MPEG-21

?

ITU-T 標準?? 由VCEG制定

H.261 | (H.262) | H.263 | H.263v2 | H.264

?

MPEG-1

是MPEG組織制定的第一個視頻和音頻有損壓縮標準。視頻壓縮算法于1990年定義完成。1992年底,MPEG-1正式被批準成為國際標準。

這個標準帶來了VCD和MP3

MPEG-2

是MPEG工作組于1994年發布的視頻和音頻壓縮國際標準。MPEG-2通常用來為廣播信號提供視頻和音頻編碼,包括衛星電視、有線電視等。MPEG-2經過少量修改后,也成為DVD產品的內核技術。

MPEG-3

是MPEG組織制定的視頻和音頻壓縮標準。本來的目標是為HDTV提供20-40Mbps視頻壓縮技術。在標準制定的過程中,委員會很快發現MPEG-2可以取得類似的效果。隨后,MPEG-3項目停止了。

MPEG-3并非等于MP3。MP3是MPEG-1音頻Layer 3部分。

MPEG-4

是一套用于音頻、視頻信息的壓縮編碼標準,MPEG-4包含了MPEG-1及MPEG-2的絕大部份功能及其他格式的長處,MPEG-4大部份功能都留待開發者決定采用是否。這意味著整個格式的功能不一定被某個程序所完全函括。因此,這個格式有所謂‘profiles’及‘層次(levels)’,定義了MPEG-4用于某些特定應用的某些功能的集合。

這一標準是目前廣泛應用的主流編碼標準

MPEG-4由一系列的子標準組成,被稱為部,包括以下的部分:

第二部(ISO/IEC 14496-2):視訊:定義了一個對各種視覺信息(包括視訊、靜止紋理、計算機合成圖形等等)的編解碼器。對視訊部分來說,眾多Profiles中很常用的一種是Advanced Simple Profile (ASP),例如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標準是一致的,故全稱為MPEG-4 AVC/H.264。

ITU-T

國際電信聯盟遠程通信標準化組(英語:ITU Telecommunication Standardization Sector,縮寫ITU-T)是國際電信聯盟管理下的專門制定遠程通信相關國際標準的組織。

他制定的一系列標準都是H.26X H.261 | (H.262) | H.263 | H.263v2 | H.264

其中H.262和MPEG-2處于系統和水準

H.264 對應于 MPEG-4 L10 的AVC

WMV

微軟公司專有制定的一系列視頻編碼標準,有多個版本,從V9版本開始逐步開始走開放的、標準化的道路

?

3.?? 常用視頻編碼方式有Xvid(MPEG4),H264,MPEG1,MPEG2。


Xvid:與RMVB格式差不多的壓縮率,通用性很強,特別是用于家用DVD和便攜式MP4等設備。

Divx:1998年微軟開發了第一個在PC上使用的MPEG-4編碼器,其中的MS MPEG4V3系列的編解碼能力都非常不錯。但微軟卻將這個MS MPEG4V3 的視頻編碼內核封閉在Windows Media流媒體技術上,也就是說僅僅應用于ASF文件。這招不僅導致ASF不能充分傳播和占領主流市場,更引起了一幫黑客破解了MPEG4 V3。經過這幫黑客的修改,DivX誕生了。
·DivX格式也就是DVDrip格式,它在采用了MPEG4的壓縮算法同時又加入了MP3的音頻技術。使用DivX技術對視頻圖像進行壓縮,再用MP3或AC3編碼對音頻進行壓縮,然后將視頻、音頻、外掛字幕等文件合成而形成的視頻格式。最終結果是,使用DivX技術壓縮的視頻文件具有直逼DVD的質量,而體積只有后者的數分之一。??
·XviD:說到XviD,我們不得不提到前面的Divx格式,后者雖然從微軟MPEG4 V3發展而來,但也不是一個完全開源的技術標準。所以原先的部分人馬開始了另外一種途徑,重新發展XviD格式,從名字就看出,XviD是Divx倒過來的寫法。XviD從Divx的基礎上改進而來,具有強大的可調節性,可設置很多選項,針對不同電影進行不同的壓縮方式。更重要的是,XviD是完全開放源代碼,所以有很多人投入到XviD的開發之中,在這點上,XviD格式比起Divx格式有很大優勢。
它們的文件后綴都是AVI的。

?

DIVX,XVID:DIVX視頻編碼技術實際就是MPEG4 壓縮技術,它可以說是對上挑戰DVD,對下擠壓SVCD,DIVX-MPEG4對DVD和SVCD造成的威脅不容忽視(有人說它是 DVD 殺手),它由 Microsoft MPEG4v3 修改而來,使用MPEG4 壓縮算法。據說MPEG4 是美國禁止出口的編碼技術,用它來編碼、壓縮一部DVD只需要兩張CD-ROM!這樣就意味著,你不需要買昂貴的 DVD ROM 也可以得到和它質量差不多的視頻節目了,而這一切只需要你有 CD-ROM。播放(解壓縮)MPEG4編碼,對機器的要求也不高,CPU只要是300MHz以上,再配上64MB的內存和一個有8MB顯存的顯卡就可以流暢地播放了。對播放軟件方面的要求就更寬松,你只需要安裝一個500K 大小的MPEG4 編碼驅動后,用Windows自帶的媒體播放器就可以流暢地播放。
XVID與DIVX實際上是同出一源,都是根據MPEG4V3修改而來,不過由于DIVX在版本5之后不在開放源代碼,因此有部分程序員將DIVX 3.11改進后成為XVID。
DIVX和XVID的另外一個特點是可以外掛字幕和AC3音頻源,這樣就可以在近似于DVD的畫面質量的基礎上,享受到DVD的音效,同時還可以自己選擇字幕,給了用戶很大的自由度。
AVI,WMV,ASF,DAT,MPG,VOB:這些都是媒體文件的存儲格式,AVI通常用于DIVX/XVID編碼的文件的存儲,

MPEG4文件的特性為,文件的封裝格式為avi(也即文件名后綴為avi),文件的視頻格式為MPEG-4 Visual(簡稱MPEG-4 ),視頻編解碼器ID為Xvid或DivX(有時顯示為DX50(DivX 5)).


H264:面前壓縮率最高的視頻壓縮格式,與其他編碼格式相比,同等畫面質量,文件體積最小,遠遠超過RMVB
編碼格式,電腦都可以播放,部分便攜式視頻設備也支持,如蘋果播放器。PDA/PPC等設備也可以使用

?

?

?

2、H.261/H.263
  ①、H.261標準通常稱為p*64,H.261對全色彩、實時傳輸動圖像可以達到較高的壓縮比,算法由幀內壓縮加前后幀間壓縮編碼組合而成,以提供視頻壓縮和解壓縮的快速處理。由于在幀間壓縮算法中只預測到后1幀,所以在延續時間上比較有優勢,但圖像質量難以做到很高的清晰度,無法實現大壓縮比和變速率錄像等。
  ②、H.263的基本編碼方法與H.261是相同的,均為混合編碼方法,但H.263為適應極低碼率的傳輸,在編碼的各個環節上作了改進,如以省碼字來提高編碼圖像的質量,此外,H.263還吸取了MPEG的雙向運動預測等措施,進一步提高幀間編碼的預測精度,一般說,在低碼率時,采用H.263只要一半的速率可獲得和H.261相當的圖像質量。

?


MPEG1:其實就是VCD編碼格式。

MPEG-1:制定于1992年,它是針對1.5Mbps以下數據傳輸率的數字存儲媒體運動圖像及其伴音編碼而設計的國際標準。也就是我們通常所見到的VCD制作格式。使用MPEG-1的壓縮算法,可以把一部120分鐘長的電影壓縮到1.2GB左右大小。這種視頻格式的文件擴展名包括.mpg、.mlv、.mpe、.mpeg及VCD光盤中的.dat文件等。

MPEG1:技術特點:MPEG-1制定于1992年,可適用于不同帶寬的設備,如CD-ROM、Video-CD、CD-i。它的目的是把221Mbit/s的NTSC圖像壓縮到1.2Mbit/s,壓縮率為200∶1。這是圖像壓縮的工業認可標準。它可針對SIF標準分辨率(對于NTSC制為352×240;對于PAL制為352×288)的圖像進行壓縮,傳輸速率為1.5Mbits/s,每秒播放30幀,具有CD音質,質量級別基本與VHS(廣播級錄像帶)相當

MPEG-1也被用于數字電話網絡上的視頻傳輸,如非對稱數字用戶線路(ADSL),視頻點播(VOD),以及教育網絡等


MPEG2:DVD編碼格式。比MPEG1強,與MPEG1一樣,已經落后的編碼格式,壓縮率都不高,編碼后的文件體積大,多用于希望把網上下載的文件轉換為VCD或DVD碟的時候。

MPEG2:技術特點:MPEG-2制定于1994年,設計目標是高級工業標準的圖像質量以及更高的傳輸率。MPEG-2所能提供的傳輸率在3MB-10MB/s間,在NTSC制式下的分辨率可達720×486,MPEG-2能夠提供廣播級的視像和CD級的音質。MPEG-2的音頻編碼可提供左右中及兩個環繞聲道,以及一個加重低音聲道和多達七個伴音聲道。MPEG-2的另一特點是,可提供一個較廣范圍的可變壓縮比,以適應不同的畫面質量、存儲容量以及帶寬的要求。
應用范圍:MPEG-2技術就是實現DVD的標準技術,現在DVD播放器也開始在家庭中普及起來了。除了作為DVD的指定標準外,MPEG-2還可用于為廣播、有線電視網、電纜網絡以及衛星直播提供廣播級的數字視頻。

MPEG-2:制定于1994年,設計目標為高級工業標準的圖像質量以及更高的傳輸率。這種格式主要應用在DVD/SVCD的制作(壓縮)方面,同時在一些HDTV(高清晰電視廣播)和一些高要求視頻編輯、處理上面也有相當的應用。使用MPEG-2的壓縮算法,可以把一部120分鐘長的電影壓縮到4到8GB的大小。這種視頻格式的文件擴展名包括.mpg、.mpe、.mpeg、.m2v及DVD光盤上的.vob文件等。

?

MPEG4:技術特點:MPEG-4 于1998 年11 月公布,它不僅是針對一定比特率下的視頻、音頻編碼,更加注重多媒體系統的交互性和靈活性。這個標準主要應用于視像電話、視像電子郵件等,對傳輸速率要求較低,在4800-64000bits/s之間,分辨率為176×144。MPEG-4利用很窄的帶寬,通過幀重建技術、數據壓縮,以求用最少的數據獲得最佳的圖像質量。
應用范圍:經過這兩年的發展,現在最熱門的應用是利用 MPEG-4 的高壓縮率和高的圖像還原質量來把 DVD 里面的 MPEG-2 視頻文件轉換為體積更小的視頻文件。經過這樣處理,圖像的視頻質量下降不大但體積卻可縮小幾倍,可以很方便地用 CD-ROM 來保存 DVD 上面的節目。另外,MPEG-4在家庭攝影錄像、網絡實時影像播放將大有用武之地。

 3、MPEG是(運動圖像編碼專家組)研發的,是壓縮運動圖像及其伴音的視音頻編碼標準,它采用了幀間壓縮,僅存儲連續幀之間有差別的地方 ,從而達到較大的壓縮比。MPEG目前比較常用MPEG—1、MPEG—2和MPEG—4三個版本,以適應于不同帶寬和圖像質量的要求。
  ①、MPEG—1的視頻壓縮算法依賴于兩個基本技術,一是基于16*16(像素*行)塊的運動補償,二是基于變換域的壓縮技術來減少空域冗余度,壓縮比相比M-JPEG要高,對運動不激烈的視頻信號可獲得較好的圖像質量,但當運動激烈時,圖像會產生馬賽克現象。 MPEG-1以1.5Mbps的數據率傳輸視音頻信號,MPEG-1在視頻圖像質量方面相當于VHS錄像機的圖像質量,視頻錄像的清晰度的彩色模式≥240TVL,兩路立體聲伴音的質量接近CD的聲音質量。 MPEG-1是前后幀多幀預測的壓縮算法,具有很大的壓縮靈活性,能變速率壓縮視頻,可視不同的錄像環境,設置不同的壓縮質量,從每小時80Mb至400Mb不等,但數據量和帶寬還是比較大。
  ②、MPEG-2它是獲得更高分辨率(720*572)提供廣播級的視音頻編碼標準。MPEG-2作為MPEG-1的兼容擴展,它支持隔行掃描的視頻格式和許多高級性能包括支持多層次的可調視頻編碼,適合多種質量如多種速率和多種分辨率的場合。它適用于運動變化較大,要求圖像質量很高的實時圖像。對每秒30幀、720*572分辨率的視頻信號進行壓縮,數據率可達3-10Mbps。由于數據量太大,不適合長時間連續錄像的需求。
  ③、MPEG-4是為移動通信設備在Internet網實時傳輸視音頻信號而制定的低速率、高壓縮比的視音頻編碼標準。 MPEG-4標準是面向對象的壓縮方式,不是像MPEG-1和MPEG-2那樣簡單地將圖像分為一些像塊,而是根據圖像的內容,其中的對象(物體、人物、背景)分離出來,分別進行幀內、幀間編碼,并允許在不同的對象之間靈活分配碼率,對重要的對象分配較多的字節,對次要的對象分配較少的字節,從而大大提高了壓縮比,在較低的碼率下獲得較好的效果, MPEG-4支持MPEG-1、MPEG-2中大多數功能,提供不同的視頻標準源格式、碼率、幀頻下矩形圖形圖像的有效編碼。
  總之,MPEG-4有三個方面的優勢:
  ①、具有很好的兼容性;
  ②、MPEG-4比其他算法提供更好的壓縮比,最高達200:1;
  ③、MPEG-4在提供高壓縮比的同時,對數據的損失很小。所以,mpeg-4的應用能大幅度的降低錄像存儲容量,獲得較高的錄像清晰度,特別適用于長時間實時錄像的需求,同時具備在低帶寬上優良的網絡傳輸能力。

RM,RMVB:RM和RMVB是REAL公司出品的一種音視頻編碼格式,同時也是這種格式編碼的文件的存儲方式,其中RM是恒定碼率的,而RMVB是可變碼率的。REAL編碼的特點是在盡可能低的數據率上實現盡可能高的畫面質量,尤其是RMVB,在450K的碼率的時候就可以實現相當清晰的畫面質量,缺點是音頻質量比較一般,同時畫面細節損耗比較高,尤其是亮度部分,所以RM和RMVB的電影通常會給人畫面比較暗的感覺。
其他音視頻編碼格式:其他比較常見的其他格式有MOV,MP4,H263,H264,WMV-HDTV,MKV,OGG,INDEO CODEC,ACM,WAV,CD等等,因為這些格式或不常見,或不適合網絡流分發,所以應用范圍通常比較有限。

4.?? 常見存儲封裝格式
WMV和ASF通常是微軟MPEG4算法的存儲格式

DAT和MPG是MPEG1算法編碼的文件的存儲方式,其中DAT主要用于VCD,VOB則是MPEG2算法編碼的文件的存儲方式,通常用于DVD。

不同視頻封裝格式有不同的優缺點,總體上說AVI和RM是目前最常見的格式,而AVI由于先天缺陷不利于網絡傳輸;m2ts和mkv是先進的下一代標準,今后可能逐步流行。

????? AVI (.avi)

是英語Audio Video Interleave(“音頻視頻交織”或譯為“音頻視頻交錯”)的首字母縮寫,由微軟在1992年11月推出的一種多媒體文件格式,用于對抗蘋果Quicktime的技術。現在所說的AVI多是指一種封裝格式。

它支持很多種編碼方式:Xvid、WM、H.264、MPEG等。

常見的組合有:* (DivX或XviD+MP3).avi,* (H.264+MP3).avi* (WMV9+MP3).avi

????? ASF (.asf)

Advanced Systems Format(原名“Advanced Streaming Format”,.asf),微軟的一個與Windows Media Player相關聯的流媒體格式。

他的注意目的是解決AVI格式在流傳輸上的不足。

????? WMV (.wmv)

微軟的對應WMV標準的封裝格式

????? QuickTime ( .mov)

蘋果的,不用說了

????? MPEG (.mpg / .mpeg)

基于MPEG-1/MPEG-2/MPEG-4系列標準的封裝格式

????? MP4 (.mp4)

全稱MPEG-4 Part 14,是一種使用MPEG-4的多媒體電腦檔案格式,副檔名為.mp4,以儲存數碼音訊及數碼視訊為主。

????? m2ts (.m2ts / .mts )

是一種視訊檔案格式(container)可支援多工的影音流. m2ts架構于MPEG transport stream 以及著名的 BDAV MPEG-2 transport stream.[1][2][3] 這種檔案格式多支援于高清的 Blu-ray Disc 與 AVCHD.

這是最新的MPEG-4架構中的封裝格式,很可能會成為下一代的主流方式

????? Matroska (.mkv / .mks / .mka )

Matroska是一種新的多媒體封裝格式,這個封裝格式可把多種不同編碼的視頻及16條或以上不同格式的音頻和語言不同的字幕封裝到一個Matroska Media檔內。它也是其中一種開放源代碼的多媒體封裝格式。

????? Ogg

是一個自由且開放標準的容器格式,由Xiph.Org 基金會所維護。Ogg格式并不受到軟件專利的限制,并設計用于有效率地流媒體和處理高品質的數字多媒體。“Ogg”意指一種文件格式,可以納入各式各樣自由和開放源代碼的編解碼器,包含音效、視頻、文字(像字幕)與元數據的處理。

????? RM ( .rm / .rmvb)

Real 公司

?

5.?? 幾種常見的轉換格式設置


適合家用DVD播放的媒體文件(此DVD需要支持MP4文件播放功能)
代表含義 設置值
設置音頻流編碼格式 LAME MP3
設置音頻流采樣率 44100Hz
設置音頻流取樣聲道 默認即可
設置音頻流編碼具體方式 ABR
設置音頻流轉換后的聲道 Auto
設置音頻流轉換碼率 96 kbps或128kbps
設置視頻流具體編碼方式 Bitrate-based
設置視頻流轉換碼率 400 kbps或500 kbps
設置視頻編碼格式 Xvid
設置封裝容器 AVI
設置轉換后的文件的分辨率 400x-3
設置轉換后的文件的幀率 24
適合支持大部分PDA、智能手機播放的媒體文件,低速CPU機型適用(CPU速度低于400MHz的)
此設置方式一般也適合大多數MP4播放設備。PDA、智能手機需要安裝TCPMP才可以更好的支持AVI和MKV格式
代表含義 設置值
設置音頻流編碼格式 LAME MP3
設置音頻流采樣率 44100Hz
設置音頻流取樣聲道 默認即可
設置音頻流編碼具體方式 ABR
設置音頻流轉換后的聲道 Auto
設置音頻流轉換碼率 96 kbps
設置視頻流具體編碼方式 Bitrate-based
設置視頻流轉換碼率 320 kbps
設置視頻編碼格式 Xvid
設置封裝容器 AVI
設置轉換后的文件的分辨率 320x-3
設置轉換后的文件的幀率 24
適合支持大部分PDA、智能手機播放的媒體文件,高速CPU適用(CPU速度大于或等于400MHz的)
代表含義 設置值
設置音頻流編碼格式 CT AAC+
設置音頻流采樣率 44100Hz
設置音頻流取樣聲道 默認即可
設置音頻流編碼具體方式 aacplus
設置音頻流轉換后的聲道 Stereo
設置音頻流轉換碼率 32 kbps
設置視頻流具體編碼方式 Bitrate-based
設置視頻流轉換碼率 200 kbps
設置視頻編碼格式 H264
設置封裝容器 Matroska
設置轉換后的文件的分辨率 320x-3
設置轉換后的文件的幀率 24

適合保存VCD至硬盤的轉換設置
設置位置 代表含義 設置值
設置音頻流編碼格式 CT AAC+
設置音頻流采樣率 44100Hz
設置音頻流取樣聲道 默認即可
設置音頻流編碼具體方式 aacplus
設置音頻流轉換后的聲道 Stereo
設置音頻流轉換碼率 48 kbps
設置視頻流具體編碼方式 Quality-based
設置視頻流轉換碼率 95
設置視頻編碼格式 H264
設置封裝容器 Matroska
設置轉換后的文件的分辨率 352x-3
設置轉換后的文件的幀率 24

適合保存DVD至硬盤的轉換設置
代表含義 設置值
設置音頻流編碼格式 CT AAC+
設置音頻流采樣率 44100Hz
設置音頻流取樣聲道 默認即可
設置音頻流編碼具體方式 aacplus
設置音頻流轉換后的聲道 Stereo
設置音頻流轉換碼率 64 kbps
設置視頻流具體編碼方式 Bitrate-based
設置視頻流轉換碼率 500 kbps或600 kbps
設置視頻編碼格式 H264
設置封裝容器 Matroska
設置轉換后的文件的分辨率 640x-3
設置轉換后的文件的幀率 24

?

?

6.?? 無損視頻編碼

?? 壓縮,還是不壓縮?這是個問題。常見的MPEG、WMV、RMVB等格式實際上都屬于有損壓縮,換句話說就是犧牲畫質換取較小的體積。但如果不壓縮,視頻文件的體積將會十分驚人,一盤60分鐘的DV帶,如果以AVI格式保存,大約需要11GB空間,存儲和攜帶都非常不便。那為何不試試視頻文件的無損壓縮呢?這可不是癡人說夢,實際上無損壓縮視頻并不復雜,裝上編碼器,幾步就能完成。

  一.視頻無損壓縮三劍客

  目前常用的無損壓縮編碼/解碼器有三種,它們分別是CorePNG、Huffyuv和MSU Lossless Video Codec,三者都是免費軟件,在壓縮比和壓縮速度上可以說是各有千秋,下面筆者會逐一介紹。這些編碼器都是只有核心,沒有外殼,因此必須通過視頻轉換軟件調用,筆者建議使用VirtualDub,這是個免費軟件,可以到 http://www.skycn.com/soft/1998.html 下載。

上述種編碼/解碼器的下載地址如下:

MSU Lossless Video Codec: http://www.ogg.cn:8080/Upload/DownLoad/msu-ls-codec.zip

Huffyuv: http://www.ogg.cn:8080/Upload/DownLoad/huffyuv_220.rar

CorePNG: http://www.ogg.cn:8080/Upload/DownLoad/CorePNG-VFW-v0.8.2.exe

其中MSU Lossless Video Codec和CorePNG都可以直接運行exe可執行文件安裝,只有Huffyuv,必須在解壓后用右鍵單擊huffyuv.inf文件,選擇彈出菜單中的“安裝”安裝,如圖1所示。

  二.實戰無損壓縮

  這些編碼器的調用方式完全一致。打開VirtualDub,執行“文件”/“打開視頻文件”導入要處理的視頻,這里筆者使用的是一個9.93MB的AVI視頻文件,然后選擇“視頻”/“壓縮”打開如圖2所示的對話框,在左邊的列表中我們可以找到剛才安裝的編碼器。下面我們就從MSU Lossless Video Codec開始。

  1.MSU Lossless Video Codec

  選擇“MSU Lossless Video Codec BETA v0.2.4”,單擊“配置”,打開如圖3所示的對話框,該編碼器的默認設置為“High compression”,軟件會在提高壓縮比的同時盡可能多的保留圖像細節,這個設置實際上是有損的,但其視頻質量卻非常高,即使將畫面放大數倍,肉眼也很難分辨出其中的差別。當然,如果你的要求很高,也可以選擇“Low compression”,這樣就可以得到100%的無損壓縮視頻了,不過得到的視頻文件體積相對較大,詳細對比大家可以參看表1。

  2.Huffyuv

  在圖2所示的對話框中選擇“uffyuv v2.2.0”,再單擊“配置”,打開如圖4所示的對話框,“YUY2 compression method”下拉列表中的選項對壓縮比的影響最大,其默認設置是“Predict median(best)”,此時的壓縮速度較慢,但壓縮比最高;選擇“Predict left(fastest)”則可大幅度提高壓縮速度,但卻會降低壓縮比,對比情況可參看表2。在“RGB compression medhod”下拉列表中請務必選擇“<-Convert to YUY2”,否則播放時會造成非法操作:(,“Field Threshold”可根據源文件的水平清晰度設置,最高可設置到768線。其它選項不用管它,單擊“OK”即可設置完成。

?????? 3.CorePNG

??????? 在圖2所示的對話框中選擇“CorePNG VFW Codec v0.8.2”,單擊“配置”,打開如圖5所示的對話框,這里的設置雖多,但對壓縮比影響最大的是“Compression Level”,其默認設置為“6-Normal”,這是個中庸的設置,另外你也可以選擇“1-Fastest”或“9-Best”,其它選項一般無須更改。不同設置下的壓縮比見表3。

進行完以上設置后,執行“文件”/“另存為AVI”即可開始壓縮。只要安裝了編碼/解碼器,系統中的任何多媒體播放工具,例如Windows Media Player或者MPC等,以及視頻處理軟件都可以直接打開這些AVI文件。

huffyuv - 大名鼎鼎, 不用介紹了, 相當快速的無損壓縮 codec, 不過似乎停止開發了

  下載頁面: http://neuron2.net/www.math.berkele...rg/huffyuv.html

  Alparysoft Lossless Codec - Alparysoft 的商業軟件, 如果不注冊右下角就會有 logo, 即便如此, 壓縮比通常會遠高于 huffyuv, 速度也不錯

  如果您感興趣的話, 下載頁面: http://www.alparysoft.com/prod/compression/index.php

  CorePNG - 不了解, 看到 doom9 上有人推薦, 所以找來, 壓縮比跟 AlparySoft 的差不多, 可能稍好點, 但速度很慢...

  下載頁面: http://corecodec.org/projects/corepng/

  最后隆重推薦 ffv1 , FFMpeg Project 下開發的無損壓縮, 所以很自然的 ffdshow encoder 部分包含有它, 壓縮比最大, 速度也很快, 但多半比 huffyuv 慢, 沒有細看...^^, 而且是 OpenSource 的軟件, 免費, 加上 ffdshow 加入了它很容易找到, ^^

  ffmpeg project: http://ffmpeg.sourceforge.net/

  ffdshow project: http://sourceforge.net/project/show...ackage_id=59355

  使用 ffdshow 包含的 ffv1 請下載 ffdshow-20040725.exe, 安裝后 vfw 選擇窗口會有 ffdshow Video Codec, 在 encoder 部分的下拉選項選擇 FFv1 即可.

  下面是些小測試.

  訊源1 (bink) 6,912 kb

  uncompressed 327,612 kb

  Huffyuv 163,630 kb

  Alparysoft Lossless 68,276 kb

  CorePNG 63,934 kb

  FFv1 56,918 kb

  huffyuv 不用說了, 其他三個經測試 PSNR 同 uncompressed.avi 比較計算結果都是

  Y: PSNR: 1.#INF 1.#INF 1.#INF

  U: PSNR: 1.#INF 1.#INF 1.#INF

  V: PSNR: 1.#INF 1.#INF 1.#INF

  Sum: PSNR: 1.#INF 1.#INF 1.#INF

  Minimum Average Maximum

  值得信賴 Alpary 的不注冊右下角會有 logo, 所以比較的時候訊源和比較對象都切了 64 像素, 切掉了編碼后有而訊源中沒有的 logo -_-~! .

  盡管如此, 我們有那么棒的 MPEG-2/MPE-4 的編碼, 或者 Real Codec 等為什么要巨大的無損編碼? 比如即使是 FFV1 其碼率都是 DVD 最高碼率的 2 倍以上.

  無損編碼通常用來采集, 極少有人會用其最為最終成品, 而一般都會交給常用的有損編碼的, 所以無損編碼通常只是個 intermediate 而以 ^^, 它會很有用處當

  1. Input 是個怪胎, 沒有第三方軟件支持, 而自己的編輯/編碼 又很差勁, 比如 bink...(不好意思說它壞話了), bink 其實不差, 它的壓縮比很高, 但有時太糊了, 比如 ff8 的 CG, 而且沒有第三方軟件支持, 上了它的賊船就別想下去, 幸好它還支持 vfw, 可以做編碼轉換, 但不支持 XviD 的 2pass, 壓縮出來結果好象也沒有 vdmod 好(?).

  2. 比如想要自己做 gameplay, 采集成無損的 avi 再作后期處理, avi 如此常見什么軟件都支持.

  3. 作為 Intermediate, uncompressed avi 太大了... 而且大于 2G/4G 的文件會不被一些 軟件/文件系統 支持, 用 FFv1 達到 3-6 倍壓縮率且同樣無損, 可以節省大量硬盤空間, 速度在現在的主流配置上應該也不錯, 何樂而不為 .

  4. WinDVR 和 PowerDVR 支持用 MPEG-2 采集, 但很多 TV 采集軟件并不支持 mpeg2 編碼, 如果用 XviD/DivX/RV 第一有損, 第二若開了高級選項速度可能會很慢。 所以不妨用無損編碼, 在這領域 huffyuv 由于其速度很快一直很受歡迎, ffv1 (vlc) 速度應該比 huffyuv 慢, 如果機器不錯做 TV 采集也可以試試 ffv1

  上面的只作了一次測試, 具體的壓縮率并不是唯一, 更多的 doom9 上的 moogie 曾經做過測試 , ffv1 雖不是每次都最好, 不過幾乎每次都進了三甲

  繼續玩兒 ff8 cg ...

  ps. ff8 ending theme 最后三個 CG, 加在一起 16:07, 用 ffv1 無損壓縮后才 1.04G, 碼率 93nn kb/s, 跟 DVD 最高碼率差不多持平....當然 ff8 CG 其實只有 15 fps, 不然該兩倍于其碼率的 但也很不錯咯

?

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/attilax/archive/2010/08/12/5807047.aspx

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455616.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455616.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455616.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Binder

問&#xff1a;為什么Android要采用Binder作為IPC機制 答案來自百度知道&#xff1a; &#xff08;1&#xff09;從性能的角度數據拷貝次數&#xff1a;Binder數據拷貝只需要一次&#xff0c;而管道、消息隊列、Socket都需要2次&#xff0c;但共享內存方式一次內存拷貝都不需要…

matlab 三維核密度圖_Matlab精彩畫圖示例:三維網狀圖和三維曲面圖

接上篇&#xff1a;Matlab精彩畫圖示例&#xff1a;繪制圖上圖這篇介紹兩個繪制三維圖的命令&#xff1a;mesh - 繪制三維網狀圖surf - 繪制三維曲面圖matlab代碼如下&#xff1a;繪制三維圖的matlab代碼示例程序運行結果如下&#xff1a;mesh(X,Y,Z) draws a wireframe mesh w…

Django之templates模板

模板的使用 1.如何使用模板 在manage.py的同級文件夾中創建templates在setting.py的文件中把第58行DIRS: [ ],改成DIRS: [os.path.join(BASE_DIR,templates)], 知識點: os.path.join(BASE_DIR,templates) 拼接兩個字符串 BASE_DIR找到項目根目錄127.0.0.1:8000/myadmin/templ…

STL容器刪除元素的陷阱

今天看Scott Meyers大師的stl的用法&#xff0c;看到了我前段時間犯的一個錯誤&#xff0c;發現我寫的代碼和他提到錯誤代碼幾乎一模一樣&#xff0c;有關stl容器刪除元素的問題&#xff0c;錯誤的代碼如下&#xff1a;std::vector<struct> mFriendList;...std::vector&l…

JDBC1

1.jdbc的概述 是sun公司統一提供的一套接口規范,各個數據庫生產商提供實現 注冊驅動,獲得連接,獲得執行的SQL語句對象,釋放資源 package com.learn.jdbc;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;import org.junit.Test;publ…

無符號哥倫布指數編碼

在H264編解碼中&#xff0c;哥倫布指數編碼是經常用到的&#xff0c;下面是無符號哥倫布指數編碼的C代碼&#xff1a; static inline int bs_read_ue( bs_t *s ){ int i 0; while( bs_read1( s ) 0 && s->p < s->p_end && i < 32 ) { …

django后臺多頁面分頁邏輯python代碼

#!/usr/bin/env python # -*- coding:utf-8 -*- # Created by 秋葉夏風# 本模塊的功能:<>def get_page_list(max_page,curr_page,leng):用于生成頁數列表:param max_page:最大頁數:param curr_page:當前頁數:param leng:分頁步長:return:list# max_page 20# curr_page …

python程序怎么保存到u盤_python實現usb自動拷貝程序的方法

python實現usb自動拷貝程序的方法 發布時間&#xff1a;2020-06-28 09:07:05 來源&#xff1a;億速云 閱讀&#xff1a;135 作者&#xff1a;清晨 這篇文章將為大家詳細講解有關python實現usb自動拷貝程序的方法&#xff0c;小編覺得挺實用的&#xff0c;因此分享給大家做個參考…

young people can also be a leader

2019獨角獸企業重金招聘Python工程師標準>>> The leaders or directors of organizations are often older people. But some people say that young people can also be a leader. To what extent do you agree or disagree? In my view , young people can also …

BZOJ 2004 公交線路(狀壓DP+矩陣快速冪)

注意到每個路線相鄰車站的距離不超過K&#xff0c;也就是說我們可以對連續K個車站的狀態進行狀壓。 然后狀壓DP一下&#xff0c;用矩陣快速冪加速運算即可。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <algorithm>#define…

python爬取網易云歌單_詳解python selenium 爬取網易云音樂歌單名

目標網站&#xff1a;首先獲取第一頁的數據&#xff0c;這里關鍵要切換到iframe里打印一下獲取剩下的頁數&#xff0c;這里在點擊下一頁之前需要設置一個延遲&#xff0c;不然會報錯。結果&#xff1a;一共37頁&#xff0c;爬取完畢后關閉瀏覽器 完整代碼&#xff1a; url htt…

Idea的一些調試技巧及設置todo

程序員的工作內容&#xff0c;除了大部分時間寫代碼之外&#xff0c;因為有不少的時間是用在調試代碼上。甚至說不是在調試代碼&#xff0c;就是即將調試代碼。 :) 今天我們來談談調試代碼的一些技巧&#xff0c;在使用IDE提供的debugger時一些快速定位問題的方式。 看到這里的…

安裝Node.js和npm

安裝Node.js和npm 學習了&#xff1a;http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143450141843488beddae2a1044cab5acb5125baf0882000 轉載于:https://www.cnblogs.com/stono/p/6891242.html

c++ cstring 轉換 char_cstring.h庫常用函數

上周&#xff0c;老師講了大整數的運算方法&#xff0c;我對大數的存儲和運算還有些不理解&#xff0c;仔細思考了一下&#xff0c;其實還是訓練孩子對機器存儲數據的各種掌握和運用吧。不多想&#xff0c;先期孩子雖然一直學習&#xff0c;但是缺乏對知識的系統整理&#xff0…

Django后臺管理之商品分類

商品分類 1.建表字段 1.pid&#xff1a;用來綁定父類的 2.path&#xff1a;用來拼接id&#xff0c;保證查詢出的數據是按照層級關系展示的2.concat 把表中的兩個字段拼接成一個新的字段&#xff0c;通過as重新命名3.查詢語句 1.按照第二步拼接成新的字段的名字進行排序查詢…

PMT_Stream數據結構

0123 012345670123456701234567012345671stream_type reserved_1elementary_PIDreserved_2ES_info_length 2ES_info_length …(描述信息)3…(描述信息)4crc32 1 節目號 stream_type 8指示了PID為elementary_PID的PES分組中原始流的類型&#xf…

Maven:基本使用

為什么80%的碼農都做不了架構師&#xff1f;>>> 1.項目管理工具&#xff1a; Maven的repository&#xff0c;說白了就是dependency的倉庫&#xff0c;它按照一定的規則將dependency存放起來&#xff0c;以作緩存&#xff0c;如果本機的 repository找不到某個depen…

UVA 11383 - Golden Tiger Claw(二分圖完美匹配擴展)

UVA 11383 - Golden Tiger Claw 題目鏈接 題意&#xff1a;給定每列和每行的和&#xff0c;給定一個矩陣&#xff0c;要求每一個格子(x, y)的值小于row(i) col(j)&#xff0c;求一種方案&#xff0c;而且全部行列之和的和最小 思路&#xff1a;A二分圖完美匹配的擴展&#xff…

淺談web開發以及django的安裝和入門

淺談web開發 1.B/S和C/S結構 B/S:瀏覽器與服務器進行的交互模式&#xff08;不需要官方下載的&#xff0c;一夫多妻制&#xff09; C/S:客戶機與服務器進項的交互模式&#xff08;必須官方下載的&#xff0c;一夫一妻制2.MVC和MVT MVC: M:模型層&#xff08;Model&#xff0…

大數據可視化html模板開源_大數據時代-可視化數據分析平臺必不可少

公眾號&#xff1a;不安分的猿人一、項目簡介DataGear是一款數據管理與可視化分析平臺&#xff0c;使用Java語言開發&#xff0c;采用瀏覽器/服務器架構&#xff0c;支持多種數據庫&#xff0c; 主要功能包括數據管理、SQL工作臺、數據導入/導出、數據集管理、圖表管理、看板管…