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