理解ABR及其工作原理
點擊上方“LiveVideoStack”關(guān)注我們
翻譯 | Alex
技術(shù)審校 | 趙軍
本文來自O(shè)TTVerse,作者為Krishna Rao Vijayanagar。
ABR
Easy Tech
#007#
ABR表示Adaptive Bitrate(自適應(yīng)碼率),它廣泛地描述了這樣一個過程:視頻和音頻的質(zhì)量和碼率會根據(jù)當前網(wǎng)絡(luò)狀況的波動而發(fā)生自適應(yīng)變化,以確保網(wǎng)絡(luò)傳輸流暢。
ABR明顯不同于CBR(Constant Bitrate)和VBR(Variable Bitrate),理解ABR將有助于我們理解視頻流化中的各種概念。
? 我們?yōu)槭裁葱枰狝BR?
為了理解對于ABR的需求,我們先要認識到互聯(lián)網(wǎng)上的流媒體都是“盡力而為(best-effort)”的服務(wù)。對于這些流媒體而言,無論是速度/帶寬、效率,還是錯誤恢復(fù)能力,都無法做到絕對保證。
這與通過有線網(wǎng)絡(luò)(傳統(tǒng)cable網(wǎng)絡(luò)一般被認為是可控網(wǎng)絡(luò))提供給機頂盒的電視不同:電視有線網(wǎng)絡(luò)可以確保正常運行時間,并極少出現(xiàn)視頻中斷以及視頻質(zhì)量出現(xiàn)急劇變化的情況。如果你訂閱了Fox的高清1080p新聞,你肯定會看到高清1080p的視頻(絕對能保證)。
但是,當視頻通過互聯(lián)網(wǎng)傳輸時,情況就大不相同了。為什么會這樣?
? 帶寬波動的簡單解釋
假設(shè)你家里的互聯(lián)網(wǎng)帶寬是10mbps。
你的電視使用一個Cat 5網(wǎng)線直接連接到路由器上。你有三個手機、兩個平板都連接在同一網(wǎng)絡(luò)上,你的孩子做家庭作業(yè)也要用這個網(wǎng)!
考慮一下所有設(shè)備都在同一時間連到同一互聯(lián)網(wǎng)上,那它們需要消耗多少帶寬?
現(xiàn)在,你坐下來觀看自己最喜歡的節(jié)目。你的電視這時可能消耗了3mbps的帶寬來播放節(jié)目。10分鐘后,你的太太打開了她iPad的上的YouTube,也開始看她最喜歡的節(jié)目。
這時,電視的可用帶寬突然下降(也許下降到2mbps),因為你太太也在使用同一WiFi。需要明確的是,帶寬發(fā)生了突然變化(從3 mbps到2 mbps)——33%的下降!
現(xiàn)在最重要的問題來了——你的電視正在下載什么,以什么碼率,質(zhì)量呈現(xiàn)如何?如果你有一個單一的視頻版本(Rendition, 指內(nèi)容相同,但編碼、分辨率、碼率等不同的視頻),會做什么樣的選擇?
讓我們來反問內(nèi)容提供商,為了滿足不同家庭的不同帶寬需求,他們應(yīng)該以何種碼率編碼?
這基本是個不可能的任務(wù):提供單一版本的視頻或者視頻編碼來滿足所有用戶的不同帶寬需求和限制。
?ABR來幫忙
根據(jù)ABR的工作原理,輸入視頻有多種版本(在不同碼率、分辨率和幀率下),可以使用不同編解碼器來滿足大量帶寬條件、屏幕尺寸和各種設(shè)備。
??
碼率階梯、配置文件和不同的視頻版本?????
????????????????????????????????????????????
拿到一個源視頻,第一件事就是在不同版本或者配置文件下將其編碼,從而形成碼率階梯。
比如,你可能要將視頻在以下配置文件中進行編碼:
1.????1080p 5.0 mbps
2.????720p 4.0 mbps
3.????640p 3.2 mbps
4.????480p 2.0 mbps
5.????270p 1 mbps
你可以選擇任意你想要的編解碼器、碼率、分辨率、編解碼器分辨率或幀率,但是做決策時需要格外謹慎。
比如,如果你向世界上某些地區(qū)提供視頻服務(wù),假設(shè)這些地區(qū)中99%的人都無法使用超過2mbps帶寬的網(wǎng)絡(luò),那么編碼碼率超過2mbps就是在浪費時間、金錢和存儲空間,對吧?
在這些配置文件中選擇碼率階梯和編碼后,你將這些視頻打包,然后通過使用視頻流協(xié)議(如DASH、HLS、HDS和MSS等)的清單或者播放列表將視頻提供給播放器,即終端用戶。
打包
視頻打包是指將一個視頻分割成多個小的片段(視頻塊),以便每個片段都能單獨被交付或者傳輸給播放器,而不是一次下載整部電影。
播放器使用這個清單來理解視頻是如何下載并呈現(xiàn)給用戶的。
帶寬自適應(yīng)視頻播放
假設(shè)視頻按照上文中的碼率階梯編碼,當播放器開始播放視頻時,它感知到的可用帶寬為20mbps(我們假設(shè)),這遠大于最高碼率5mbps。所以播放器可以安全地下載第一個最高碼率為5mbps的視頻片段(也許時長6秒鐘)。然后播放器再次感知帶寬,如果依然很高,那么它將再請求最高碼率的視頻片段。
如果帶寬突然下降到5mbps,播放器將向服務(wù)器請求碼率為4mbps的視頻片段,因為請求5mbps的片段會有風(fēng)險。然后播放器會接收并播放4mbps的視頻片段。
這個過程會一直持續(xù),直到將所有視頻播放完。
我剛才所介紹的是一種簡單的帶寬估計和質(zhì)量/碼率切換方法。顯然現(xiàn)在有多種復(fù)雜的算法用來控制和決定播放器的切換(BOLA就是其中一種)。
維基百科上有一張很有意思的圖片,這張圖描繪了帶寬的變化以及播放器請求的視頻片段碼率是如何適應(yīng)帶寬變化的。
圖片來源:By Daseddon –Own work, CC BY-SA 3.0
? ?總? ?結(jié)
在結(jié)束這篇ABR視頻流文章之前,讓我們復(fù)習(xí)下本文所學(xué)到的一些知識:
ABR表示Adaptive Bit Rate,即自適應(yīng)碼率
它指的是媒體交付的自適應(yīng)特性,其中播放器根據(jù)可用帶寬請求不同碼率的媒體
ABR技術(shù)的成功需要編碼器、打包器、CDN和播放器的通力協(xié)作
對于本篇文章,你如果有想要補充的內(nèi)容,歡迎在下方評論區(qū)評論。?
致謝
本文已獲得作者Krishna Rao Vijayanagar授權(quán)翻譯和發(fā)布,特此感謝。
原文鏈接:
https://ottverse.com/what-is-abr-video-streaming/
延伸閱讀:
視頻編碼完全指南
Easy Tech:什么是I幀、P幀和B幀?
為什么視頻壓縮如此重要
講師招募
LiveVideoStackCon 2022 音視頻技術(shù)大會 上海站,正在面向社會公開招募講師,無論你所處的公司大小,title高低,老鳥還是菜鳥,只要你的內(nèi)容對技術(shù)人有幫助,其他都是次要的。歡迎通過?speaker@livevideostack.com?提交個人資料及議題描述,我們將會在24小時內(nèi)給予反饋。
喜歡我們的內(nèi)容就點個“在看”吧!
總結(jié)
以上是生活随笔為你收集整理的理解ABR及其工作原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 音视频技术开发周刊 | 221
- 下一篇: 智能视频内容生产中专业视频数据导出工具的