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

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

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

入門

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

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

包括的な一連の制限については、Playback RightsAPIを使用して構成できます。この場合、playback_rights_idビデオ付き。詳細については、資産レベルの制限概要のセクション:Brightcoveの再生制限資料。

実行時の制限については、JSON Web Token(JWT)クレームを指定できます。これらの制限には、ストリームの同時実行性とデバイスの制限が含まれます。詳細については、実行時の制限概要のセクション:Brightcoveの再生制限資料。

ライブストリームを使用すると、ユーザーのDRMCRTを上書きすることもできます。詳細については、ライセンスキーの保護概要のセクション:Brightcoveの再生制限資料。

選択するモードに関係なく、ジョブリクエストにはvideocloud.video Video Cloudビデオが作成され、ライブジョブにリンクされるように属性を設定します。playback_rights_idこの属性をVideo Cloud ビデオで更新して、 CMS API を使用して再生制限を変更できます

また、する必要がありますJSON Web Token(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 ( 文字列)
    指定された再生制限をビデオに関連付けます。

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

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

リクエスト本文の例

{
  "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
  }
}
JSON

レスポンスの例

ハイライトされた行には、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
  }
}
JSON

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

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

CMS API リクエスト

再生権限 ID をビデオに追加するには、次のリクエスト本文を使用して CMS API にビデオ更新リクエストを送信します

{
	"playback_rights_id": "your playback_rights_id"
}
JSON

ストリームを配信する

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


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