CAE+VBR如何提升用户体验?
內容自適應編碼(CAE)產生的是動態碼率(VBR)視頻流,根據內容復雜性為視頻分配所需的碼率從而讓“編碼質量”與“碼率/帶寬/存儲空間”達到最佳平衡,為用戶提供最佳的體驗質量。
文 / Pratima Ashok Dhuldhule & Darshan Datt K. S.
翻譯 / john
審校 / 蔣默邱澤
原文 https://www.ittiam.com/blog-vbr-cae-high-qoe/
你是否擔心與CBR(恒定碼率)視頻流相比,CAE(內容自適應編碼)處理的視頻所產生的VBR(動態碼率)視頻流可能會對用戶觀看視頻的主觀體驗質量產生負面影響?實際上這種擔心是多余的。通過使用恰當的表現形式或清單文件可以基于內容自適應編碼為用戶提供最佳的體驗質量從而使得觀眾不斷的獲取更多內容。
1.?ABR, CAE和VBR
自適應編碼(ABR)流已經在流媒體行業中無處不在,這與ABR技術所具備的低緩沖、靈活快速啟動以及低延遲的互聯網連接優質QoE服務體驗密不可分。
盡管ABR技術著實為行業帶來了一些挑戰,但用戶和開發人員可以借助內容自適應編碼(CAE)技術的力量克服這些挑戰。內容自適應編碼的原理是根據內容復雜性為視頻分配所需的碼率從而讓“編碼質量”與“碼率/帶寬/存儲空間”達到最佳平衡。
與生成恒定碼率(CBR)視頻流的傳統DVB兼容廣播編碼器不同,內容自適應編碼解決方案產生的是動態碼率(VBR)視頻流。目前,我們所面對的關鍵問題之一是動態碼率(VBR)視頻流與恒定碼率(CBR)視頻流在對用戶體驗質量(QoE)的影響上存在哪些異同?
2.?視頻播放的用戶體驗質量之辯
ABR 播放時若想實現出色的用戶體驗質量不僅取決于最佳編碼質量,還取決于播放期間ABR流之間的切換次數較少。
業界有一種觀點認為:CAE產生的VBR流造成的視頻碼率變化,會導致用戶更多重新開關加載內容,視頻播放QOE質量會因此而顯著降低用戶耐心。
借這篇文章,我們將向您展示VBR流是如何借助恰當的表現形式或對比列表,實現與傳統CBR流相似甚至更好的呈現平滑切換,從而打消您在這方面的顧慮。
3.?Ittiam針對主流播放器的實驗
我們通過比較主流播放器(例如VideoJS和DashJS)播放流時所做的呈現切換的數量來比較以下設計選擇:?
VBR編碼 對比 CBR編碼
參考目標碼率的VBR流 對比 參照峰值波動碼率的VBR流
3.1常見設置細節
塊長度:10秒。
ABR示例:如表1所示。
表1:用于驗證的ABR 碼率示例
用于碼率限制的工具:Chrome的“inspect element”或Safari的Charles Debugging Proxy
用于編碼視頻流的編碼器:x264
編碼模式:CBR和VBR(除編碼器外還有,THINKode - Ittiam基于ML的用于生成VBR流的CAE解決方案)
封裝格式:HLS和DASH
圖1表示精確到分片級別的CBR和VBR流碼率變化情況。
?
圖1:VBR和CBR流的碼率
3.2 實驗過程
實驗1:基于峰值碼率的VBR流
情形一:
DashJS播放器的測試結果
注意: DashJS播放器的ABR策略被設置為默認動態策略。(為了利用Bola與吞吐量策略的優勢,默認動態策略會在兩者之間進行切換,關于這些策略的更多信息請訪問:https://github.com/Dash-Industry-Forum/dash.js/wiki/ABR-Logic。)
針對VBR流觀察到的呈現切換次數:1
CBR流的呈現切換次數:1
圖2表示DashJS播放器的實際呈現。
圖2:DashJS Player上的VBR與CBR流
DashJS使用1000kbps作為初始帶寬,同時下載ABR4作為VBR和CBR流的第一個切片。在整個播放期間,兩個流的切換次數保持不變。
情形二:
VideoJS播放器的測試結果
VBR的呈現切換數量:2
CBR的呈現切換數量:2
圖3表示VideoJS播放器的實際呈現。
圖3:對比VideoJS Player上的VBR與CBR流。
向VideoJS播放器指定的第一個碼率與分辨率始終與假定的初始4Mbps帶寬相關。因此,播放器以ABR2開始并在VBR和CBR流中切換到ABR4。雖然顯現(representation)切換的次數依舊,但你要注意的是在CBR的情況下,播放器卻在ABR3設置完畢之前繼續播放ABR4流并持續了更長的時間。
但在VBR的情況下,播放器很快就切換到了ABR3。
情形三:
使用Safari瀏覽器進行測試
VBR的測試呈現切換數量:0
CBR的測試呈現切換數量:1
圖4:Safari播放器上的VBR與CBR流
Safari播放器始終會從清單文件中的ABR列表里選擇第一個呈現流進行初始段下載。我們將ABR2流保留為HLS清單文件中的第一呈現流播放。
當兩個流都以ABR2開始播放時,對于CBR流播放器初會快速切換到ABR3,因為播放器發現這是基于可用帶寬和緩沖水平下只能穩妥丟棄顯示;對于VBR流,播放器則會繼續使用ABR2,因為前幾個段的比特率較低導致最佳緩沖級——這正是播放器為緩解嚴重的緩沖而不斷重試下載切片塊。
實驗2:參照峰值碼率的VBR流與參照平均碼率的VBR流
基于峰值碼率的VBR流的呈現切換次數:1
基于平均碼率的VBR流的呈現切換次數:1
圖5表示DashJS播放器的實際流呈現。
圖5:使用DashJS時Manifest中的峰值碼率與平均碼率
DashJS播放器考慮根據吞吐量和緩沖級別來選擇合適碼率顯示。
若以上兩種情況下的平滑呈現切換次數保持不變。播放器如果選擇現成的碼率表現VBR流的平均碼率自然選擇更高質量的顯示流。
情形一:
使用VideoJS播放器進行測試
基于峰值碼率的呈現切換次數:2
基于平均碼率的呈現切換次數:2
圖6表示VideoJS播放器的實際呈現。
圖6:使用VideoJS時Manifest中的峰值碼率與平均比特率
對于使用平均碼率呈現的流,存在更頻繁切換。
對于使用峰值碼率呈現的視頻流,視頻分片的碼率永遠不會超過峰值碼率。因此,播放器可以使用較少的平滑切換順暢地播放ABR視頻流。
情形二:
使用Safari播放器進行測試
基于峰值碼率的呈現切換次數:0
基于平均碼率的呈現切換次數:4
圖7表示Safari播放器的實際呈現。
圖7:使用Safari時Manifest中的峰值碼率與平均比特率
Safari播放器的行為類似于VideoJS播放器。對于使用平均碼率呈現的流,其平滑切換數量(次數)遠高于使用峰值比特率呈現的流。
如前面所述,對于使用峰值比特率呈現的流,視頻分片的碼率永遠不會超過峰值比特率。因此,播放器可以使用較少的平滑切換順暢地播放ABR視頻流。
4.?結論
我們的實驗清楚地表明,對于目前流行的ABR播放器,使用峰值碼率的VBR流與傳統CBR流相比可提供相同甚至更加出色的用戶體驗質量。
點擊【閱讀原文】或掃描圖中二維碼了解更多LiveVideoStackCon 2019 上海 音視頻技術大會 日程信息。
總結
以上是生活随笔為你收集整理的CAE+VBR如何提升用户体验?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 来自曾经一起“挥洒汗水”的志愿者伙伴们的
- 下一篇: NETINT刘伟:ASIC才是未来