視頻編碼完全指南

點(diǎn)擊上方“LiveVideoStack”關(guān)注我們
翻譯 | Alex
技術(shù)審校 | 袁榮喜
本文來自O(shè)TTVerse,作者為Krishna Rao Vijayanagar。
視頻編碼是一門在減少視頻數(shù)據(jù)體積大小或碼率的同時(shí)而不對(duì)其質(zhì)量產(chǎn)生不良影響(在人類的視覺感知下)的科學(xué)。對(duì)視頻進(jìn)行編碼從而減少其數(shù)據(jù)體積同時(shí)保持視頻質(zhì)量是一項(xiàng)綜合了藝術(shù)和科學(xué)的技術(shù)。在本篇文章中,我們將介紹這個(gè)復(fù)雜且神奇的領(lǐng)域?qū)σ曨l流和視頻傳輸產(chǎn)生的巨大影響。
視頻編碼
?Easy?Tech
什么是視頻編碼
什么是視頻轉(zhuǎn)碼以及視頻轉(zhuǎn)碼與視頻編碼的區(qū)別
視頻質(zhì)量VS碼率
視頻編碼中的關(guān)鍵概念:編解碼器、碼率、分辨率、時(shí)間、GOP和幀類型
視頻編碼是藝術(shù)還是科學(xué)?
? ?什么是視頻編碼?
? ?什么是視頻轉(zhuǎn)碼以及視頻轉(zhuǎn)碼與視頻編碼的區(qū)別
解碼不同的容器格式(mp4,ts等)。 使用不同的視頻編解碼器解碼比特流,如H.264/AVC、HEVC、AV1和VP9等。 改變視頻的分辨率,從而可以輸出不同的分辨率(對(duì)ABR流制作至關(guān)重要)。
Transrate是指改變視頻碼率。 Transmux是指改變?nèi)萜鞲袷?,如將mp4更改為avi或者ts。
? ?視頻質(zhì)量VS視頻編碼/轉(zhuǎn)碼中的碼率
使用DCT(Discrete Cosine Transform,離散余弦變換)將“像素域”轉(zhuǎn)換為“頻域”。如果你還不了解什么是DCT,可以看下這篇文章(如何給5歲孩子解釋DCT?)。
通過一種被稱為量化的技術(shù)舍棄一些頻域數(shù)據(jù)(被稱為系數(shù)),同時(shí)確保人眼無(wú)法感知這種數(shù)據(jù)丟失。
如果你使用過高的壓縮率來壓縮視頻數(shù)據(jù),那么將丟掉大量信息,壓縮的效果顯而易見——糟糕的視頻質(zhì)量。
如果你使用較低的壓縮率來壓縮視頻,那么壓縮后文件就會(huì)很大,但會(huì)得到很棒的視頻質(zhì)量。 上面所述被稱為視頻壓縮中的率失真折衷。碼率越小,視頻質(zhì)量越差(假設(shè)分辨率、比特位深、色度二次采樣、編碼時(shí)間和硬件等都是固定的。)

1080P,低碼率
1080P,高碼率
? ?影響視頻編碼的重要因素

非常容易壓縮!

沒那么容易壓縮!
視頻里有充滿各種動(dòng)作的體育運(yùn)動(dòng)嗎? 有大量的草地或者水(二者都很難壓縮)嗎? 充滿各種動(dòng)作的電影(戰(zhàn)爭(zhēng)或者高速追車) 露出頭部和肩部的內(nèi)容,比如新聞或者脫口秀 卡通、日本動(dòng)畫? 內(nèi)容中是否有提示文字(Ticker text)向一側(cè)移動(dòng),而電影向著另一側(cè)移動(dòng)?
kbps(千比特每秒) mbps(兆比特每秒)
高分辨率的視頻(如4K)需要更多內(nèi)存空間和時(shí)間來壓縮。
低分辨率的視頻(如360p)需要較少內(nèi)存空間,并且能夠很快被壓縮。
如果你正在視頻直播,那么你肯定不能每分鐘只編碼1幀,那么做將是大災(zāi)難!你需要以接近24fps、50fps或者60fps的刷新率來實(shí)時(shí)壓縮視頻。在這樣的情況下,編碼器通常會(huì)為了提升速度而犧牲視頻質(zhì)量。
然而,當(dāng)你在點(diǎn)播視頻時(shí),你可以花幾個(gè)小時(shí)的時(shí)間來壓縮視頻。在這樣的情況下,編碼器被調(diào)整為緩慢壓縮,并使用復(fù)雜的工具來獲得更高的壓縮效率及更好的視頻質(zhì)量。
顧名思義,Closed GOP對(duì)GOP外部的幀是封閉的。一個(gè)屬于Closed GOP的幀只能參考這個(gè)GOP之內(nèi)的幀。 Open GOP與Closed GOP相反,Open GOP內(nèi)部的幀可以參考其他GOP中的幀。

幀的類型?(I幀、P幀和B幀)
I幀(關(guān)鍵幀或幀內(nèi)幀)僅由幀內(nèi)預(yù)測(cè)的宏塊組成。 P幀代表預(yù)測(cè)幀,除了空域預(yù)測(cè)以外,它還可以通過時(shí)域預(yù)測(cè)來進(jìn)行壓縮。P幀通過使用已經(jīng)編碼的幀進(jìn)行運(yùn)動(dòng)估計(jì)。 B幀可以參考在其前后出現(xiàn)的幀,B幀中的B代表雙向(Bi-Directional)。

視頻編碼一覽表
? 視頻編碼和轉(zhuǎn)碼工具

Mux.com
Encoding.com
Wowza.com
Harmonic 360
AWS Elemental
QEncode
Coconut.co
Bitmovin.com
? ?所以,視頻編碼究竟是藝術(shù)還是科學(xué)?
? ?結(jié)束語(yǔ)
喜歡我們的內(nèi)容就點(diǎn)個(gè)“在看”吧!

