VBR一次編碼 v.s 二次編碼(VBR 1-pass vs 2-pass)
常常看許多線上的下載的影片檔,
尤其是盜版電影,時間長度可能長達兩個小時,但檔案容量卻神奇的小,怎麼辦到的?
要達到以上的這個目標,有幾個關鍵,一個就是編碼器的種類,比如從前的DivX、mpeg-2…以至於到現普遍的H.264以至於到H.265等等,再來就是位元流量(bitrate),數值越高對於影片的細節保留則越好。
以上的論述對於大部份使用者都是再熟悉不過的常識,筆者觀察不少同業好友,只要在意自己最終的作品呈現品質,都會盡可能使用新的編碼器+高位元率,但忽略了一個重要的事情,就是「位元壓縮方式」。
網路上許多高品質卻又小容量的影片檔案,除了使用新型編碼器以外,還花了更多的時間在做編碼壓縮處理。
當你決定了編碼器和壓縮率後,你已經決定你的影像品質的80%,剩下的20%表現就是位元率的編碼方式:VBR或CBR,現在主要預設都是以VBR為主,CBR只剩下部份網路串流設備或舊型編碼器仍在使用,但VBR還有分為1-Pass和2-Pass,通常預設值會落在壓縮時間與品質折衷的1-Pass(或稱single-pass),如果你不趕時間,為了作品最終呈現品質,何不順手設定為2-Pass呢?
![](https://i2.wp.com/www.jacksonlin.net/wp-content/uploads/2017/03/premiere-vbr-設定.jpg?resize=438%2C131&ssl=1)
Adobe Premiere的h.264影片輸出可設定編碼的方式
CBR和VBR簡介
CBR (constant bitrate)為一致性的壓縮位元率,也就是將影片(或聲音)從頭到尾都用同一標準下去做壓縮,優點是省效能、速度快。
VBR(Variable bitrate)意即可變動的壓縮位元率,在使用VBR 1-pass時,會照當前的影格下去分析可能投入多少資源來壓縮較恰當,以最終不超過指定容量限制為主。而VBR 2-pass,可稱二次編碼,第一次會先將影片頭至尾做分析,判斷使用者指定的檔案大小,可以在哪些片段使用較高或較低的位元率,比如某些部份是靜態景則可使用低位元率,某些畫格變化大、畫面也複雜,則需要高位元率…最後依照第一次的分析資料,來作為第二次壓縮的依據。
VBR通常可設定目標流量和最大流量,原則上會依照目標流量來計算壓縮率,如遇到太過複雜的畫格時,才允許程式將流量限制提高至最大值,所以VBR大概就是”把流量花在刀口上”的概念。
編碼的方式當然不是只有這兩個,此外還有ABR、CQ、CRF…但都非主流,所以在此不詳述。
直播編碼≠檔案編碼
最近很流行直播,許多廠商也陸續推出各類網路直播器,如果你研究半天,仍納悶為何無VBR 2-Pass的選項可用,那你得等廠商設計出”可預測未來之占卜級編碼器”才有可能辦得到了,都說2-Pass需要先把影片完整分析一次再回頭壓縮了,還沒發生的事你要編碼器如何預測? VBR 2-Pass的意義在於在「指定的檔案容量下,分析出每一幀最適當的壓縮程度」,所以對直播而言,只有VBR 1-Pass,而VBR 2-Pass=Nothing。
如果你在和家人Skype通話或在收看網路直播,畫面變化大時突然就糊掉了,這就代表目前是用CBR的方式在做影像編碼。
![](https://i1.wp.com/www.jacksonlin.net/wp-content/uploads/2017/03/hero-md.jpg?resize=600%2C190&ssl=1)
Blackmagic Design Web Presenter – 網路直播時代的專業設備
壓縮率太高時,不宜使用2-Pass
當你的檔案流量過低時(低於5Mb/s),也就是當你必需把檔案容量擺在第一要件、品質只能在次要時,也許使用VBR 1-pass反而適合,因在流量不足的情況下,2-pass為了要努力在有限的空間內做更精準的壓縮、嘗試保留更多細節,反而會讓顆粒過度明顯。
所以2-Pass不是萬能,要使用2-Pass,壓縮率最好至少有10Mbps以上,除此之外,你還要確保你的足夠的時間等待。
![](https://i0.wp.com/www.jacksonlin.net/wp-content/uploads/2017/03/vbr-2pass-low-bitrate.jpg?resize=575%2C300&ssl=1)
流量過低時,使用VBR 1-Pass(左)的顆粒現象可能會比VBR 2-Pass(右)還要理想。
from: https://www.jacksonlin.net/20170304-vbr-cbr/