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

すべてのデバイスで動画がスムーズに再生される。

François Beaufort
François Beaufort

YouTube が 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 を実装する

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