NextGen Live におけるサーバーサイド広告挿入 (SSAI) の実装
概要
NextGen Live は Server-Side Ad Insertion(SSAI)をサポートしており、広告はサーバーサイドでライブ動画ストリームにステッチされます。これはクライアントサイド広告と比較していくつかの利点をもたらします:
- 広告ブロッカー対策:広告はライブストリームの一部であるため、クライアントサイドの広告ブロッカーは影響しません
- シームレスな再生:ブレーク境界でのバッファリングや再バッファリングなしに広告が再生されます
- SCTE-35 サポート:エンコーダーからまたは手動でトリガーされる、広告ブレーク配置のための業界標準シグナリング
- フィルスレートのサポート:広告ブレークがクリエイティブで満たされない場合にフォールバック動画が再生されます
SSAI の構成要素
NextGen Live の SSAI は、4 つの独立したレイヤーにまたがっています。各レイヤーは異なる場所で設定され、異なる方法で保存されます。分離を理解することで、最も一般的な設定ミスを防ぐことができます。
| レイヤー | 設定場所 | 機能 | 保存方法 |
|---|---|---|---|
| 1. 広告設定 | Admin モジュール → NextGen Live Settings | 広告サーバー URL、レスポンスタイプ、カスタムヘッダー、ビーコンを定義します | アカウント全体で使用;チャンネル間で再利用可能 |
| 2. SSAI の有効化 | Live モジュール → New Channel ウィザード(ステップ 3) | チャンネルの SSAI をオンにし、フィルスレートを割り当てます | チャンネル作成時に一度設定;後から切り替え不可 |
| 3. 広告設定の選択 | 調整室 → Channel URLs または Embed on Web | 再生トークンが使用する広告設定を選択します | URL または埋め込みコードが生成された時点で発行された JWT に組み込まれます |
| 4. 広告ブレークのトリガー | エンコーダーの SCTE-35 シグナルまたは調整室の Insert Ad | ライブトランスコーダーに広告ブレークの開始とその長さを通知します | イベントごと;広告設定は選択しません |
レイヤー 1:広告設定の作成
広告設定は、広告サーバーへの広告リクエスト方法を定義します。Admin モジュールでアカウントごとに一度作成され、すべての SSAI 対応チャンネルで再利用されます。
- Studio の Admin モジュールを開きます。
- 左側のナビゲーションで NextGen Live Settings をクリックします。
- New をクリックして設定フォームを開きます。
- 設定の Name を入力します。これは、調整室でビューワーの広告設定を選択する際に使用されるラベルです。
- Ad Server URL を入力します。広告サーバーから取得した完全な広告タグ URL です。
- Ad Server Response Type(VAST、VMAP、または DFP)を選択します。
- (オプション)広告サーバーで必要な Custom Headers を追加します。
X-Forwarded-ForやX-Device-User-Agentなどの標準ヘッダーは自動的に送信されます。 - (オプション)カスタムチャンネルでのトラッキング用の Custom Beacons(start、firstQuartile、midpoint、complete など)を追加します。
- Add をクリックして設定を保存します。
レイヤー 2:チャンネルでの SSAI の有効化
SSAI はチャンネル作成時に有効化されます。同じ手順でチャンネルのフィルスレート(広告が返されない場合に広告ブレーク中に再生される動画)も割り当てます。
フィルスレート動画の準備
フィルスレートは、チャンネルを作成する前に Video Cloud アカウントに存在している必要があります:
- アセットには少なくとも 1 つの MP4 レンディションが必要です。MP4 出力を生成する Ingest Profile を使用してください。
- スケーリングアーティファクトを避けるため、解像度はライブストリームの出力に合わせてください。
- ブランド化された高品質のコンテンツを使用してください。スレートは広告が利用できない場合にビューワーが見るものです。
SSAI を有効にしてチャンネルを作成する
- Live モジュールを開き、New Channel をクリックします。
- Event Channel または Linear Channel を選択し、Next をクリックします。
- チャンネル名を入力し、ステップ 2 の入力設定を完了します。
- ステップ 3(Stream Advanced Settings)で、SSAI セクションを展開します。
- Enable SSAI をオンにします。Select Slate Asset コントロールが表示されます。
- Select Slate Asset をクリックし、Video Cloud アカウントから動画を選択して Select をクリックします。MP4 レンディションを持つ動画のみが選択可能です。
- Create Channel をクリックします。
既存チャンネルの SSAI ステータスの確認
Channel Settings → Advanced Settings → SSAI でチャンネルの SSAI が有効化されているか確認できます。トグルは読み取り専用です。
レイヤー 3:再生時の広告設定の選択
チャンネルで SSAI を有効にしても、どの広告設定を実行するかは選択されません。それは再生トークンが発行される際に選択されます。これには 2 つの画面があり、それぞれ独立したトークンを生成します。
Channel URLs パネルから
この画面は、直接連携(再生 URL のテスト、カスタムプレーヤーへの貼り付け、または別のチームとの共有)に使用します。
- チャンネルの調整室を開き、Channel URLs パネルを展開します。
- Ad Configuration ドロップダウンをクリックし、レイヤー 1 で作成した設定のいずれかを選択します。
- 再生成された Playback URL をコピーします。URL には選択した広告設定 ID を含む JWT が含まれています。
Embed on Web モーダルから
この画面は、特定の広告設定が組み込まれた Brightcove Player を公開するために使用します。生成された iframe または JavaScript の埋め込みコードが、ビューワーが実際に読み込むものです。
- 調整室で Embed on Web をクリックします。
- ドロップダウンから Player を選択します。
- 必要に応じて Player Sizing、Aspect Ratio、サイズを設定します。
- Ad Configuration ドロップダウンをクリックし、設定を選択します。
- ダイアログ下部から iframe または JavaScript の埋め込みコードをコピーし、Done をクリックします。
埋め込みコードには選択した広告設定が含まれています。後でビューワーに別の広告設定を適用したい場合は、新しい選択で埋め込みコードを再生成してください。既に配布された埋め込みコードは引き続き元の設定を使用します。
レイヤー 4:広告ブレークのトリガー(SCTE-35)
SCTE-35 キューは、ライブトランスコーダーが広告ブレークを開始する場所をマークします。どの広告を再生するかは選択しません。その決定は、ビューワーの再生トークン上の広告設定を使用して広告サービスによって行われます。
エンコーダーからの自動 SCTE-35
ほとんどの本番環境では、ソースコンテンツに対してタイミングを合わせるため、エンコーダーから直接 SCTE-35 キューを送信します:
- エンコーダーが SCTE-35 スプライスインサートコマンドをサポートしていることを確認します。
- 希望するブレーク時間でスプライスキューを設定します。
- 本番に入る前に、ステージングストリームでキューのタイミングをテストします。
調整室からの手動広告挿入
広告のタイミングが事前に決められない場合(例:可変ブレーク時間のスポーツイベント)に手動広告挿入を使用します。
- 調整室で Insert Ad コントロールを見つけます。(チャンネルの実行中に利用可能です。)
- Ad Break Duration(例:30、60、90 秒)を選択します。
- Insert Ad をクリックして SCTE-35 キューを発火します。
- 調整室のプレビューを監視してブレークを確認します。
SSAI のベストプラクティス
- ライブイベントの前にステージングストリームで広告タグをテストします。広告サーバーがクリエイティブを返し、四分位ビーコンが発火することを確認します。
- フィルスレートの解像度をライブ出力に合わせます。720p ストリームに対して 1080p のスレートはスケーリングが不良になります。
- 画面ごとに広告設定の選択を決定します。複数のチームが同じチャンネルを異なる広告設定で配信する場合は、Channel URLs と Embed on Web を独立して再生成してください。一方の画面から発行されたトークンはもう一方には影響しません。
- 埋め込みコードを不変として扱います。一度配布されると、ビューワーは新しい埋め込みコードを提供するまで、生成時に紐付けられた広告設定を使用し続けます。
SSAI のトラブルシューティング
- 広告が表示されない
-
- チャンネル作成時に SSAI が有効化されていたことを確認します(Channel Settings → Advanced Settings → SSAI)。
- ビューワーのトークンの広告設定を確認します:期待する広告設定を選択して Channel URL または Embed on Web を再生成し、再試行します。
- 広告サーバー URL が選択したレスポンスタイプに対して有効な VAST/VMAP/DFP を返すことを確認します。
- SCTE-35 キューのタイミングとブレーク時間を確認します。
- 広告の代わりにフィルスレートが表示される
-
- 広告サーバーが要求された時間帯の在庫を持っていることを確認します。
- 広告リクエストのレイテンシを確認します。広告サーバーの応答が遅いとスレートへのフォールバックが発生します。
- 広告サーバー URL を独立してテストします(例:ブラウザに貼り付けて)クリエイティブのレスポンスを確認します。
- 広告設定のドロップダウンが空
-
- Admin → NextGen Live Settings に少なくとも 1 つの広告設定が存在することを確認します。
- チャンネルで SSAI が有効化されていることを確認します。ドロップダウンは SSAI 対応チャンネルにのみ表示されます。