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

    再生権の実装

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

    入門

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

    この機能に慣れていない場合は、「概要」を参照してください。Brightcoveの再生制限資料。

    検証プロセス

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

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

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

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

    1. 地理的チェック
    2. スケジュールチェック
    3. プロキシチェック
    4. ドメインチェック
    Playback Rights validation
    再生権限の検証

    地理的チェック

    地理的制限のフローは、の値に基づいて、次の図のいずれかになります。geo_global_rule分野:

    • geo_global_ruleに設定されていますallow_all
    • geo_global_ruleに設定されていますblock_all
    • geo_global_ruleに設定されていますnull
    Geographic restrictions
    地理的制限

    地理的チェックに合格した場合は、次の図の追加のチェックに進みます。

    追加の検証チェック

    地理的チェックに合格すると、次のチェックが順番に処理されます。

    1. スケジュールチェック
    2. プロキシチェック
    3. ドメインチェック
    Additional validation checks
    追加の検証チェック

    ワークフロー

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

    1. アカウントを設定する
    2. 制限を定義する
    3. 制限を動画に関連付ける
    4. プレーヤーを構成する

    アカウントを設定する

    この機能は、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 }、 "; operations";:["video-cloud / playback-auth / playback-rights / read"、 "video-cloud / playback-auth / playback-rights / write"、 "video-cloud / video / read" 、 "video-cloud / video / create"、 "video-cloud / video / update"、 "video-cloud / video / delete"、 "video-cloud / playback-auth / key / read"、 "video-cloud /再生-認証/キー/書き込み "; ]}]} \\ 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,
      ";hosting";: 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,
    ";geo_global_rule";: ";allow_all",
    ";is_default";: true,
    ";name";: ";Optional playback right name";
    }

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

    フィールド タイプ 説明
    allowed_days 文字列 リソースの取得が許可されている日の3文字の小文字の配列。1つ以上:mon, tue, wed, thu, fri, sat, sun
    allowed_domains, blocked_domains 文字列 ドメイン名の配列
    allowed_hours 整数 リソースの取得が許可されている24時間制(0から47まで)からの時間の配列。当日は0〜23、翌日の終了日は24〜47。許可された時間のブロックが前日に始まり、翌日に終わる場合は、24以上の表記が必要です。

    例:の値3-4このヘッダー内は、リソースがUTC午前3時から午前3時59分まで利用可能であることを意味します。
    allow_insecure ブール値 デフォルト:false
    これをに設定するtrue JWTトークンをオプションにします。
    allowed_ips, blocked_ips 整数 ipv4 / ipv6アドレスまたはCIDRブロックの配列。
    blocked_proxies オブジェクト 代理権に関連するプロパティ
    blocked_proxies.anonymous ブール値 クライアントのIPアドレスは利用できません。DRM、TORポイント、一時プロキシ、およびその他のマスキングサービスに勝つために場所を変更するサービスが含まれます。
    blocked_proxies.corporate ブール値 一般的に無害と見なされますが、場所が問題になる可能性があります。複数のユーザーが1つまたは複数の中央の場所を介してプロキシされ、単一のネットワークから見かけのIPアドレスを共有できるかどうかを識別します。
    blocked_proxies.public ブール値 パブリックインターネットアクセスを許可する場所からプロキシされた複数のユーザー。
    blocked_proxies.transparent ブール値 クライアントのIPアドレスはHTTPヘッダーを介して利用できますが、値は必ずしも信頼できるとは限りません(たとえば、なりすましの可能性があります)。
    blocked_proxies.hosting ブール値 IPアドレスはホスティング施設に属しており、エンドユーザーは通常ホスティング施設にいないため、プロキシになる可能性があります。
    disabled ブール値 デフォルト:false
    これをに設定するtrue再生権を無効にして、すべての人が再生できるようにします。
    geo オブジェクト 地理的権利に関連するプロパティ
    geo.allowed_countries
    geo.blocked_countries
    文字列 ISO 3166-1alpha-2標準に準拠した2文字の国コードの配列。値のリストについては、を参照してください。正式に割り当てられたコード要素
    geo.allowed_dmas
    geo.blocked_dmas
    整数 ニールセン指定マーケットエリア(DMA)番号の配列。値のリストについては、を参照してください。 DMAコード資料。
    geo.allowed_zip_codes
    geo.blocked_zip_codes
    文字列 2文字の国とハイフンが前に付いた郵便番号の配列。例えば[";US-90045";]
    2文字の国コードは大文字で、ISO 3166-1alpha-2標準に準拠している必要があります。正式に割り当てられたコード要素
    geo_global_rule 文字列 デフォルト: ""
    値:
    • "" -グローバルな地理的ルールはありません(つまり、地理プロパティの通常のフローに従います)
    • "allow_all" -ブラックリストに登録された場所を除き、世界中のどこからでも再生できます。blocked_*プロパティ
    • "block_all" -ホワイトリストに登録された場所を除き、世界中のどこからでも再生をブロックします。allow_*プロパティ
    is_default ブール値 デフォルト:false
    これをに設定するtrue現在のPlaybackRightをデフォルトにします。詳細については、序章セクション。
    name 文字列 オプションの再生権名
    start_time, end_time 整数 エポックタイム

    制限を動画に関連付ける

    使用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リファレンス

    プレーヤーを構成する

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

    ウェブプレーヤー

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

    ネイティブAndroidまたはiOSプレーヤー

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

    あなた自身のプレーヤー

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

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

    ポリシーキーを使用する代わりに、認証にJSON Web Token(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