入門
ライブジョブの再生制限を有効にして、DRMによって提供される保護を拡張できます。これには次のものが含まれます。
- 再生を特定のユーザーエージェントに制限する
- IPアドレスの数を制限する
- 総ユーザー数の制限
包括的な一連の制限については、Playback RightsAPIを使用して構成できます。この場合、playback_rights_id
ビデオ付き。詳細については、資産レベルの制限概要のセクション:Brightcoveの再生制限資料。
実行時の制限については、JSON Web Token(JWT)クレームを指定できます。これらの制限には、ストリームの同時実行性とデバイスの制限が含まれます。詳細については、実行時の制限概要のセクション:Brightcoveの再生制限資料。
ライブストリームを使用すると、ユーザーのDRMCRTを上書きすることもできます。詳細については、ライセンスキーの保護概要のセクション:Brightcoveの再生制限資料。
選択するモードに関係なく、ジョブリクエストにはvideocloud.video
Video Cloudビデオが作成され、ライブジョブにリンクされるように属性を設定します。playback_rights_id
この属性をVideo Cloud ビデオで更新して、 CMS API を使用して再生制限を変更できます。
また、する必要がありますJSON Web Token(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
( 文字列)- 指定された再生制限をビデオに関連付けます。
リクエストとレスポンスの例
以下は、再生制限付きのライブジョブを作成するためのサンプルLive APIリクエストボディです。
リクエスト本文の例
{
"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 をビデオに追加するには、次のリクエスト本文を使用して CMS API にビデオ更新リクエストを送信します。
{
"playback_rights_id": "your playback_rights_id"
}
ストリームを配信する
Brightcove WebプレーヤーまたはBrightcoveネイティブプレーヤーSDKの1つを使用してライブストリームを配信している場合、再生制限の実装はVODの場合と同じです。以下を参照してください。
- プレーヤーを構成する再生権の実装ドキュメントのセクション