確保所有裝置都能順暢播放影片。
在 Media Capabilities API 的實驗中,YouTube 的 MTBR 增加 7.1%,放送的影片平均解析度也只減少 0.4%。
問題說明
一般來說,媒體網站會針對每個影片提供多種變化版本,並採用不同的畫面更新率、解析度和轉碼器編碼。直到最近,網頁開發人員只能仰賴 isTypeSupported()
或 canPlayType()
,才能判斷各個變化版本能否在個別使用者的瀏覽器中播放。雖然開發人員已知道媒體是否能夠播放媒體,但並未提供播放品質的指標,例如是否有影格遺失或裝置電池耗電。如果沒有這項資訊,開發人員必須建立自己的經驗法則,或假設裝置可以播放轉碼器/解析度組合,才能順暢運作,同時提升省電效率。對功能較差的使用者而言,這通常會導致使用體驗不佳。
解決方法
Media Capabilities API 可讓網站取得更多有關用戶端影片解碼效能的資訊,並在掌握充分資訊後,決定要向使用者提供的轉碼器和解析度。具體來說,這個 API 可讓開發人員預估特定轉碼器和解析度組合的流暢度和電源效率。如此一來,開發人員就能避免用戶端可能不利於播放體驗的情況。
在 Chrome 中,Media Capabilities API 會根據先前播放的指標,預測日後以相同轉碼器和解析度播放的日後播放時,是否能順利解碼。
YouTube 個案研究
YouTube 使用 Media Capabilities API 來避免他們的自動調整位元率演算法自動選取裝置無法順暢播放的解析度。
屬於實驗群組的使用者,整體的重新緩衝頻率減少 (重新緩衝作業之間的平均重新緩衝時間,也就是 MTBR 的平均時間,增加了 7.1%),而平均解析度 (根據影片高度測量) 只會向匯總群組曝光減少 0.4%。MTBR 中的平均解析度大幅上升,但是平均解析度的下降幅度較小,代表對於之前體驗不佳的一小部分使用者,這項變更的品質大幅提升。
在網站上導入 Media Capabilities API
如要瞭解解碼資訊 API 的運作方式,請參閱官方範例。