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

    Brightcoveプレーヤーでの再生認証DRMの使用

    「このトピックでは、Brightcoveの再生認証サービスを使用するようにBrightcovePlayerを構成する方法を学習します。」

    入門

    Brightcoveの再生認証サービス (PAS) は、DRM で保護された HTTP ライブストリーミング暗号化 (HLSE) コンテンツでダイナミック配信を使用する場合に、さらに高度なセキュリティを提供します。PAS では、ライセンス要求は署名付き JSON Web トークン (JWT) を使用して認証されます。トークンは、ビデオがプレーヤーにロードされ、ソースが選択されると、ビデオライセンスを要求するときに使用されます。

    このドキュメントでは、BrightcovePlayerでPASを使用することに焦点を当てています。一般的なPASの詳細については、概要:再生認証サービス付きDRM ドキュメント。

    概要

    PASを使用するようにBrightcovePlayerを構成するには、ビデオのカタログ要求を行うときにトークンパラメーターを渡します。コードは次のセクションで示されます。コードを理解するための前提条件があることを確認するために、次のドキュメントの概念は、構築の基礎を提供するのに役立ちます。

    カタログパラメータでトークンを使用する

    このセクションでは、PASを使用するようにプレーヤーを構成するために必要なコードについて詳しく説明します。これを行うには、文字列トークンをの一部として渡しますカタログパラメータプロパティ名を使用したオブジェクトbcovAuthToken

    このアプローチは、DRMとHLSeの両方で機能します。プレーヤーは、Playback APIからロードされているソースのタイプを検出し、そのソースの正しい実装を提供します。

    このサンプル実装コードは、 catalog.get()トークンの提供中にビデオを要求するメソッド(トークンを置き換える必要があります<BCOV_AUTH_TOKEN>プレースホルダー)。ビデオIDをに含めないでください<video-js>タグ。

    <video-js id="myPlayerID"
      data-account="1507807800001"
      data-player="default"
      data-embed="default"
      controls
      data-application-id></video-js>
    <script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
    
    <script>
      (function() {
        var myPlayer = videojs.getPlayer('myPlayerID');
    
        myPlayer.catalog.get({
          type: 'video',
          id: '6015247091001',
          bcovAuthToken: '<BCOV_AUTH_TOKEN>'
        })
          .then(function(videoReturned){
            myPlayer.catalog.load(videoReturned);
          })
          .catch(function(err){
            console.log('err:', err);
          });
      })();
    </script>

    SSAI構成

    SSAIでPASを使用する場合は、実行する必要のある小さな構成の追加が1つあります。名前付きのカタログパラメータオブジェクトに追加パラメータを追加する必要がありますadConfigId

    <video-js id="myPlayerID"
      data-account="1507807800001"
      data-player="default"
      data-embed="default"
      controls
      data-application-id></video-js>
    <script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
    
    <script>
      (function() {
        var myPlayer = videojs.getPlayer('myPlayerID');
    
        myPlayer.catalog.get({
          type: 'video',
          id: '6015247091001',
          bcovAuthToken: 'BCOV_AUTH_TOKEN',
          adConfigId: '<YOUR_ADD_CONFIG_ID>'
        })
          .then(function(videoReturned){
            myPlayer.catalog.load(videoReturned);
          })
          .catch(function(err){
            console.log('err:', err);
          });
      })();
    </script>

    カスタム実装の使用

    を持っていないカスタム実装を使用している可能性がありますbcovAuthTokenで値を設定するにはcatalog.get()メソッドリクエスト。独自のプレーヤーまたはサードパーティのプレーヤーを使用している場合は、次のいずれかの方法を使用して、トークンをライセンス要求に渡すことができます。

    • HTTPヘッダー:BCOV-Auth(HLSeではサポートされていません)
    • クッキー:bcov-auth(HLSeではサポートされていません)
    • クエリパラメータ:bcov-auth(HLSeでのみサポートされます)ライセンスURLではなく、マスターマニフェストURLに追加する必要があります。

    これは、設定する方法を示す例です。source.emeHeaders['BCOV-Auth']トークンに対するビデオオブジェクトの属性。これにより、emeHeaderカタログリクエスト後の各ソース。

    <video-js id="myPlayerID"
      data-account="1507807800001"
      data-player="default"
      data-embed="default"
      controls
      data-application-id></video-js>
    <script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
    
    <script>
      (function() {
        var myPlayer = videojs.getPlayer('myPlayerID');
    
        myPlayer.catalog.get({
          type: 'video',
          id: '6015247091001'
        })
        .then(function(video){
          sources=video.sources;
    
          for (let i = 0; i < sources.length; i++) {
            const source = sources[i];
    
            // Only add the auth token as an eme header for DRM content
            if (BCOV_AUTH_TOKEN && source.key_systems) {
              source.emeHeaders = {
                  'BCOV-Auth': BCOV_AUTH_TOKEN
                };
            }
          }
            myPlayer.catalog.load(video);
          })
          .catch(function(err){
            console.log('err:', err);
          });
      })();
    </script>

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