概要
Widevine DRM は、プレミアム メディア向けの Google のコンテンツ保護システムです。Google Play、YouTube、Netflix、Disney+、Amazon Prime Video、HBO Max、Hulu、Peacock、Discovery+、Paramount+ など、世界中の主要なパートナーが使用しています。Widevine は、デジタル配信でプレミアム コンテンツを視聴するための最適なエクスペリエンスを提供することに重点を置いています。
Widevine DRM は、次の標準を採用しています。
- Encrypted Media Extensions - W3C 仕様。
- 一般的な暗号化
- ISO/IEC 23001-7 - ISO ベースのメディア ファイル形式ファイルでの共通の暗号化
- ISO/IEC 23001-9 - MPEG-2 トランスポート ストリームの共通暗号化
サポートされているプラットフォーム
特に明記されていない限り、Widevine クライアントはデバイス プラットフォームにネイティブに埋め込まれています。
デバイスまたはプラットフォーム | サポートされているか? |
Android(モバイル、TV、Automotive) | ○ |
Android オープンソース(AOSP) | ○ |
Apple iOS | ○ [1] |
Apple TV(tvOS) | - |
Chromecast(キャスト) | ○ |
Google Home デバイス、Google Nest デバイス | ○ |
ChromeOS(Chromebook) | ○ |
Chrome ブラウザ(Windows、Mac OS X、Linux) | ○ |
Chromium ブラウザ | ○ |
Chromium Embedded Framework(CEF)/ Electron | ○ |
Firefox ブラウザ | ○ |
Edge ブラウザ | ○ |
Opera(ブラウザと埋め込みデバイス) | ○ |
Safari ブラウザ(パソコン) | - |
Roku デバイス | ○ |
Amazon Echo デバイス | ○ |
Amazon Fire OS デバイス | ○ |
Amazon Fire TV デバイス | ○ |
Facebook Portal デバイス | ○ |
Nintendo Switch | - |
Sony Playstation | ○ |
Microsoft Xbox | - |
スマートテレビ、ブルーレイ プレーヤー(Tizen、WebOS) | ○ |
サポートされている暗号化スキーム
次の表に、Widevine 統合プラットフォーム間の暗号化スキームのマッピングを示します。
プラットフォーム | cenc | cens | cbc1 | cbcs |
Android 4.4 ~ 6.x(Android TV を含む) | ○ | - | - | - |
Android 7.x 以降(Android TV を含む) | ○ | - | - | ○ |
Chromecast(キャスト) | ○ | - | ○ | ○ |
Google Home | ○ | - | - | - |
スマートテレビ、ブルーレイ プレーヤー | ○ | - | - | ○ |
Widevine iOS | ○ | - | - | ○ |
Chrome ブラウザ(パソコン)と ChromeOS | ○ | - | - | ○ |
Chrome ブラウザ(モバイル) | ○ | - | - | ○ |
Mozilla Firefox | ○ | - | - | ○ |
Opera | ○ | - | - | ○ |
NexPlayer SDK | ○ | - | - | ○ |
エコシステム
上の図は、DRM エコシステム内で利用可能な Widevine コンポーネントを示しています。
Provisioning、Keybox、OEMCrypto コンポーネントは、デバイスの統合プロセスに固有のものです。Widevine をデバイスに統合することをご希望の場合は、お問い合わせください。
送信元のクライアント デバイスからのライセンス リクエストは、パートナーが運用するプロキシ メカニズム(HTTPS 経由)によって受信されます。このプロキシ メカニズムは、リクエストを検証し、ビジネスルールを追加してから、Widevine License Service によって処理されるペイロードを送信します。
Widevine クライアント デバイスは、いかなる状況でも Widevine ライセンス サービスと直接通信しません。
Widevine ライセンスの発行
Widevine がクライアントにライセンスを発行する方法は 2 つあります。
- Cloud License Service
- アクセス料金や取引手数料なしで、世界中で利用できるサービス。
- アクセスは、Widevine ライセンシーに対する組織ごとの認証情報を使用して提供されます。
- License Server SDK
- 独自のライセンス サービスをホストするように設計されています。
Widevine Cloud License Service の使用
Cloud License Services には、テスト環境と本番環境の 2 つの環境があります。Widevine ライセンシーには、組織ごとの一意の認証情報でアクセス権が付与されます。
Cloud License Service には、次の 2 つのエンドポイントがあります。
- コンテンツを暗号化するためにコンテンツキーを取得する。
- この方法でリクエストされたコンテンツ キーは、Widevine Cloud License Service によって保存されます。
- ライセンスの発行
- Widevine クライアント デバイスによって生成されたライセンス リクエストを処理します。
クライアント デバイスからのすべてのライセンス リクエストは、ライセンス プロキシ メカニズムによって処理する必要があります。
- Widevine には、Cloud License Service と通信するための Proxy SDK が用意されています。
- ライセンス プロキシは、受信したクライアント リクエストを検証し、適用するビジネスルールを決定します。
- ビジネスルールは、デバイスからの元のライセンス リクエストに追加され、フルフィルメントのためにライセンス サービスに送信されます。
- ライセンスが生成されると、ライセンスの内容は変更できなくなり、リクエスト元のデバイスに個別に設定されます。
Shaka Packager
Widevine の Shaka Packager(旧称 eDASH-Packager)は、DASH 互換の MP4 形式を生成し、Widevine PSSH を使用して暗号化し、DASH マニフェストを作成する方法に関するオープンソースのリファレンス実装です。バグや機能リクエストについては、GitHub ページからお知らせください。
プレーヤー - Android
Google が管理するオープンソースの ExoPlayer プロジェクトは、Widevine CENC メディアの再生のデモを行う、推奨されるリファレンス プレーヤー ライブラリです。ExoPlayer をビルドすると、デフォルトで、Widevine チームによる既知の正常な CENC コンテンツのプリセット リストを含むデモアプリが生成されます。
プレーヤー - ブラウザ
Shaka Player オープンソース プロジェクトは、CDM(Widevine が推奨)を使用して CENC HTML5 再生をサポートする、包括的なクロスブラウザ JavaScript ライブラリ フレームワークを提供する Widevine のイニシアチブです。GitHub の外部には Shaka Player ユーザー ヘルプグループが用意されており、Widevine の Shaka Player デベロッパー チームがモニタリングしています。
Shaka Player には次の機能があります。
- フル機能のオープンソース プレーヤー フレームワーク
- 構成とカスタマイズが可能な UI
- クロス プラットフォーム、クロスブラウザ対応
- HTML5、MSE、EME、DASH のサポート
- マルチ DRM オプション