Media capabilities
MediaCapabilities はメディア能力 API のインターフェイスで、機器、システム、ブラウザーのデコード能力に関する情報を提供します。この API を使用すると、コーデック、プロファイル、解像度、ビットレートに基づいて、機器のデコード能力についてブラウザーに問い合わせることができます。 この情報は、ユーザーに最適なメディアストリームを提供したり、再生をスムーズかつ電力効率的に行うべきかどうかを判断したりするために使用できます。
この情報には Navigator および WorkerNavigator インターフェイスの mediaCapabilities プロパティを通じてアクセスできます。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 66 | 79 | 63 | 13 | 66 | 13 | |
| decodingInfo() は MediaCapabilities インターフェイスのメソッドで、指定された構成でユーザーエージェントがメディアをどれだけデコード/表示できるかに関する情報で履行するプロミスを返します。 | 66 | 79 | 63 | 13 | 66 | 13 |
| encodingInfo() は MediaCapabilities インターフェイスのメソッドで、確認されたメディア構成のエンコード方式の能力を履行するプロミスを返します。 これには、端末がメディアの種類とどの程度互換性があるかを記述する 3 つの論理値プロパティ、supported、smooth、powerefficient があります。 | 101 | 101 | 63 | 15.4 | 101 | 15.4 |
| Navigator.mediaCapabilities プロパティは読み取り専用で、メディア能力 API で定義されています。 指定された形式のエンコードとデコードおよび出力能力についての情報が取得できる MediaCapabilities オブジェクトを返します。 | 66 | 79 | 63 | 13 | 66 | 13 |
| 読み取り専用プロパティ WorkerNavigator.mediaCapabilities は、Media Capabilities API における定義に沿って、指定の形式のデコードやエンコードの能力、および出力の能力に関する情報へのアクセスを可能にする MediaCapabilities オブジェクトを返します。 | 76 | 79 | 63 | 15.4 | 76 | 15.4 |
- 文字列 `codecs` には、任意のオプションのパラメータのサブセットを含めることができる(すべて、またはすべてではない)。
- 文字列 `codecs` に予期しない文字が含まれているとエラーになる。
- 文字列 `codecs` には、任意のオプションのパラメータのサブセットを含めることができる(すべて、またはすべてではない)。
- 文字列 `codecs` に予期しない文字が含まれているとエラーになる。
- `type` オプションの `webrtc` 値は、`transmission` という名前です。
- Firefox 101 以前では、`decodingInfo()` は `av01` コーデックに対する `codecs` パラメータのオプションを無視し(それらを `av1` として扱っていました)。
- 文字列 `codecs` には、任意のオプションのパラメータのサブセットを含めることができる(すべて、またはすべてではない)。
- 文字列 `codecs` に予期しない文字が含まれているとエラーになる。
- `type` オプションの `webrtc` 値は、`transmission` という名前です。
実務での使いどころ
-
Media capabilities の活用
MediaCapabilities はメディア能力 API のインターフェイスで、機器、システム、ブラウザーのデコード能力に関する情報を提供します。
注意点
- 古いブラウザでは対応していない場合がある。
実装メモ
- 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。