實施設備限制

在本主題中,您將學習如何使用 Brightcove 播放限制為視頻播放啟用設備限制。

簡介

使用 Brightcove 播放限制,您可以設置視頻播放的設備限制。提出 DRM 授權要求時,每個使用者的裝置都會以唯一的 ID 註冊。您可以控制每個用戶的設備數量。

每個授權要求都會檢查並強制執行裝置限制。要使用此限制,您將通過JSON 網絡令牌 (JWT)使用當前用戶 ID uid到播放 API。

如果您不熟悉此功能,請參閱概述:Brightcove 播放限制文檔。

設備註冊

當一個有效的播放請求包括JSON 網絡令牌 (JWT)uiddlimit收到索賠。從那時起,該設備將佔據一個插槽。

智威湯遜理賠

對於設備限制,您可以使用以下聲明以及通常需要的聲明:

  • 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 管理設備手動撤銷這些設備。為此,請參閱管理設備部分。

實作

要使用設備限制,請按照下列步驟操作:

  1. 創建一個JSON 網絡令牌 (JWT)與一般要求的索賠一起uiddlimit索賠。

    提出 DRM 授權要求時,每個使用者的裝置都會以唯一的 ID 註冊。

  2. 管理用戶設備使用設備 API。使用此API,您可以為用戶獲取設備,刪除設備並更新設備名稱。

    設備註冊後,將通過ID和暱稱進行標識。Devices API使您可以編輯設備暱稱,從而輕鬆管理設備列表。

  3. 配置您的播放器使用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"
    }
]

獲取所有賬號設備

獲取帳戶中每個用戶的所有設備。您將使用pageper_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}