サポート問い合わせ先| システムステータス
ページコンテンツ

    再生権利管理サービスの実装

    「このトピックでは、BrightcoveのPlayback Rights ManagementServiceを使用してビデオ再生を管理する方法を学習します。」

    入門

    Brightcoveの再生権限管理サービスは、動画再生を管理するスケーラブルで表現力豊かな方法を提供します。

    この機能に慣れていない場合は、「概要」を参照してください。再生権限の管理ドキュメント

    検証プロセス

    再生権は、特異性と一致の順に適用されます。許可ルールは、ルールを許可するルールよりも具体性が低いため、残りのルールを無効にします。

    特定のIPを許可して、そのIPの国のルールを回避することができます。また、国の制限によって通常許可される別のIPをブロックすることもできます。したがって、両方を持つことは理にかなっていますblock-ipsそしてallow-ips同じ再生権の定義で。同じことが他のルールにも当てはまります。

    ほとんどの権利について、許可ルールとブロックルールを設定できます。両方を持つことが意味をなさないかもしれない国は唯一の国です。

    次のフロー図は、検証プロセスがどのように機能するかを示しています。

    Playback Rights validation
    再生権限の検証

    ワークフロー

    再生制限を管理するには、次の手順に従います。

    1. アカウントを設定する
    2. 制限を定義する
    3. 制限を動画に関連付ける
    4. オプション:ユーザーレベルの制限を定義する

    5. プレーヤーを構成する

    アカウントを設定する

    この機能は、Playback Rights Management サービスの制限付き可用性フェーズにアクセスできる特定のお客様を対象としています。詳細はアカウントマネージャーにお問い合わせください。

    OAuth認証情報を生成する

    あなたのBC_TOKENと口座番号。

    1. ビデオクラウドスタジオにログインします。の中に管理者ドロップダウン、選択口座情報。あなたのコピーアカウントID
    2. Studioの任意のページを開いた状態で、ブラウザの開発ツールを開き、コンソールに移動して、次のコードに貼り付けます。

      var cookiesArray = document.cookie.split(";"), cookiesObj = {}, i, tmpArray = [];
      for (i = 0; i < cookiesArray.length; i++) {
          tmpArray = cookiesArray[i].split("=");
          if (tmpArray[0].indexOf('BC_TOKEN') > -1) {
              cookiesObj.BC_TOKEN = tmpArray[1];
          }
      }
      window.prompt("BC_TOKEN:", cookiesObj.BC_TOKEN);

      キーを押して return キーを押します

    3. あなたを含むプロンプトが表示されるはずですBC_TOKEN

    クライアントの資格情報を要求する

    Playback RightsAPIのアカウント権限を追加します。

    1. Playplay Rights APIのクライアント資格情報を作成する最も簡単な方法は、このオンラインアプリ資格情報を作成するときに、次の権限が含まれていることを確認してください。
      Playback Rights Permissions
      再生権限の権限
    2. OAuth APIを直接使用して認証情報を生成する場合は、次の手順に進みます。
    3. これは、必要な権限を持つOAuthクライアントリクエストの例です。見るBC_TOKENを取得する BC_TOKENの取得についての情報。

      curl \\ --include \\ --header "認証:BC_TOKEN あなたのBC_TOKEN "\\ --data {name = demo&maximum_scope = [{" identity ":{" type ":" video-cloud-account "、" account-id ":あなたのアカウントID }、 "操作":["ビデオクラウド/再生認証/再生権利/読み取り"、 "ビデオクラウド/再生認証/再生権利/書き込み"、 "ビデオクラウド/ビデオ/読み取り"、 " video-cloud / video / create "、" video-cloud / video / update "、" video-cloud / video / delete "、" video-cloud / playback-auth / key / read "、" video-cloud / playback- auth / key / write "]}]} \\ https://oauth.brightcove.com/v4/client_credentials
    4. API応答から、client_idそしてclient_secret。これらを使用して、Playback RightsAPIにリクエストを送信するときにアクセストークンを生成します。

    制限を定義する

    再生権利APIを使用して、ビデオ再生制限を定義します。

    再生権API

    各再生権限制限オブジェクトは、1 つまたは複数のビデオで使用できます。

    ベース URL

    API のベース URL は次のとおりです。

    https://playback-rights.api.brightcove.com/v1

    アカウントパス

    いずれの場合も、特定の Video Cloud アカウントに対してリクエストが行われます。したがって、あなたは常にベースURLにアカウントIDが続く用語アカウントを追加します。

    https://playback-rights.api.brightcove.com/v1/accounts/{accountID}

    認証

    リクエストのアクセストークンが必要であり、Authorizationヘッダに存在する必要があります።

    Authorization: Bearer {access_token}

    アクセストークンは、一時的な OAuth2 アクセストークンで、Brightcove OAuth サービスから取得する必要があります。クライアントクレデンシャルを取得してアクセストークンを取得する方法の詳細については、「 Brightcove OAuth の概要」を参照してください。

    権限

    Playback Rights API へのリクエストは、次のアクセス許可を持つクライアント認証情報から行う必要があります

    • video-cloud/playback-auth/playback-rights/read
    • video-cloud/playback-auth/playback-rights/write

    制限の管理

    Playback Rights APIは、次のリクエストをサポートしています。APIの詳細については、再生権利APIリファレンス

    新しい再生権を作成する

    POST /v1/accounts/{accountID}/playback_rights
      Content-Type: application/json
      Body: {playback rights object}
    

    有効なフィールドのリストについては、リクエスト本文のセクションを参照してください

    カールの例

    オーストラリアでのみ有効な再生権を作成します。

    curl -X POST \\ https://playback-rights.api.brightcove.com/v1/accounts/ {your_account_id} / playback_rights \\ -H '認証:ベアラー{access_token}'  \\ -H 'コンテンツタイプ:application / json'  \\ -NS ' { "geo": { "allowed_countries": [ "AU" ] } } '
    API レスポンス

    を助けてplayback_rights_id後で使用するための値。この値はAPI応答で見つけることができます。どちらか:

    • 応答ヘッダー

      ザ・playback_rights_id値はで見つけることができますLocationヘッダー応答のフィールド。これはこれに似ているはずです:

      Location: /v1/accounts/your account_id/playback_rights/your playback_rights_id
          
    • レスポンスボディ

      ザ・playback_rights_id値は、応答本文に次のように表示されます。idフィールド。これはこれに似ているはずです:

      {
        "id": "your playback_rights_id",
        "geo": {
        "allowed_countries": [
          "MX",
          "US"]
      }

    アカウントのすべての再生権を取得する

    GET /v1/accounts/{accountID}/playback_rights

    アカウントの特定の再生権を取得する

    GET /v1/accounts/{accountID}/playback_rights/{playbackRightsID}

    特定の再生権を更新します。

    PUT /v1/accounts/{accountID}/playback_rights/{playbackRightsID}
      Content-Type: application/json
      Body: {playback rights object}

    有効なフィールドのリストについては、リクエスト本文のセクションを参照してください

    特定の再生権を削除します。

    DELETE /v1/accounts/{accountID}/playback_rights/{playbackRightsID}

    リクエスト本文

    リクエスト本文に含めることができるすべてのフィールドの例を次に示します。

    {
      "geo": {
      "allowed_countries": [
        "MX",
        "US"
      ],
      "blocked_countries": [
        "JP",
        "CN"
      ],
      "allowed_zip_codes": [
        "US-90210"
      ],
      "blocked_zip_codes": [
        "US-72810"
      ],
      "allowed_dmas": [
        501
      ],
      "blocked_dmas": [
        803
      ]
    },
    "blocked_proxies": {
      "anonymous": true,
      "public": true,
      "corporate": true,
      "transparent": true
    },
    "allowed_domains": [
      "www.google.com",
      "www.brightcove.com"
    ],
    "blocked_domains": [
      "www.ooyala.com"
    ],
    "start_time": 1572905011,
    "end_time": 1672905011,
    "allowed_ips": [
      "192.168.1.1"
    ],
    "blocked_ips": [
      "192.168.1.1"
    ],
    "allowed_days": [
      "mon",
      "tue"
    ],
    "allowed_hours": [
      "5-6"
    ],
    "allow_insecure": true,
    "disabled": false,
    "name": "Optional playback right name"
    }
    

    フィールドの詳細は次のとおりです。

    フィールド タイプ 説明
    allowed_countriesblocked_countries 文字列 ISO 3166-1alpha-2標準に準拠した2文字の国コードの配列。値のリストについては、を参照してください。正式に割り当てられたコード要素
    allowed_zip_codesblocked_zip_codes 文字列 2文字の国とハイフンが前に付いた郵便番号の配列。例えば["US-90045"]
    2文字の国コードは大文字で、ISO 3166-1alpha-2標準に準拠している必要があります。正式に割り当てられたコード要素
    allowed_dmasblocked_dmas 整数 ニールセン指定マーケットエリア(DMA)番号の配列。値のリストについては、を参照してください。 DMAコード資料。
    blocked_proxies: anonymous ブール値 クライアントのIPアドレスは利用できません。DRM、TORポイント、一時プロキシ、およびその他のマスキングサービスに勝つために場所を変更するサービスが含まれます。
    blocked_proxies: public ブール値 パブリックインターネットアクセスを許可する場所からプロキシされた複数のユーザー。
    blocked_proxies: corporate ブール値 一般的に無害と見なされますが、場所が問題になる可能性があります。複数のユーザーが1つまたは複数の中央の場所を介してプロキシされ、単一のネットワークから見かけのIPアドレスを共有できるかどうかを識別します。
    blocked_proxies: transparent ブール値 クライアントのIPアドレスはHTTPヘッダーを介して利用できますが、値は必ずしも信頼できるとは限りません(たとえば、なりすましの可能性があります)。
    allowed_domains, blocked_domains 文字列 ドメイン名の配列
    start_time, end_time 整数 エポックタイム
    allowed_ips, blocked_ips 整数 ipv4 / ipv6アドレスまたはCIDRブロックの配列。
    allowed_days 文字列 リソースの取得が許可されている日の3文字の小文字の配列。1つ以上:mon, tue, wed, thu, fri, sat, sun
    allowed_hours 整数 リソースの取得が許可されている24時間制(0から47まで)からの時間の配列。当日は0〜23、翌日の終了日は24〜47。許可された時間のブロックが前日に始まり、翌日に終わる場合は、24以上の表記が必要です。

    例:の値3-4このヘッダー内は、リソースがUTC午前3時から午前3時59分まで利用可能であることを意味します。
    allow_insecure ブール値 デフォルト:false
    これをに設定するtrue JWTトークンをオプションにします。
    disabled ブール値 デフォルト:false
    これをに設定するtrue再生権を無効にして、すべての人が再生できるようにします。
    name 文字列 オプションの再生権名

    制限を動画に関連付ける

    使用CMS API再生権IDを動画に関連付ける。前の手順で作成した再生権限IDを使用します。

    CMS API

    各再生権限制限オブジェクトは、1 つまたは複数のビデオで使用できます。

    ベース URL

    API のベース URL は次のとおりです。

    https://cms.api.brightcove.com/v1

    アカウントパス

    いずれの場合も、特定の Video Cloud アカウントに対してリクエストが行われます。したがって、あなたは常にベースURLにアカウントIDが続く用語アカウントを追加します。

    https://cms.api.brightcove.com/v1/accounts/{accountId}

    認証

    リクエストのアクセストークンが必要であり、Authorizationヘッダに存在する必要があります።

    Authorization: Bearer {access_token}

    アクセストークンは、一時的な OAuth2 アクセストークンで、Brightcove OAuth サービスから取得する必要があります。クライアントクレデンシャルを取得してアクセストークンを取得する方法の詳細については、「 Brightcove OAuth の概要」を参照してください。

    権限

    Playback Rights API へのリクエストは、次のアクセス許可を持つクライアント認証情報から行う必要があります

    • video-cloud/video/read
    • video-cloud/video/update

    制限の管理

    NS CMS API多くのリクエストタイプをサポートします。ビデオを更新するには、以下を使用します。

    ビデオを更新する:

    アソシエイトplayback_rights_idビデオ付き。このIDは、前の手順で作成したPlayback RightsAPIに存在する必要があります。

    PATCH /v1/accounts/{account_id}/videos/{video_id}
      Content-Type: application/json
      Body: {video object}
    
    カールの例

    動画にplayback_rights_idを追加します。

    curl -X PATCH \\ https://cms.api.brightcove.com/v1/accounts/ あなたのaccount_id / videos / あなたのvideo_id \\ -H '認証:ベアラーあなたのaccess_token'  \\ -H 'コンテンツタイプ:application / json'  \\ -d '{"playback_rights_id": " あなたのplayback_rights_id "} '

    特定のビデオを入手する:

    GET /v1/accounts/{account_id}/videos/{video_ids}

    APIの使用の詳細については、 CMS APIリファレンス

    ユーザーレベルの制限を定義する

    ユーザーレベルの制限が必要な場合は、 JSONWebトークン(JWT)制限に関連するクレームで構成されています。

    ステップ

    を作成するにはJSONWebトークン(JWT)プレーヤーに渡すには、次の手順に従います。

    1. 制限を決定する

      以下のリストから、使用するユーザーレベルの制限の種類を決定します。作成するときに必要なJWTクレームを含めますJSONWebトークン(JWT)。

      デバイスの制限

      DRM ライセンス要求が行われると、ユーザーのデバイスが登録され、一意の ID が割り当てられます。デバイス制限は、ライセンス要求ごとにチェックされ、適用されます。この制限を使用するには、現在のユーザーID(uid)でJWTを生成します。

      詳細については、デバイス制限の実装資料。

      同時ストリーム制限

      DRM ライセンス要求が行われると、ユーザーのデバイスが登録され、一意の ID が割り当てられます。ライセンス要求ごとに、デバイスIDがチェックされ、指定された数のビデオストリームのみが同時に視聴されていることを確認します。

      詳細については、視聴者ごとの同時ストリームの制限資料。

      タグ

      に基づくtags主張、 JSONWebトークン(JWT)は、ユーザーが視聴する資格のあるビデオのグループを指定します。タグを使用して動画をグループ化できますメディアモジュールBrightcoveのビデオクラウドスタジオで。

      再生認証サービスは、各ビデオに関連付けられたタグをチェックします。タグの少なくとも1つがJWTトークンのリストと一致する場合、ビデオは表示可能です。

      JWTトークン内のタグは、タグの配列としてリストされます。

    2. を作成しますJSONWebトークン

      BrightcoveのPlaybackAPIと通信するときに使用するトークンを作成するには、の作成JSONWebトークン(JWT)資料。

    プレーヤーを構成する

    デフォルトでは、BrightcovePlayerはBrightcovePlayback API(PAPI)と通信します。再生制限を管理するための新しいシステムは、PlaybackAPIの前にあります。プレーヤーを構成するには、以下を参照してください。

    ウェブプレーヤー

    Brightcove Webプレーヤーを構成するには、以下を参照してください。 BrightcovePlayerでの再生権の使用資料。

    ネイティブAndroidプレーヤー

    Androidのネイティブプレーヤーを構成するには、ネイティブSDKでの再生権の使用資料。

    ネイティブ iOS プレーヤー

    iOS用のネイティブプレーヤーを構成するには、を参照してください。ネイティブSDKでの再生権の使用資料。

    あなた自身のプレーヤー

    コンテンツがVideoCloudライブラリにあるが、独自のプレーヤーを使用している場合は、に示すようにPlaybackAPIを呼び出すことができます。概要:Playback API ドキュメント。ベースURLを次のように置き換えます。

    https://edge-auth.api.brigthcove.com

    ポリシーキーを使用する代わりに、認証にJWTトークンを使用します。

    Authorization: Bearer {JWT}

    Curlの例を次に示します。

    curl -X GET \\ -H '認証:ベアラー{JWT}'  \\ https://edge-auth.api.brightcove.com/playback/v1/accounts/ {your_account_id} / videos / {your_video_id}

    ページの最終更新日22 Sep 2021