サポートに連絡する| システムステータス
ページコンテンツ

    このページは移動しました。3 秒後に新しい場所に移動します。ブックマークを更新してください!

    ライブストリームによる再生制限

    このトピックでは、ライブストリームで再生制限を使用する方法を学習します。

    はじめに

    ライブジョブで再生制限を有効にして、DRM によって提供される保護を拡張できます。これには次のようなものがあります。

    • 再生を特定のユーザーエージェントに制限する
    • IP アドレスの数を制限する
    • ユーザー総数を制限する

    包括的な制限セットについては、Playback Rights API を使用して設定できます。この場合、をビデオに関連付けます。playback_rights_id詳細については、概要の「アセットレベルの制限」セクションを参照してください。ブライトコーブの再生制限に関するドキュメント。

    実行時の制限については、JSON Web トークン (JWT) 要求を指定できます。これらの制限には、ストリームの同時実行性とデバイスの制限が含まれます。詳細については、「概要」の「ランタイム制限」セクションを参照してください。ブライトコーブの再生制限に関するドキュメント。

    ライブストリームでは、ユーザーの DRM CRT をオーバーライドすることもできます。詳細については、概要の「ライセンスキー保護」セクションを参照してください。ブライトコーブの再生制限に関するドキュメント。

    どのモードを選択しても、Video Cloud ビデオが作成され、ライブジョブにリンクされるように、videocloud.videoジョブリクエストに属性を含める必要があります。playback_rights_idこの属性をVideo Cloud ビデオで更新して、 CMS API を使用して再生制限を変更できます

    また、適切なクレームを使用して JSON Web トークン (JWT) を作成する必要があります。ライセンスサーバー要求には、JWT を含める必要があります。独自のプレーヤーを実装する場合は、DRM に加えて、BCOV-Authbcov_authヘッダーまたはクエリパラメータにこの値を渡す必要があります。トークン)。

    ライブジョブの作成

    再生制限を利用するライブジョブを作成できます。ライブストリームの作成の詳細については、「Brightcove Live API を使用したライブストリームの作成」ドキュメントを参照してください。

    新しいフィールド

    ライブジョブに再生制限を追加するために、次の新しいフィールドが使用されます。

    • drmオブジェクト:

      require_playback_token (ブール値)
      ライセンスをリクエストする場合、再生認証 JWT が必要になります。
      check_playback_rights (ブール値)
      ライセンスをリクエストする場合、再生認証 JWT が必要になります。ビデオまたは JWT に関連付けられた再生権限 ID を使用して、制限を適用します。
    • videocloud.videoオブジェクト:

      playback_rights_id (文字列)
      指定された再生制限をビデオに関連付けます。

    リクエストとレスポンスの例

    以下は、再生制限付きのライブジョブを作成するためのサンプルLiveAPIリクエストボディです。

    リクエスト本文の例

    {
      "live_stream": true,
      "region": "us-west-2",
      "reconnect_time": 300,
      "ad_insertion": false,
      "static": false,
      "drm": {
        "modes":["all"],
        "require_playback_token": true,
        "check_playback_rights": true
      },
      "live_dvr_sliding_window_duration": 300,
      "videocloud": {
        "live_to_vod": true,
        "video": {
            "name": "Test EPA",
            "description": "",
            "long_description": "",
            "tags": [],
            "reference_id": "",
            "link": {
                "url": "",
                "text": ""
            },
            "custom_fields": {}
          }
      },  
      "outputs": [{
          "label": "hls720p",
          "live_stream": true,
          "height": 720,
          "video_bitrate": 2000,
          "segment_seconds": 6,
          "keyframe_interval": 60
      },
      {
          "label": "hls480p",
          "live_stream": true,
          "height": 480,
          "video_bitrate": 1000,
          "segment_seconds": 6,
          "keyframe_interval": 60
      }
    }

    レスポンスの例

    強調表示された行には、id追加する必要のあるビデオが含まれていますplayback_rights_id

    {
      "id": "f47487cf81f84764b280fbfaefed524a",
      "outputs": [
          {
              "id": "0-f47487cf81f84764b280fbfaefed524a",
              "label": "hls720p"
          },
          {
              "id": "1-f47487cf81f84764b280fbfaefed524a",
              "label": "hls480p"
          },
          {
              "id": "2-f47487cf81f84764b280fbfaefed524a",
              "playlist_type": "defaultS3",
              "type": "playlist",
              "drm": {
                  "token": "eyJh...axy8",
                  "modes": [
                      {
                          "type": "fairplay",
                          "key_system": "com.apple.fps.1_0",
                          "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/fp?token=eyJh...axy8",
                          "certificate_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/cert/fp?token=eyJh...axy8",
                          "filename": "playlist_fp.m3u8",
                          "dvr_filename": "playlist_fp_dvr.m3u8",
                          "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp.m3u8",
                          "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp_dvr.m3u8",
                          "playback_added_cdns": []
                      },
                      {
                          "type": "widevine",
                          "key_system": "com.widevine.alpha",
                          "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/wv?token=eyJh...axy8",
                          "filename": "playlist_wv.m3u8",
                          "dvr_filename": "playlist_wv_dvr.m3u8",
                          "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv.m3u8",
                          "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv_dvr.m3u8",
                          "playback_added_cdns": []
                      },
                      {
                          "type": "playready",
                          "key_system": "com.microsoft.playready",
                          "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/pr?token=eyJh...axy8",
                          "filename": "playlist.mpd",
                          "dvr_filename": "playlist_dvr.mpd",
                          "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist.mpd",
                          "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_dvr.mpd",
                          "playback_added_cdns": []
                      }
                  ],
                  "token_expires_in": 43200,
                  "require_playback_token": true,
                  "check_playback_rights": true
              }
          }
      ],
      "stream_url": "rtmp://ep8-usw2.a-live.io:1935/f47487cf81f84764b280fbfaefed524a",
      "stream_name": "alive",
      "static": false,
      "event_length": 93600,
      "job_videocloud_asset_id": "70701312966202",
      "encryption": {},
      "drm_enabled": true,
      "drm": {
        "token": "eyJh...axy8",
        "modes": [
          {
            "type": "fairplay",
            "key_system": "com.apple.fps.1_0",
            "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/fp?token=eyJhb...axy8",
            "certificate_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/cert/fp?token=eyJhb...axy8",
            "filename": "playlist_fp.m3u8",
            "dvr_filename": "playlist_fp_dvr.m3u8",
            "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp.m3u8",
            "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_fp_dvr.m3u8",
            "playback_added_cdns": []
          },
          {
            "type": "widevine",
            "key_system": "com.widevine.alpha",
            "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/wv?token=eyJhb...axy8",
            "filename": "playlist_wv.m3u8",
            "dvr_filename": "playlist_wv_dvr.m3u8",
            "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv.m3u8",
            "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_wv_dvr.m3u8",
            "playback_added_cdns": []
          },
          {
            "type": "playready",
            "key_system": "com.microsoft.playready",
            "license_url": "https://license-proxy-qa.alive.us-west-2.qa.deploys.brightcove.com/lic/pr?token=eyJh...axy8",
            "filename": "playlist.mpd",
            "dvr_filename": "playlist_dvr.mpd",
            "playback_url": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist.mpd",
            "playback_url_dvr": "https://playback-qa.a-live.io/f47487cf81f84764b280fbfaefed524a/us-west-2/NA/playlist_dvr.mpd",
            "playback_added_cdns": []
          }
        ],
        "token_expires_in": 43200,
        "require_playback_token": true,
        "check_playback_rights": true
      }
    }

    ライブジョブに制限を追加する

    ライブストリームを作成した後、 CMS API を使用して、ライブジョブ用に作成されたビデオに再生制限を追加できます

    CMS API リクエスト

    動画に再生権IDを追加するには、ビデオを更新する次のリクエスト本文を使用してCMSAPIにリクエストします。

    {
    	"playback_rights_id": "your playback_rights_id"
    }

    ストリームを配信する

    ライブストリームを配信するために Brightcove ウェブプレーヤーまたは Brightcove ネイティブプレーヤー SDK のいずれかを使用している場合、再生制限の実装は VOD の場合と同じです。以下を参照してください。


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