YouTube高效传输策略:节省14%带宽 用户体验提升
視頻平臺會偵測用戶端的帶寬來調整碼率及分辨率,但通常只考慮到編碼器的比特率率--質量關聯,忽略了用戶的可用帶寬影響。YouTube團隊通過讓視頻流匹配用戶帶寬,不僅節省了帶寬,還有效提升了用戶主觀體驗。LiveVideoStack原文進行了編譯。
文 / Balu Adsumilli, Steve Benting, Chao Chen, Anil Kokaram, and Yao-Chung Lin
譯 / 金歌
YouTube致力于在消耗最低帶寬的前提下,提供最佳的視頻體驗。實現這一目標的一種做法是在優化視頻時同時考慮可用帶寬的約束。最近我們的確提升了視頻流的傳輸性能——通過優化視頻本身使其與可用帶寬更加的匹配,從而提供了更高的視頻的(觀看)質量。
當您觀看視頻時,YouTube的播放器會在客戶端測量當前的帶寬,同時結合用戶的終端設備、解碼能力、處理能力等,動態選擇最佳的視頻塊,從而能以足夠快的速度進行下載。YouTube制作具有不同分辨率的多個視頻,分辨率高的視頻對應編碼比特率也更高。
圖1:基于HTTP的自適應視頻流
針對特定的分辨率,Youtube會選擇使用多少比特來進行編碼呢(在編碼器允許的范圍內)?對于一個給定的分辨率,更高的比特率通常意味著更高的視頻質量,但這種視頻質量的提升有一個上限。超過這一上限后,進一步提高比特率只會使得視頻塊更大,并不能提升視頻的視覺效果。當我們選擇某一分辨率下的編碼比特率時,我們會在相應的比特率--質量曲線上選擇最優點(參見圖2),超過這個最優點后,繼續增加比特率并不能使圖片視覺效果更好。
圖2:在給定視頻編解碼器的情況下,某一視頻塊在不同編碼分辨率下的比率--質量曲線。
我們找到了圖中這些最優點,但在觀察過人們觀看視頻的方式后,我們意識到(其實)我們可以更高效地傳輸視覺效果更出色的視頻。
這些最優點是在假設用戶的帶寬不受限的前提下獲得的,然而,如果我們僅僅依據這些最優點來設定編碼比特率,我們會發現實際的視頻質量常常受限于用戶的帶寬限制。相反,在給定用戶帶寬分布(傳輸帶寬)的前提下,如果選擇最佳的操作點(而不是曲線中的最優點),我們通常能獲得更好的視頻觀看體驗(傳輸視頻質量)。
可以借助圖3來理解這一點,我們將用戶可用的帶寬想象為圖3中所示的管道。鑒于管道的容量適合360p的視頻塊而不是480p的視頻塊,我們可以通過估計流式傳輸的帶寬來調整480p視頻塊的大小,從而使其更適應管道的容量,由此提高用戶所觀看到的分辨率。我們解決了由此所產生的約束優化問題,以確保視頻質量沒有受到明顯的可感知的影響。簡言之,通過分析匯總的播放統計數據并相應地調整不同分辨率下的比特率,我們實現了將更高質量的視頻傳輸給更多的用戶。(注1)
圖3:高效流媒體方案對比圖(使用/不使用本方法)
可以借助圖4中給出的例子來理解流式傳輸的帶寬與單個觀看者帶寬的區別。給定測量出的觀看者可用帶寬的分布情況,可以使用相鄰分辨率的編碼比特率之間的區域來估計實際播放分辨率的分布情況。
我們能夠通過播放的統計數據對播放器在不同分辨率之間切換時的行為進行建模。這使我們能夠有效預測何時比特率的提高易使得播放器切換到較低的分辨率,從而消除某一分辨率下提高比特率所帶來的(負面)影響。基于這一模型,我們能夠在實際系統中更好的選擇視頻(碼率)的操作點。
圖4:例如,給定分辨率720p,我們可以根據帶寬的概率密度函數來估計不同分辨率下播放的分布情況。使用不同視頻版本的編碼比特率來劃分橫軸帶寬,每個視頻版本被觀看的概率可以用帶寬曲線下的對應區域來表示。
另一個容易混淆的地方是每個操作點都對應一個估計的傳輸質量,而這與視頻編碼質量是不一樣的。當用戶的可用帶寬降低時,用戶更傾向于切換到更低的視頻分辨率,此時會得到一個新的操作點。這種切換對每個分辨率的編碼質量不會有影響,但是卻會影響視頻的傳輸質量。
圖5:編碼器優化系統
在圖5中,碼率-質量分析模塊以待編碼的視頻作為輸出,同時為每個分辨率產生一條碼率-質量曲線。性能估計模塊結合碼率-質量分析模塊產生的碼率-質量曲線,以及觀看視頻率和流式傳輸帶寬的分布,估計出可能的操作點,最后通過非線性優化器選擇出可能的最佳操作點。
系統的輸出結果是各個分辨率下最佳操作點的集合。優化算法可以被設定為用于在視頻傳輸質量受限的情況下,最大限度地減少平均流媒體帶寬,或者用于在流式傳輸帶寬預算受限的情況下,最大限度地提升視頻的傳輸質量。
當我們使用此系統處理高清視頻時,我們成功將YouTube播放中的流式傳輸帶寬減少了14%。這一帶寬的減少將有助于降低觀眾在觀看YouTube視頻時的數據消耗,這對于數據總量受限的用戶尤為有幫助。我們還觀察到高清分辨率視頻的觀看時間增長了6%,這是因為更多人能夠在固定和移動網絡上傳輸更高分辨率的視頻。
這種方法的另一大好處是提升了觀看體驗。 除了對傳輸質量的影響極小之外,這些視頻的加載速度提高了5%,卡頓的次數卻減少了12%。
我們在提高視頻流傳輸效率方面取得了進展。 但我們想做的還有更多。
目前我們的優化方法基于全球范圍內觀看者的帶寬和播放器的分辨率的分布情況。 但有時視頻的觀看是有區域性的。例如,某一受歡迎的印度音樂視頻可能不會在巴西流行起來,而某一西班牙體育賽事的視頻也不太可能在越南多次播放。帶寬與播放器分辨率的分布情況因國而異。倘若我們能夠準確預測某一視頻將在哪些地理區域流行起來,那么我們便可以通過整合當地的帶寬統計數據,更好地處理這些視頻。我們正在對這一方案進行研究,以便為您帶來更好的視頻觀看體驗!
注1:Chao Chen, Yao-Chung Lin, Anil Kokaram and Steve Benting, "Encoding Bitrate Optimization Using Playback Statistics for HTTP-based Adaptive Video Streaming," Arxiv, 2017
WebRTCon 2018 ?上海,期待與你相遇
繼2017年第一屆LiveVideoStackCon音視頻技術大會之后,LiveVideoStack又一次出發——WebRTCon 2018,將于5月在上海舉行,這是一次對過去幾年WebRTC技術實踐與應用落地的總結。
WebRTCon 2018設立了主題演講,WebRTC與前端,行業應用專場,測試監控和服務保障,娛樂多媒體開發應用實踐,WebRTC深度開發,解決方案專場,WebRTC服務端開發,新技術跨界,WebRTC與Codec等多個專場。邀請30余位全球領先的WebRTC技術專家,為參會者帶來全球同步的技術實踐與趨勢解讀。
總結
以上是生活随笔為你收集整理的YouTube高效传输策略:节省14%带宽 用户体验提升的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于TensorFlow Lite的人声
- 下一篇: Facebook视频支持AV1