はじめに
ライブジョブで再生制限を有効にして、DRM によって提供される保護を拡張できます。これには次のようなものがあります。
- 再生を特定のユーザーエージェントに制限する
- IP アドレスの数を制限する
- ユーザー総数を制限する
包括的な制限セットについては、Playback Rights API を使用して設定できます。この場合、をビデオに関連付けます。playback_rights_id
詳細については、概要の「アセットレベルの制限」セクションを参照してください。ブライトコーブの再生制限に関するドキュメント。
実行時の制限については、JSON Web トークン (JWT) 要求を指定できます。これらの制限には、ストリームの同時実行性とデバイスの制限が含まれます。詳細については、「概要」の「ランタイム制限」セクションを参照してください。ブライトコーブの再生制限に関するドキュメント。
ライブストリームでは、ユーザーの DRM CRT をオーバーライドすることもできます。詳細については、概要の「ライセンスキー保護」セクションを参照してください。ブライトコーブの再生制限に関するドキュメント。
どのモードを選択しても、Video Cloud ビデオが作成され、ライブジョブにリンクされるように、videocloud.video
ジョブリクエストに属性を含める必要があります。playback_rights_id
この属性をVideo Cloud ビデオで更新して、 CMS API を使用して再生制限を変更できます。
また、適切なクレームを使用して JSON Web トークン (JWT) を作成する必要があります。ライセンスサーバー要求には、JWT を含める必要があります。独自のプレーヤーを実装する場合は、DRM に加えて、BCOV-Auth
bcov_auth
ヘッダーまたはクエリパラメータにこの値を渡す必要があります。トークン)。
ライブジョブの作成
再生制限を利用するライブジョブを作成できます。ライブストリームの作成の詳細については、「Brightcove Live API を使用したライブストリームの作成」ドキュメントを参照してください。
新しいフィールド
ライブジョブに再生制限を追加するために、次の新しいフィールドが使用されます。
-
drm
オブジェクト:require_playback_token
(ブール値)- ライセンスをリクエストする場合、再生認証 JWT が必要になります。
check_playback_rights
(ブール値)- ライセンスをリクエストする場合、再生認証 JWT が必要になります。ビデオまたは JWT に関連付けられた再生権限 ID を使用して、制限を適用します。
-
videocloud.video
オブジェクト:playback_rights_id
(文字列)- 指定された再生制限をビデオに関連付けます。
リクエストとレスポンスの例
以下は、再生制限付きのライブジョブを作成するためのサンプルLiveAPIリクエストボディです。
リクエスト本文の例
{
"live_stream": true,
"region": "us-west-2",
"reconnect_time": 300,
"ad_insertion": false,
"static": false,
"drm": {
"modes":["all"],
"require_playback_token": true,
"check_playback_rights": true
},
"live_dvr_sliding_window_duration": 300,
"videocloud": {
"live_to_vod": true,
"video": {
"name": "Test EPA",
"description": "",
"long_description": "",
"tags": [],
"reference_id": "",
"link": {
"url": "",
"text": ""
},
"custom_fields": {}
}
},
"outputs": [{
"label": "hls720p",
"live_stream": true,
"height": 720,
"video_bitrate": 2000,
"segment_seconds": 6,
"keyframe_interval": 60
},
{
"label": "hls480p",
"live_stream": true,
"height": 480,
"video_bitrate": 1000,
"segment_seconds": 6,
"keyframe_interval": 60
}
}
レスポンスの例
強調表示された行には、id
追加する必要のあるビデオが含まれていますplayback_rights_id
{
"id": "f47487cf81f84764b280fbfaefed524a",
"outputs": [
{
"id": "0-f47487cf81f84764b280fbfaefed524a",
"label": "hls720p"
},
{
"id": "1-f47487cf81f84764b280fbfaefed524a",
"label": "hls480p"
},
{
"id": "2-f47487cf81f84764b280fbfaefed524a",
"playlist_type": "defaultS3",
"type": "playlist",
"drm": {
"token": "eyJh...axy8",
"modes": [
{
"type": "fairplay",
"key_system": "com.apple.fps.1_0",
"license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/fp?token=eyJh...axy8",
"certificate_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/cert/fp?token=eyJh...axy8",
"filename": "playlist_fp.m3u8",
"dvr_filename": "playlist_fp_dvr.m3u8",
"playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp.m3u8",
"playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp_dvr.m3u8",
"playback_added_cdns": []
},
{
"type": "widevine",
"key_system": "com.widevine.alpha",
"license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/wv?token=eyJh...axy8",
"filename": "playlist_wv.m3u8",
"dvr_filename": "playlist_wv_dvr.m3u8",
"playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv.m3u8",
"playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv_dvr.m3u8",
"playback_added_cdns": []
},
{
"type": "playready",
"key_system": "com.microsoft.playready",
"license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/pr?token=eyJh...axy8",
"filename": "playlist.mpd",
"dvr_filename": "playlist_dvr.mpd",
"playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist.mpd",
"playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_dvr.mpd",
"playback_added_cdns": []
}
],
"token_expires_in": 43200,
"require_playback_token": true,
"check_playback_rights": true
}
}
],
"stream_url": "rtmp://ep8-usw2.a-live.io:1935/f47487cf81f84764b280fbfaefed524a",
"stream_name": "alive",
"static": false,
"event_length": 93600,
"job_videocloud_asset_id": "70701312966202",
"encryption": {},
"drm_enabled": true,
"drm": {
"token": "eyJh...axy8",
"modes": [
{
"type": "fairplay",
"key_system": "com.apple.fps.1_0",
"license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/fp?token=eyJhb...axy8",
"certificate_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/cert/fp?token=eyJhb...axy8",
"filename": "playlist_fp.m3u8",
"dvr_filename": "playlist_fp_dvr.m3u8",
"playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp.m3u8",
"playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp_dvr.m3u8",
"playback_added_cdns": []
},
{
"type": "widevine",
"key_system": "com.widevine.alpha",
"license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/wv?token=eyJhb...axy8",
"filename": "playlist_wv.m3u8",
"dvr_filename": "playlist_wv_dvr.m3u8",
"playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv.m3u8",
"playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv_dvr.m3u8",
"playback_added_cdns": []
},
{
"type": "playready",
"key_system": "com.microsoft.playready",
"license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/pr?token=eyJh...axy8",
"filename": "playlist.mpd",
"dvr_filename": "playlist_dvr.mpd",
"playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist.mpd",
"playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_dvr.mpd",
"playback_added_cdns": []
}
],
"token_expires_in": 43200,
"require_playback_token": true,
"check_playback_rights": true
}
}
ライブジョブに制限を追加する
ライブストリームを作成した後、 CMS API を使用して、ライブジョブ用に作成されたビデオに再生制限を追加できます。
CMS API リクエスト
動画に再生権IDを追加するには、ビデオを更新する次のリクエスト本文を使用してCMSAPIにリクエストします。
{
"playback_rights_id": "your playback_rights_id"
}
ストリームを配信する
ライブストリームを配信するために Brightcove ウェブプレーヤーまたは Brightcove ネイティブプレーヤー SDK のいずれかを使用している場合、再生制限の実装は VOD の場合と同じです。以下を参照してください。
- 「プレイバック権限の実装」ドキュメントの「プレイヤー」セクションの設定