はじめに
ブライトコーブは、DRM で保護されたコンテンツを可能な限り幅広いブラウザやデバイスに配信するために、以下のテクノロジーを採用しています。
- ネイティブ/EMEがサポートするCENC DRMを搭載したMPEG-DASH
- HLS with FairPlay
DRM を Brightcove Player で使用するには、次の条件を満たす必要があります。
- DRM 対応コンテンツを生成
- DRM プラグインを使用できるように Brightcove Player を有効にする
- 場合によっては、ライセンスサーバーを使用するようにDRMプラグインを構成します
用語
プレーヤーモジュールを使用して実装する
Studio で DRM プラグインを実装し、アカウント設定に基づいて DRM を有効にするには、次の手順を実行します。
- を開きますプレイヤーモジュールを作成し、新しいプレーヤーを作成するか、DRM機能を追加するプレーヤーを見つけます。
- プレーヤーのリンクをクリックして、プレイヤーのプロパティを開きます。
- 左側のナビゲーションメニューで [ 再生 ] をクリックします。
- 次に、 DRMを有効にするチェックボックス。
- プレーヤーを公開するには、[ パブリッシュと埋め込み] > [変更の公開] の順にクリックします。
- 開くダイアログを閉じるには、[ 閉じる] をクリックします。
DRMプラグインのアーキテクチャ
DRMプラグイン( videojs-drm )は、2つのプラグインのラッパーです。
- videojs-シルバーライト
- videojs-contrib-eme
videojs-drmプラグインバージョン5は、プレーヤーの内蔵DASH再生機能を使用しています。これは、組み込みのvideojs-contrib-hlsプラグインの次のバージョンであり、名前が変更されたバージョンであるVHSを利用しています。
プレイヤー6.26.0の時点で、プレイヤーはダッシュマルチピリオドをサポートしています。以前のバージョンのプレーヤーでは、ダッシュマルチピリオドにはシャカプレーヤーが必要です。
バージョン 4 と同様に、Shaka Player を DASH 再生に使用する場合は、 videojs-drm バージョン 5 スクリプトとともに次のスクリプトを含めることができます。
https://players.brightcove.net/videojs-shaka/1/videojs-shaka.js
videojs-silverlightプラグインは、特定のInternet Explorerのブラウザでダッシュコンテンツを再生することができます。
ザ・videojs-contrib-emeプラグインは、FairPlayHLSコンテンツの再生を可能にします。
使用される再生テクノロジー
Brightcove Player は、ブラウザーごとに異なる DRM 再生テクノロジーを利用しています。Brightcove Playerで使用される DRM テクノロジーについて詳しく説明します。
- フェアプレイ :アップルのDRMシステム
- PlayReady :マイクロソフトのDRMシステム
- Widevine :グーグルのDRMシステム
次の表に、Brightcove Player で使用されるブラウザ(最新バージョン)、フォーマット、再生テクノロジの関係について詳しく説明します。
ブラウザ | [形式] | 再生技術 | 使用されるレンディションタイプ DRM コンテンツを配信するには |
---|---|---|---|
Chrome デスクトップ | DASH with Widevine | ネイティブ/EME | MPEG-DASH |
Chrome モバイル1 | DASH with Widevine | ネイティブ/EME | MPEG-DASH |
Internet Explorer2 | PlayReadyでダッシュ | シルバーライト | MPEG-ダッシュ |
エッジ | PlayReadyでDASH | ネイティブ/EME | MPEG-ダッシュ |
サファリ | HLS with FairPlay | ネイティブ HLS | HLS |
Firefoxの | Dash with Widevine | ネイティブ/EME | MPEG-DASH |
1iOSでChrome Mobileを使用したDRM再生はサポートされていません。
2Windows 10と8.1ではIE11、Win8 MetroではIE11ではネイティブ/EMEを使用する。他のすべてのIEバージョンと構成は、Silverlightプラグインを使用します。
DRMコンテンツを作成する
DRM 対応コンテンツを作成するには、次の 2 つの手順を実行する必要があります。
- アカウントを DRM 対応にする場合は、アカウントマネージャーにお問い合わせください。その後、適切なライセンスキーと取り込みプロファイルを使用してアカウントを構成し、DRM で保護されたコンテンツの作成を有効にできます。
-
DRM で保護されたコンテンツを生成します。新しいコンテンツをアップロードするか、既存のコンテンツを DRM として再エンコードするかを選択できます。これは、を選択することによって行われます取り込みプロファイルそれはあなたの望む暗号化技術を生み出します。
セグメント化および暗号化されたビデオを含むMPEG-DASHマニフェスト、またはHLSFairPlayコンテンツのいずれかを使用するDRM保護コンテンツを作成する必要があります。
コードでのFairPlay再生の実装
コードでのWidevine再生の実装
他の DRM プロバイダのサポート
プラグインは、顧客が他の DRM プロバイダのサポートを実装できるようにするパスを実装しました。Fairplay はライセンス情報を取得するために必要なカスタムロジックを必要とするため、これは主に Fairplay にとって便利です。vendor.name
keySystems
特定のソースでに追加すると、このロジックの利用が試行され、必要な証明書とライセンス情報が含まれます。Azure の例を次に示します。
player.ready(function(){
player.eme();
player.src({
src: 'http://example.com/src-url.m3u8'
type: '',
keySystems: {
'com.apple.fps.1_0': {
vendor: {
name: 'azure'
},
certificateUri: 'https://example.com/your-certificate-uri.cer',
licenseUri: 'https://example.com/your-license-uri'
}
}
});
});
CastLabs の例を次に示します。
var player = videojs.getPlayer('myPlayerID');
player.ready(function(){
player.eme();
player.src({
src: 'http://example.com/src-url.m3u8'
type: '',
keySystems: {
'com.apple.fps.1_0': {
vendor: {
name: 'castlabs',
options: {
authToken: 'your-auth-token',
customData: 'your-custom-data'
}
}
certificateUri: 'https://example.com/your-certificate-uri.cer',
licenseUri: 'https://example.com/your-license-uri'
}
}
});
});
この例では、Widevine ソースと PlayReady ソースをロードします。
player.src({
type: 'application/dash+xml',
src: '<some src>',
keySystems: {
'com.widevine.alpha': '<license url>',
'com.microsoft.playready': '<license url>'
}
});
デバッグを有効にする
DRM DASHコンテンツのデバッグを有効にするには、次のshakaスクリプトをBrightcoveプレーヤーに追加します。
<!-- Script for the drm plugin -->
<script src="https://players.brightcove.net/videojs-drm/5/videojs-drm.min.js"></script>
<!-- Script for the shaka plugin -->
<script src="https://players.brightcove.net/videojs-shaka/1/videojs-shaka.js"></script>
<!-- Script for shaka debug plugin -->
<script src="https://players.brightcove.net/videojs-shaka/1/videojs-shaka.debug.js"></script>
以下は、プレーヤーのロード時のデバッグの例です。
以下は、ビデオの再生開始後のデバッグの例です。
DASH-IF
Brightcove Playerは、DASH業界フォーラム(DASH-IF)アセットをサポートし、ブライトコーブのデータをネイティブ/EME に渡します。見るhttp://dashif.org DASH-IFの詳細については。DASH を使用するときは、次の DASH-IF リンクも役立ちます。
既知の問題
- ザ・デフォルト(自動表示)のキャプション設定 メディアモジュールのテキストトラックセクションは、DRMおよびマニフェスト内のキャプションと組み合わせて使用する場合はサポートされません。マニフェスト内キャプションは、ブライトコーブ製品のダイナミックデリバリーや SSAIなどで使用されます。この問題の回避策は、高度な Brightcove Player
<track>
実装でタグを使用することです。詳細については、「プログラムによるビデオへのキャプションの追加」を参照してください。default
<track>
タグとともに属性を使用する必要があることに注意してください。 - DRM アセットとクロム :DRM プラグインで標準 (iframe) プレーヤー実装を使用する場合、
allow="encrypted-media"
は Chrome で DRM アセットを再生できるようにする必要があります。<iframe src="https://players.brightcove.net/123456789/BydO6uuuu_default/index.html?videoId=5783262319001" allowfullscreen webkitallowfullscreen mozallowfullscreen width="640" height="360" allow="encrypted-media"></iframe>
- シルバーライト/IE11のための特別なイベント :ほとんどの場合、プログラムでプレーヤーと対話したい場合は、
ready
loadedmetadata
イベントまたはイベントを待つディスパッチされます。ただし、IE11 で Silverlight 技術を使用し、DRM コンテンツを再生するときに、プログラムでプレーヤーと対話したい場合は、canplay
イベントを待つ必要があります。 - iOSでは、必要なDRMブラウザAPI (EME) を提供するのはサファリのみで、WebViews は現在 EME をサポートしていません。したがって、フェアプレイ DRM は Safari でのみ動作します。
更新履歴
過去のリリースノートについては、ここの changelog を参照してください。