1. 程式人生 > >XVID、H.264、AVC、X264的一些知識

XVID、H.264、AVC、X264的一些知識

(資料來源於網際網路)

MPEG是什麼:MPEG 是Motion Picture Expert Group的縮寫,簡單講就是個行業裡的組織,專門對數字內容做出業界規範的組織。

MPEG1:MPEG1開始我們就廣泛認識到這個組織和他們的標準了。

VCD 就是其中最主要的代表。VCD這個具體的格式是從日本而來的,並遵守MPEG1規格。

MPEG2:具體代表是DVD。MPEG組織的責任就是推廣每一代新的數字媒體規範或是規格,而不是實際的產品。

換句白話就是說,政府來規定符合什麼樣標準的汽車可以上路,然後各個汽車公司按照這個具體的標準來製作自己的汽車,通過政府規定的汽車才可以上路。張三李四都可以開發自己符合mpeg規格的 codec和container(這個是什麼我之後會解釋),並且理論上拿到別人同樣按照這個規格開發的產品上照樣可以工作。具體例子就好比製作DVD的方法千千萬萬,好萊塢用來做大片,個人也可以把自家拍的DV刻成DVD。理論上講都可以在放在任何DVD機裡播放(這裡不考慮個別不相容問題)。這也是為什麼明明XVID編碼的dvdrip大家用ffdshow也可以照樣看。所以說這就是規格統一的好處。

MPEG4:Xvid 和H.264同屬於MPEG4格式,是高於MPEG1、2的新一代數字媒體格式具體規格如下:- ISO 14496-1 (Systems) - 戶動介面(有點像DVD裡的選單)- ISO 14496-2 (Video) - ASP(Advanced Simple Profile)就是其中一種,代表產品有Xvid,Divx5等等。

- ISO 14496-3 (Audio) - AAC (Advanced Audio Codec)。- ISO 14496-10 (Video) - Advanced Video Coding (AVC),也被叫做H.264。代表產品有x264。

不要把H.264和x264搞混了,一個是規格的名字,一個是開原始碼的相容編碼器,H.264有一點,X264沒有一點

- ISO 14496-14 (Container) - 檔案格式,字尾名為.MP4。這個MP4規格唯一官方指定的格式。

- ISO 14496-17 (Subtitles) - 字幕。

AVC/H.264 是MPEG-4 標準所定義的最新,同時也是技術含量最高、代表最新技術水平的視訊編碼格式之一。

AVC/H.264 視訊編碼由ISO(International Organization for Standardization) 的MPEG (Moving Pictures Experts Group)和ITU(International Telecommunication Union)的VCEG(Video Coding Experts Group) 兩個組織於2003 年最終定稿。而AVC/H.264 標準本身則是由包括來自MPEG 和VCEG 專家的Joint Video Team(JVT)開發。

ISO 14496-10 (Video) - Advanced Video Coding (AVC)從MPEG 的角度來說,這個標準叫做MPEG-4 Part10(ISO 14496-10),從ITU 的角度來說,這個標準叫做H.264(ITU 文件編號)。作為這個標準的“官方名稱”,Advanced Video Coding(AVC)是MPEG 由Advanced Audio Coding(AAC)這個音訊格式的視訊副本確定的。

(MPEG-4 Part10/AVC/H.264其實都是一個東西)AVC/H.264 Profiles:AVC/H.264 規定了多種不同的Profile:最低Profile、主要Profile、擴充套件Profile、高階Profile(這些Profile 本身還要劃分數個等級)。

-最低Profile,也叫做底線Profile(Baseline Profile)支援I/P 幀,只支援無交錯(Progressive)和CAVLC;-擴充套件Profile(Extended Profile)支援I/P/B/SP/SI 幀,只支援無交錯(Progressive)和CAVLC; -主要Profile(Main Profile)提供I/P/B 幀,支援無交錯(Progressive)和交錯(Interlaced),同樣提供對於CAVLC 和CABAC 的支援;

-高階Profile(High Profile,也叫FRExt)在主要Profile 的基礎上增加了8x8 內部預測、自定義量化、無損視訊編碼和更多的YUV 格式(如4:4:4)。

AVC profile的設定主要是針對相容性的,一些特定的硬體播放器需要指定的profile編碼才能被識別,具體的例子有PSP,iPOD視訊等,他們都有自己指定的profile。PSP是main profile/level 3,其他可能會有相容性問題。要是這些profile已經把你搞糊塗了的話,AVC Level就更多了。level有十來個,每個profile都對應這些level。因此可以有更細緻的分類。目前國內字幕組壓縮視訊大部分採用了H.264 High Profile(如HalfCD MIniSD CHD),所以說支援High Proflie具有積極的意義。