YouTube が Media Capabilities API を使用して動画のパフォーマンスを向上させた方法

すべてのデバイスでスムーズな動画再生を確保。

フランソワ ボーフォート
François Beaufort

Media Capabilities API を使ったテストでは、MTBR が 7.1% 向上し、配信される動画の平均解像度はわずか 0.4% 低下しました。

問題

通常、メディアサイトには、さまざまなフレームレート、解像度、コーデックでエンコードされた複数のバリエーションがあり、ユーザーに提示できます。最近までは、ウェブ デベロッパーは各バリアントが個々のユーザーのブラウザで再生できるかどうかを、isTypeSupported() または canPlayType() だけを使って判断するしかありませんでした。これにより、メディアを再生できるかどうかはデベロッパーに通知されましたが、フレーム落ちやデバイスのバッテリー消耗の有無など、再生品質を示すものではありませんでした。この情報がなければ、デベロッパーは独自のヒューリスティックを作成するか、デバイスでコーデックと解像度の組み合わせを再生できれば、効率的かつスムーズに再生できると仮定しなければならなくなります。これは、性能の低いデバイスを使用するユーザーにとっては、多くの場合、エクスペリエンスの低下につながりました。

ソリューション

Media Capabilities API を使用すると、ウェブサイトはクライアントの動画デコード パフォーマンスに関する詳細情報を取得し、ユーザーに提供するコーデックと解像度について十分な情報に基づいて判断できます。具体的には、特定のコーデックと解像度の組み合わせのスムーズさと電力効率の推定値をデベロッパーに提供します。これにより、デベロッパーはクライアントの再生エクスペリエンスが低下する可能性が高いシナリオを回避できます。

Chrome では、Media Capabilities API が以前の再生の指標を使用して、同じコーデックでの同じ解像度での今後の再生がスムーズにデコードされるかどうかを予測します。

YouTube の事例紹介

YouTube は、Media Capabilities API を使用して、デバイスでスムーズに再生できない解像度を適応ビットレート アルゴリズムが自動的に選択するのを防ぎました。

テストグループでは、再バッファリングの頻度が全体的に少なくなり(再バッファ間隔(MTBR)の平均時間は 7.1% 増加)、動画の高さで測定した平均解像度は、集計グループ全体で 0.4% のみ減少しました。MTBR の大幅な増加とそれに対応する平均解像度の低下は、この変更により、以前はエクスペリエンスが低かった少数のユーザーの品質が大幅に向上したことを示しています。

サイトに Media Capabilities API を実装する

Decoding Info API の仕組みについては、公式サンプルをご覧ください。