簡介
可以為實時作業啟用播放限制以擴展 DRM 和/或 AES-128 加密提供的保護,包括:
- 將播放限制為特定的用戶代理
- 限制IP地址數量
- 限制總用戶
對於一組全面的限制,您可以使用播放權限 API 進行配置。在這種情況下,您可以關聯playback_rights_id
與視頻。有關詳細信息,請參閱概述的 資產級別限制 部分:Brightcove 播放限製文檔。
對於運行時限制,您可以指定 JSON Web 令牌 (JWT) 聲明。這些限制包括流並發性和設備限制。有關詳細信息,請參閱概述的 運行時限制 部分:Brightcove 播放限製文檔。
對於實時流,您還可以覆蓋用戶的 DRM CRT。有關詳細信息,請參閱概述的 許可證密鑰保護 部分:Brightcove 播放限製文檔。
無論您選擇哪種模式,工作請求都必須包括videocloud.video
屬性,以便創建 Video Cloud 視頻並將其鏈接到實時作業。的playback_rights_id
可以在“視頻雲”視頻上更新屬性,以通過更改播放限制CMS API。
您還需要 創建一個具有適當聲明的 JSON Web 令牌 (JWT) 。JWT將需要包含在任何許可證服務器請求中。如果您要實現自己的播放器,則需要在任一BCOV-Auth
標頭或bcov_auth
查詢參數(除了DRM令牌)。
使用 Studio 創建實時作業
您可以在 Video Cloud Studio 中創建一個利用播放限制的實時作業。
- 在 使用 Brightcove Live API 文檔創建直播流 中查看有關創建直播流的詳細信息。
-
在 Studio 中,當您創建直播活動時,展開 高級選項 部分。
-
對於 Content Encryption ,選擇:
- AES-128
- 數位版權管理 (DRM)
有關詳細信息,請參閱配置高級選項的部分使用直播模塊創建和管理直播活動文檔。
-
要擴展播放保護,請選中 啟用播放限制複選框。
工作請求必須包括
videocloud.video
屬性,以便創建 Video Cloud 視頻並將其鏈接到實時作業。的playback_rights_id
可以在“視頻雲”視頻上更新屬性,以通過更改播放限制CMS API。
使用 Live API 創建 Live 作業
您可以使用 Brightcove Live API 創建一個利用播放限制的實時作業。
- 在 使用實時模塊文檔創建和管理實時事件 中查看有關創建實時流的詳細信息。
-
查看用於向實時作業添加播放限制的新字段:
-
drm
目的:require_playback_token
(布爾值)- 請求授權時,需要播放驗證 JWT。
check_playback_rights
(布爾值)- 請求授權時,需要播放驗證 JWT。使用與視頻或JWT關聯的播放權限ID來實施限制。
-
videocloud.video
目的:playback_rights_id
(串)- 將指定的播放限制與視頻相關聯。
-
-
使用 Brightcove Live API創建實時作業。
樣品要求和回應
下面是一個示例實時 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 }, "encryption": { "check_playback_rights": true, "method": "aes-128", "type": "internal", "key": "24432646294A404E635266556A586E32" }, "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 應用程式介面請求
要將播放權限ID添加到視頻,請發送更新影片帶有以下請求正文的CMS API請求:
{
"playback_rights_id": "your playback_rights_id"
}
傳送流
如果您使用 Brightcove 網絡播放器或 Brightcove 本機播放器 SDK 之一來傳送實時流,播放限制的實施與 VOD 相同。請參閱以下內容:
- 實施播放權限文檔的配置您的播放器 部分