簡介
使用 Brightcove 播放限制,您可以設置視頻播放的設備限制。提出 DRM 授權要求時,每個使用者的裝置都會以唯一的 ID 註冊。您可以控制每個用戶的設備數量。
每個授權要求都會檢查並強制執行裝置限制。要使用此限制,您將通過JSON 網絡令牌 (JWT)使用當前用戶 ID uid
到播放 API。
如果您不熟悉此功能,請參閱概述:Brightcove 播放限制文檔。
設備註冊
當一個有效的播放請求包括JSON 網絡令牌 (JWT)和uid
和dlimit
收到索賠。從那時起,該設備將佔據一個插槽。
智威湯遜理賠
對於設備限制,您可以使用以下聲明以及通常需要的聲明:
-
uid
:最終檢視器的使用者 ID。設備註冊需要此字段。
-
dlimit
:對於 DRM 內容,
dlimit
claim 表示用戶可以流式傳輸多少台設備。每個請求流的用戶的每個設備都已註冊。達到流限制後,將無法再使用其他設備進行流式傳輸。這
dlimit
claim 讓您可以控制有多少設備可以與指定用戶相關聯uid
.該值必須>0
。如果
dlimit
claim value 在以後的請求中被丟棄,之前允許的設備將繼續運行。例子
如果dlimit
值設置為3
, 用戶可以在設備 A、B 和 C 上玩(都允許)。嘗試在裝置 D 上播放將被拒絕。
如果dlimit
值更改為1
,用戶仍然可以在所有 3 台設備 A、B 和 C 上播放,除非通過使用 Devices API 管理設備手動撤銷這些設備。為此,請參閱管理設備部分。
實作
要使用設備限制,請按照下列步驟操作:
-
創建一個JSON 網絡令牌 (JWT)與一般要求的索賠一起
uid
和dlimit
索賠。提出 DRM 授權要求時,每個使用者的裝置都會以唯一的 ID 註冊。
-
管理用戶設備使用設備 API。使用此API,您可以為用戶獲取設備,刪除設備並更新設備名稱。
設備註冊後,將通過ID和暱稱進行標識。Devices API使您可以編輯設備暱稱,從而輕鬆管理設備列表。
- 配置您的播放器使用JSON Web Token (JWT) 在上一步中創建。
管理設備
您可以使用以下方式管理用戶設備設備接口 .
設備API
使用設備API,您可以獲取和刪除用戶設備。
基本網址
API 的基本網址是:
https://playback-auth.api.brightcove.com/v1
帳號路徑
在所有情況下,我們都會針對特定的視訊雲端帳戶提出要求。因此,您將始終將術語帳戶後面跟著您的帳戶 ID 添加到基本 URL 中:
https://playback-auth.api.brightcove.com/v1/accounts/{accountID}
授權
請求的訪問令牌是必需的,並且必須出現在授權頭中:
Authorization: Bearer {access_token}
訪問令牌是一個臨時的 OAuth2 訪問令牌,必須從布萊特灣 OAuth 服務獲得。有關如何獲取客戶端憑據並使用它們檢索訪問令牌的詳細信息,請參閱Brightcove OAuth 概述 .
權限
對設備 API 的請求必須來自客戶憑據具有以下權限:
-
video-cloud/playback-auth/devices/read
-
video-cloud/playback-auth/devices/write
API 方法
設備API支持以下請求。有關詳細信息,請參閱設備 API 參考 .
獲取所有用戶設備
獲取指定帳戶和用戶的所有設備。
請求端點GET /v1/accounts/{accountID}/users/{userID}/devices
反應體
響應主體包含一系列設備,其外觀應類似於此:
[
{
"id": "12e12345-11e1-1bd1-d123-1234567890",
"created_at": 1612646018,
"updated_at": 1612646018,
"name": "my device1",
"user_agent": "PlayReadyClient"
},
{
"id": "WVCf123456789abcdefghijkl1234567890abcdefg",
"created_at": 1612385697,
"updated_at": 1612385697,
"name": "my device2",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0"
}
]
獲取所有賬號設備
獲取帳戶中每個用戶的所有設備。您將使用page
和per_page
參數來限制響應。
GET /v1/accounts/{accountID}/devices?page=0&per_page=10
參數:
欄位 | 類型 | 描述 | 預設值 | 最大值 |
---|---|---|---|---|
page |
整數 | 要請求的頁面的索引。如果數量大於頁數限制,它將佔用最後一頁。 | 0 | 最后索引 |
per_page |
整數 | 請求中顯示的項目數。您可以將其設置為 1 到 100 個項目。如果您未設置值,則使用默認值。 | +10 | 100 |
響應體
響應正文包含一組用戶和設備:
{
"metadata":
{
"page": 3,
"per_page": 10,
"page_count": 5,
"total_count": 55,
"Links": [
{"self": "/v1/accounts/123456/devices?page=3&per_page=10"},
{"first": "/v1/accounts/123456/devices?page=0&per_page=10"},
{"previous": "/v1/accounts/123456/devices?page=2&per_page=10"},
{"next": "/v1/accounts/123456/devices?page=4&per_page=10"},
{"last": "/v1/accounts/123456/devices?page=4&per_page=10"}
]
},
"records": [
{
"account_id": "123456",
"user_id": "user_1",
"device": "device_1"
},
{
"account_id": "123456",
"user_id": "user_1",
"device": "device_2"
},
...
{
"account_id": "123456",
"user_id": "user_10",
"device": "device_1"
}
]
}
更新設備名稱
更新指定帳戶、用戶和設備的設備名稱。
請求端點
這PATCH
request 允許您為設備設置一個描述性名稱。
PATCH /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}
Content-Type: application/json
Body: {devices object}
請求正文
請求正文包含設備名稱。
{
"name": "my device1"
}
這裡是字段的詳細信息:
欄位 | 類型 | 描述 |
---|---|---|
name |
字串 | 描述性暱稱,以幫助識別設備 |
刪除所有用戶設備
刪除與用戶關聯的所有設備。
請求端點DELETE /v1/accounts/{accountID}/users/{userID}/devices
刪除特定的用戶設備
刪除用戶的特定設備。
請求端點DELETE /v1/accounts/{accountID}/users/{userID}/devices/{deviceID}