在本文中,我們將討論OTT領域中視頻壓縮和處理的基本問題:碼率vs.分辨率,哪一個對視頻流更重要?很多人都有此困惑,因為這兩個因素會對編碼器的輸出產生深遠影響。
你認為該如何選擇?
選擇1080p還是720p?
選擇5mbps 還是3mbps?
選擇1080p@5mbps,還是1080p@7mbps?
如果你不知道該如何選擇,那就太好了。這就是我寫作本篇文章的目的:深入淺出地解釋碼率和分辨率的關系,并幫助你正確選擇編碼器設置。 讓我們先從理解碼率(bitrate)開始。
什么是視頻碼率?
視頻碼率或者碼率是指視頻信息每秒傳輸的比特數目。碼率的單位通常為:
kbps或者千比特每秒
mbps或兆比特每秒
當你在壓縮視頻時,你通常需要設置視頻壓縮軟件不要超過某個特定碼率。
比如,如果你將視頻壓縮軟件的碼率設置為3mbps,軟件就會將視頻壓縮為每秒3mb的數據(平均)傳輸給解碼器或者播放器。這就是碼率。
當你在討論碼率時,你實際上是在討論:視頻壓縮的比率與視頻質量損失的平衡。你壓縮得越多,視頻質量越低(也并不總是這樣,我們將在下文討論)。
壓縮視頻時,以下幾種算法可以用于碼率控制,它們是:
CBR(恒定碼率,Constant Bitrate):寧愿視頻質量有損失也要優先保持碼率恒定。
VBR(可變碼率,Variable Bitrate):保持恒定的視頻質量, 允許碼率波動。
Capped VBR(受限的VBR):盡可能保持恒定的視頻質量, 允許碼率在設定的范圍內波動。
本文不會詳細討論上述碼率控制方法,想深入了解的朋友,歡迎閱讀:了解速率控制模式:什么是 CBR、VBR、CRF和Capped-CRF? 所以,當我們在討論碼率時,需要注意以下幾點:
高碼率視頻的質量通常高于低碼率視頻。我說通常,是因為視頻質量到達某一點將不再提升(無論你如何增加碼率)。
碼率是指比特(bit)而非字節(byte)。
僅碼率并不能決定視頻質量,你必須考慮到分辨率、幀率、顯示尺寸等因素。
用于視頻壓縮的編解碼器:H.264/AVC、HEVC、VP9、AV1?如果你更改視頻編解碼器及其設置(或編碼工具),那么相同的碼率將提供截然不同的視頻質量。
碼率如何影響視頻質量?
為了理解碼率如何影響視頻質量,我們需要先理解視頻壓縮的工作原理。當你在壓縮視頻時,壓縮算法做了兩件事:
通過DCT(離散余弦變換,Discrete Cosine Transform),將視頻從“像素域”轉換為“頻率域”。如果你不了解DCT,可以閱讀我們之前的文章:如何給5歲孩子解釋DCT?
通過一種被稱為量化的技術舍棄一些頻域信息,同時期望人眼無法感知這種信息損失。
本質上,當你壓縮視頻時,你正是在丟棄一些信息,同時卻希望視頻質量沒有損失。當你過度壓縮視頻時,你會丟棄大量信息,這時人眼就能感知到編碼損失。如果你沒有過度壓縮視頻,那么文件會很大,同時視頻質量會很棒。 這被稱為視頻壓縮中的“率失真平衡(RDT,rate-distortion tradeoff)”,碼率越小,視頻質量越差(假設分辨率是固定的)。 RDT意味著什么? 讓我們來看下面的例子。我們使用FFmpeg分別以1.5 mbps和5 mbps壓縮示例視頻(CrowdRun)。通過下面的視頻截圖,你能告訴我哪一個來自較高碼率視頻,哪一個來自較低碼率視頻嗎? 記住,它們都是1080p。
很明顯,上圖的碼率較低,下圖的碼率較高。當我們使用5 mbps@1080p的碼率時,視頻質量很棒。同一個視頻,當我們使用1.5 mbps的碼率時,CrowdRun視頻的質量變得非常差。 但總是這樣嗎?低碼率總是會產生質量差的視頻嗎?我們通過一個簡單試驗來回答這個問題。
讓我們使用動畫視頻驗證“低碼率=低質量”這個假設。接下來的視頻,我們使用了很受歡迎的《辛普森一家》的預告片,并使用H.264/AVC(確保所有編碼器配置保持一致)分別以2.5 mbps和1 mbps壓縮視頻。
讓我們現在來看輸出。
你可以告訴我哪一個看上去質量更好嗎?它們看起來差不多,對不對?為什么會這樣? 和上一個使用CrowdRun視頻的例子(其中碼率發揮了很大作用)不同,我們發現,即使在動畫視頻中使用低碼率我們也能得到不錯的視頻質量。 這是因為動畫視頻中的運動相當小,而且視頻中的平滑區域非常容易壓縮。編碼器便可以非常高效地壓縮動畫片,并在低碼率時達到很棒的質量。
所以,在壓縮前了解你的視頻內容非常重要。
提示:你可以閱讀這篇文章來了解更多視頻壓縮的知識:視頻編碼完全指南。
既然我們已經理解了什么是碼率,接下來就讓我們了解視頻的分辨率(resolution)以及它對輸出視頻質量的影響。
什么是視頻分辨率?
視頻分辨率是指視頻的寬度乘以高度,其中衡量分辨率的單位是像素。
視頻分辨率通常以兩種方式表示:
使用視頻高度:如1080p或720p
或者使用視頻寬乘高:如1920×1080或者1280×720
在下表中,我們列出了OTT視頻流中常用的視頻分辨率:
OTT視頻流中常用的視頻分辨率 視頻分辨率在視頻傳輸中非常重要,因為它影響著用戶的觀看體驗。大部分視頻播放器會根據觀看窗口或者設備的屏幕分辨率自行調整。
如果你的用戶觀看的是48寸的電視,然后你發給他一個360p的視頻,那么他的視頻播放器就會上采樣視頻,以使視頻適應電視的顯示窗口。不過,如果你將視頻分辨率從360p上升到1080p,那么視頻質量也會變得很糟糕。
另一方面,如果你的用戶使用的是智能手機,你發給他一個UHD視頻,他很可能不會感謝你所提供的高質量,因為他的手機無法顯示UHD分辨率。視頻應用將更改分辨率以適應設備屏幕。在提供流暢觀看體驗方面,碼率和分辨率發揮了重大作用,我們將在下文了解。
其次,當視頻分辨率較低(如480p)時,如果你為編碼器提供了比較大的碼率預算(可能是5mbps),使用出色的視頻編碼器(如HEVC或AVC),選擇編碼器能處理的最復雜的設置,那么視頻質量肯定會很棒!
你發現我們剛才做了什么嗎?
我們沒有說“使用高碼率”或“使用高分辨率”!我們提到了一系列因素,并說明需要考慮到所有因素,才能幫助你獲得高質量的視頻!
碼率和分辨率:哪個更重要?
我希望前面的介紹已經能夠說服你二者都很重要——碼率和分辨率對于實時視頻流都很重要。
在壓縮視頻前,了解以下幾件事對于你來說很重要:
首先,你需要了解你的觀眾(再怎么強調也不過分)。
你的觀眾平時常用的帶寬是多少?你是為擁有高速互聯網的城市居民提供視頻服務,還是為低網速的鄉村人口提供服務?
他們是使用固定連接的網線,還是使用移動互聯網?
你的終端用戶使用什么設備?他們平時會看大屏幕的智能電視嗎?還是使用智能手機看視頻?
你所提供的視頻服務的內容屬性是什么?是充滿各種動作的電影、體育賽事,還是沒有那么多動作的新聞,亦或是很容易壓縮的動畫片?了解你的內容。
你有多少時間壓縮視頻?如果你分別花了15分鐘和3小時來壓縮3mbps的視頻,那么很可能花費3小時壓縮的視頻質量更好,因為有更多時間來應用復雜的算法并提高視頻質量。如果你的時間很少,你可能要考慮降低視頻分辨率來快速壓縮視頻,并配置更合適的碼率。
你使用哪種視頻編解碼器?目標觀眾的設備能否解碼H.264/AVC、 HEVC、AV1或者VP9?
詢問和回答這些基本問題會幫助你確定你的碼率和分辨率。
現在,讓我們來看幾個實際的例子,其中你需要選擇碼率-分辨率組合。
目標觀眾只在智能手機上觀看視頻。這種情況,你應該考慮較低碼率(也許一個1080p),并專注于創建更多分辨率為720p和碼率在2~3mbp的組合。這樣用戶就能將碼率降低到更適用移動環境以及數據連接較差的情況。
目標觀眾為城市居民,并只在智能電視或者Roku上觀看視頻。在這種情況下,你可以輕松創建兩到三個1080p的視頻流:如1080p 8mbps、1080p 6mbps、1080p 4mbps,并根據用戶的帶寬選擇合適的視頻流,因為你幾乎可以確定用戶網絡帶寬良好,而且1080p在大電視上看起來會很不錯。
新聞和脫口秀直播:全天候。在這種情況下,編碼器可以輕松且高效地壓縮視頻,所以你可以選擇1080p和3~4mbps,并將獲得非常高的視頻質量。
因此,你應該做的第一件事就是深入理解你的目標觀眾以及他們的視頻觀看習慣。通過分析這些信息,你可以輕松地確定你需要用來壓縮視頻的不同碼率和分辨率。
結語:碼率vs.分辨率
現在,我們已經結束了對于碼率、分辨率和它們二者哪一個對于視頻壓縮更重要的討論。
我希望你可以理解它們的區別,以及你需要如何使用碼率和分辨率(以及其他許多因素)來達到出色的視頻質量。
審核編輯:劉清
-
編碼器
+關注
關注
45文章
3651瀏覽量
134800 -
視頻流
+關注
關注
0文章
17瀏覽量
10344 -
視頻播放器
+關注
關注
0文章
33瀏覽量
11873 -
OTT
+關注
關注
3文章
61瀏覽量
24351
原文標題:碼率vs.分辨率,哪一個更重要?
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論