サポート サポート問い合わせ先 | システムステータス システムステータス
ページ内容

    Deの実装liveryルール

    このトピックでは、BrightcoveのDeを実装する方法を学習しますliveryルール。メディアのデザインをカスタマイズできます。liveあなたのビジネス目標を満たすために赤。

    概要

    出版社は、技術的理由とビジネス上の理由の両方で、メディアマニフェストのコンテンツ特性を変更する必要があることがよくあります。 これらのニーズを満たすために、Brightcoveは、DynamicDeから返されるマニフェストのコンテンツを変更するルールを適用できるフレームワークを作成しました。livery。

    Deliveryルールは、条件とアクションで構成されています。

    • の賃貸条件 -特定のアクションをトリガーする「If」条件
    • アクション -マニフェストの変更方法を定義する「Then」パラメーター

    Deの詳細についてはliveryルールについては、以下を参照してください。

    アカウント設定

    料金について確認し、アカウントでこの機能を有効にするには、アカウントマネージャーにお問い合わせください。

    ルールの適用

    次のフロー図は、liveryルールが適用されます。

    Delive適用されるryルール
    Delive適用されるryルール

    の賃貸条件

    最初のフェーズでサポートされる「if」条件には、次のものが含まれます。

    • 明示的なリクエスト -構成IDは、作成したアクションのIDです。 このIDを使用して、 Playback API 実行時。 このIDは、基になるサービスが Playback API 適切な応答データを返します。

    • デバイスグループ -ユーザーエージェント解析によって検出されたデバイスタイプ。 現在サポートされているグループは次のとおりです。
      • アンドロイド
      • アプレット
      • Chromecastの
      • アプリ
      • iphone
      • デスクトップクロム
      • デスクトップ-Firefox
      • デスクトップサファリ
      • fetchtv
      • iOS-その他
      • roku-7 / 8
      • スマートフォン汎用
      • タブレット-アンドロイド
      • タブレットキンドル
      • 未知の
       
    • 地理 -リクエストしているデバイスの物理的な場所:
      • 大陸

    アクション

    最初のフェーズでサポートされるアクション、つまり「then」パラメーターには、次のものがあります。

    • メディアデlivery CDN -特定のDynamicDe内で使用するように構成されたCDNからliveryアカウント、deに使用するCDNliveメディアセグメントのry。

    • レンディションの特性 -基になるメディアレンディションの特性に基づいてフィルターします。 これらには以下が含まれます:
      • 最小ビデオビットレート
      • 最大ビデオビットレート
      • 最小ビデオ解像度
      • 最大ビデオ解像度
      • オーディオレンディションの最大数
      • ビデオレンディションの最大数
      • 最初のビデオビットレート
      • 不連続

    範囲

    アクションはXNUMXつのレベルで適用できます。

    • アカウント -特定の顧客のアカウントに対して行われたすべてのリクエストに適用されるアクション
    • 特定の要求 -特定のリクエストで呼び出されるアクション

    アクションは上記の順序で適用されます。 後のアクションは前のアクションをオーバーライドします。

    ルールの定義

    Deを使用するliveメディアをカスタマイズするためのryRules APIlivery。

    DeliveryルールAPI

      DeliveryルールAPI メディアを制御するための条件とアクションを定義できます。livery。

      応答 デからlivery Rules APIには、 conditions アレイ。 この配列を使用すると、複数を作成できます if / then それぞれが then XNUMXつ以上を指す アクションID.

    追加または削除する方法はありませんが conditions、これを行うには、 conditions アレイ。

    ベースURL

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

    https://delivery-rules.api.brightcove.com

    アカウントパス

    すべての場合において、要求は特定の Video Cloud アカウント。 したがって、常にベースのURLに「アカウント」という用語の後にアカウントIDを追加します。

    https://delivery-rules.api.brightcove.com/accounts/{accountID}

    承認

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

    Authorization: Bearer {access_token}

    アクセストークンは、Brightcove OAuthサービスから取得する必要がある一時的なOAuth2アクセストークンです。 クライアント資格情報を取得し、それを使用してアクセストークンを取得する方法の詳細については、 Brightcove OAuth の概要.

    パーミッション

    Playback Rights APIへのリクエストは、 クライアントの資格情報 次の権限を持つ:

    • video-cloud/delivery-rules/read
    • video-cloud/delivery-rules/all

    ルールを管理する

    デlivery Rules APIは、次のリクエストをサポートしています。 APIの詳細については、 DeliveryルールAPIリファレンス.

    Get Deliveryルール

    次のGETリクエストを使用して、Deの最新バージョンをフェッチしますliveアカウントのryルール。

    GET /accounts/{accountID}
    APIレスポンス

    これが応答本文です。 Deに注意してくださいliveryルールには、一連の条件と一連のアクションが含まれています。

    {
      "conditions": [
        {
          "name": "MyCondition1",
          "if": {
            "device_group": [
              "ipad"
            ],
            "request_country": [
              "string"
            ],
            "request_continent": [
              "AF"
            ]
          },
          "then": [
            "MyAction1"
          ]
        }
      ],
      "actions": [
        {
          "id": "MyAction1",
          "properties": {
            "min_video_bitrate": 0,
            "max_video_bitrate": 0,
            "first_video_bitrate": 0,
            "min_video_resolution": "string",
            "max_video_resolution": "string",
            "max_video_renditions": 0,
            "max_audio_renditions": 0,
            "preferred_cdn_provider": "string",
            "preferred_cdn_domain": "string",
          "video_codecs": [
            "string"
          ],
          "audio_codecs": [
            "string"
          ]
        }
        }
      ]
    }

    条件を取得

    次のGETリクエストを使用して、アカウントの条件をフェッチします。

    GET /accounts/{accountID}/conditions
    APIレスポンス

    こちらがレスポンスボディです。

    [
      {
        "name": "MyCondition1",
        "if": {
          "device_group": [
            "ipad"
          ],
          "request_country": [
            "string"
          ],
          "request_continent": [
            "AF"
          ]
        },
        "then": [
          "MyAction1"
        ]
      }
    ]

    更新条件

    次のPUTリクエストを使用して、アカウントの条件を更新します。

    PUT /accounts/{accountID}/conditions
      Content-Type: application/json
      Authorization: Bearer {access_token}
      Body: {conditions object}
    

    条件の本文をリクエストする

    条件のリクエスト本文は次のとおりです。 これは条件オブジェクトの配列であることに注意してください。

    [
      {
        "name": "MyCondition1",
        "if": {
          "device_group": [
            "ipad"
          ],
          "request_country": [
            "string"
          ],
          "request_continent": [
            "AF"
          ]
        },
        "then": [
          "MyAction1"
        ]
      }
    ]

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

    フィールド 種類 説明
    name 文字列 条件の一意の識別子
    device_group 文字列 ユーザーエージェント解析によって検出されたデバイスタイプの配列
    request_country 文字列 XNUMX文字の国コードの配列
    request_continent 文字列 XNUMX文字の大陸コードの配列
    then 文字列 関連するアクションの一意の識別子

    アクションを作成する

    次のPOSTリクエストを使用して、アカウントのアクションを作成します。

    POST /accounts/{accountID}/actions
      Content-Type: application/json
      Authorization: Bearer {access_token}
      Body: {actions object}
    

    アクションの本文をリクエスト

    アクションのリクエスト本文は次のとおりです。

    {
        "properties": {
          "min_video_bitrate": 0,
          "max_video_bitrate": 0,
          "first_video_bitrate": 0,
          "min_video_resolution": "string",
          "max_video_resolution": "string",
          "max_video_renditions": 0,
          "max_audio_renditions": 0,
          "preferred_cdn_provider": "string",
          "preferred_cdn_domain": "string",
          "video_codecs": [
            "string"
          ],
          "audio_codecs": [
            "string"
          ]
      }
    }

    アクションのAPI応答

    アクションのリクエスト本文は次のとおりです。

    {
        "id": "MyAction1",
        "properties": {
          "min_video_bitrate": 0,
          "max_video_bitrate": 0,
          "first_video_bitrate": 0,
          "min_video_resolution": "string",
          "max_video_resolution": "string",
          "max_video_renditions": 0,
          "max_audio_renditions": 0,
          "preferred_cdn_provider": "string",
          "preferred_cdn_domain": "string",
          "video_codecs": [
           "string"
          ],
          "audio_codecs": [
           "string"
          ]
      }
    }

    アクションのフィールドの詳細は次のとおりです。

    フィールド 種類 説明
    id 文字列 アクションに対してシステムが生成した一意の識別子。 これは actionID updateメソッドとdeleteメソッドで使用されます。
    properties オブジェクト 特定のアクションに対して定義されたプロパティのオブジェクト
    min_video_bitrate,
    max_video_bitrate
    整数 許可される最小または最大のビデオビットレート(kbps)を設定します
    first_video_bitrate 整数 最初のビデオのビットレートを設定します(kbps)
    min_video_resolution,
    max_video_resolution
    文字列 最小または最大の許容ビデオ解像度(WxH)を設定します
    max_video_renditions 整数 ビデオレンディションの最大数を設定する
    max_audio_renditions 整数 オーディオレンディションの最大数を設定する
    preferred_cdn_provider 文字列 優先CDNプロバイダーを設定する
    preferred_cdn_domain 文字列 優先CDNドメインを設定する
    video_codecs 文字列 ビデオコーデックの配列
    audio_codecs 文字列 オーディオコーデックの配列

    アクションを取得

    次のGETリクエストを使用して、アカウントのアクションをフェッチします。

    GET /accounts/{accountID}/actions
    APIレスポンス

    見ます アクションのAPI応答.

    アクションを取得

    次のGETリクエストを使用して、アカウントの特定のアクションをフェッチします。

    GET /accounts/{accountID}/actions/{actionID}
    APIレスポンス

    見ます アクションのAPI応答.

    アクションを更新する

    次のPUTリクエストを使用して、アカウントのアクションを更新します。

    PUT /accounts/{accountID}/actions/{actionID}
      Content-Type: application/json
      Authorization: Bearer {access_token}
      Body: {actions object}
    
    APIリクエスト

    見ます アクションのリクエスト本文.

    APIレスポンス

    見ます アクションのAPI応答.

    アクションを削除する

    次のDELETE要求を使用して、アカウントのアクションを削除します。

    DELETE /accounts/{accountID}/actions/{actionID}

    制限事項

    Deを使用する場合、いくつかの既知の制限がありますliveryルール:

    • メディアコンテンツ -デliveryルールはSmoothまたはpMP4ビデオでは機能しません。
    • メディアコンテンツ -デliveryルールは動作しません live ビデオ。
    • 音声のみ -デliveサーバーサイド広告(SSAI)が有効になっているryルールには、ビデオコンテンツとオーディオコンテンツの両方が必要です。 これはSSAIの制限です。

    最終更新日:19年2021月XNUMX日