ライブ ストリーム イベントの構成を作成する

アド マネージャーを統合するには、特定のライブ ストリーム イベントに対してライブ構成を作成する必要があります。動的ストレッチャー API では、この構成がアド マネージャーに登録されます。

ソース マニフェストの要件

Video Stitcher API は、ソース マニフェストを解析して、構成をアド マネージャーに登録します。ソース マニフェストは、形式に応じて特定の特性を持つ必要があります。

HLS

  • コンテナ形式は FMP4 または多重化された MPEG-TS であることが必要です。
  • マニフェストに、次の(適切に入力された)フィールドを持つレンディションが少なくとも 1 つあることが必要です。
    • コーデック
    • bandwidth

MPEG-DASH

  • MPD@type を動的(@type="dynamic")に設定
  • MPD@profiles には、ISO ライブ プロファイル urn:mpeg:dash:profile:isoff-live:2011 が含まれる
  • 1 つ以上の期間に、1 つ以上のアダプテーション セットが含まれる
  • 各アダプテーション セットには 1 つ以上の表現が含まれる
  • 表現には、$Number$ または $Time$ の識別子を持つ SegmentTemplate が含まれるか、継承されている
  • すべてのアダプテーション セットで @segmentAlignment を true に設定する
  • 表現は空でない必要がある

ライブ構成ファイルを作成する

構成を作成するには、projects.locations.liveConfigs.create メソッドを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号
  • LOCATION: 構成を作成するロケーション。サポートされているリージョンのいずれかを使用します。
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • LIVE_CONFIG_ID: ライブ構成のユーザー定義の識別子。この ID に使用できるのは、小文字、数字、ハイフンに限られます。 最初の文字は英字で、最後の文字は英字または数字で、ID 全体は最大 63 文字です。
  • SOURCE_LIVESTREAM_URI: ライブ ストリーム動画マニフェストのソース URL。動画スティッチャー API にアクセスできる必要があります。URL は一般公開されている必要があります。もしくは、CDN に対して URL 署名が有効になっている場合には、登録済みの CDN 鍵が動画スティッチャー API に提供されている必要があります。Live Stream API を使用してテスト ライブ ストリームを作成した場合、これは Cloud Storage バケットの main.m3u8 ファイルまたは main.mpd ファイルの URI です。
  • AD_TAG_URI: (この値を以下のリクエスト JSON コードブロックに貼り付けます)。広告サーバーから取得した広告メタデータの URL。アド マネージャーとの統合では、有効なアド マネージャーのライブ動画広告タグである必要があります。有効な広告タグを取得するには、動画とオーディオの広告タグを生成するの手順に沿って以下を変更します。
    • [ライブ トラフィック] で、ライブ トラフィックを有効にします。
    • [プレーヤーの SDK タイプ] で [Google IMA SDK] を選択します。
    • タグにパラメータ ad_rule=0 を追加します(たとえば、&ad_rule=0 を末尾に追加します)。
  • NETWORK_CODE: アド マネージャー ネットワークの数値識別子。パブリッシャー アカウントのグローバル設定にあります。

JSON 本文のリクエスト:

{
  "sourceUri": "SOURCE_LIVESTREAM_URI",
  "adTagUri": "AD_TAG_URI",
  "gamLiveConfig": {
    "networkCode": "NETWORK_CODE",
  },
  "adTracking": "CLIENT"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.common.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID",
    "verb": "create",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": false
}

このコマンドは、進行状況を追跡するためにクエリできる長時間実行オペレーション(LRO)を作成します。次のセクションで使用するために、返された OPERATION_IDname フィールドの最後の部分)をコピーします。

結果を確認する

動画スティッチャー API は、構成をアド マネージャー アカウントに非同期で登録します。これには数分かかります。

projects.locations.operations.get メソッドを使用して、ライブ構成ファイルが作成されたかどうかを確認します。レスポンスに "done: false" が含まれている場合は、レスポンスに "done: true" が含まれるまでコマンドを繰り返します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号
  • LOCATION: データのロケーション。サポートされているリージョンのいずれかを使用します。
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • OPERATION_ID: オペレーションの ID。

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.media.asset.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "endTime": END_TIME,
    "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID",
    "verb": "create",
    "cancelRequested": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.LiveConfig",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID",
    "sourceUri": "SOURCE_LIVESTREAM_URI",
    "adTagUri": "AD_TAG_URI",
    "gamLiveConfig": {
      "networkCode": "NETWORK_CODE",
      "assetKey": "ASSET_KEY",
      "customAssetKey": "PROJECT_NUMBER-LOCATION-LIVE_CONFIG_ID"
    },
    "state": "READY",
    "adTracking": "CLIENT",
    "stitchingPolicy": "CUT_CURRENT"
  }
}

構成を取得する

構成を取得するには、projects.locations.liveConfigs.get メソッドを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号
  • LOCATION: ライブ構成ファイルのロケーション。サポートされているリージョンのいずれかを使用してください。
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • LIVE_CONFIG_ID: ライブ構成ファイルのユーザー定義の識別子。

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID",
  "sourceUri": "SOURCE_LIVESTREAM_URI",
  "adTagUri": "AD_TAG_URI",
  "gamLiveConfig": {
    "networkCode": "NETWORK_CODE",
    "assetKey": "ASSET_KEY",
    "customAssetKey": "PROJECT_NUMBER-LOCATION-LIVE_CONFIG_ID"
  },
  "state": "READY",
  "adTracking": "CLIENT",
  "stitchingPolicy": "CUT_CURRENT"
}

customAssetKey フィールドを見つけて、返された CUSTOM_ASSET_KEY をコピーします。これらの値は、次のステップで Interactive Media Ads(IMA)SDK に送信されます。