ビデオ オンデマンド(VOD)コンテンツでは、ミッドロールのダイナミック広告挿入(DAI)が可能です。
DAI でミッドロールを正しく表示するには、以下の手順を踏みます。
- コンテンツ ソースを作成して、ミッドロールを有効にします。
- ミッドロール CDN 設定を作成する(HLS でのみサポート)か、適切なタイミングで広告ブレークを設けられるようにコンテンツを条件付けます。
- 適切なタイミングで広告のリストを返すように、アド マネージャーの広告ルールを設定します。
広告ブレークのタイミングを適切に処理できるようにコンテンツを条件付ける
DAI のミッドロール広告ブレークは、ストリームの一般的な動画セグメントの区切りと一致しないことがあります。
動画コンテンツをセグメントに分割して広告ブレークを挿入する処理のことを「コンテンツの条件付け」と言います。希望の広告ブレークの位置に広告を挿入するには、事前に条件付けをしたコンテンツ、またはアド マネージャーで条件付けすることが可能なコンテンツを提供してください。
DASH VOD コンテンツはすべて事前に条件付けられている必要があります。
通常は 10 秒単位のセグメントで区切られるコンテンツに対し、0:36
(36 秒)のところで広告ブレークを設けたいとします。この場合は、10 秒間の動画を 6 秒と 4 秒の 2 つのセグメントに分割すると正しい時間に広告が挿入されます。
事前に条件付けたコンテンツ
広告が挿入されるキューポイントで動画ストリームが正確に分割されている場合、コンテンツは「事前に条件付けられている」とみなされます。事前の条件付けは、DASH VOD コンテンツのミッドロールを有効にする場合や、HLS VOD コンテンツへの DAI 条件付けと置き換える場合に必要です。
事前に条件付けたコンテンツを取り込むための要件
HLS と DASH の両方の VOD コンテンツについて、MRSS フィードの ingestURL 要素で事前
の条件付け属性を true
として定義する必要があります。また、ミッドロール広告を適切に表示するには、MRSS フィードにキューポイントを指定してください。
HLS
- コンテンツを分割するための HLS マニフェストを構築します
- MRSS フィードの
ingestURL
要素で事前の条件付け属性を true として定義します - HLS ストリーム ファイルにマーカーを配置して、広告を配信できる位置を示すことができます。使用できるマーカーは次のとおりです。
#EXT-X-PLACEMENT-OPPORTUNITY
#EXT-X-PLACEMENT-OPPORTUNITY
マーカーの数とキューポイントの数が一致する必要があります
#EXT-X-CUE-OUT
と#EXT-X-CUE-IN
(ベータ版)#EXT-X-CUE-OUT
マーカーと#EXT-X-CUE-IN
マーカーの間にあるコンテンツは切り取られ、DAI 合成広告に置き換えられます#EXT-X-CUE-OUT
マーカーと#EXT-X-CUE-IN
マーカーはミッドロール広告挿入専用のため、再生リストの最初または最後にある場合は無視されます#EXT-X-CUE-OUT
マーカーと#EXT-X-CUE-IN
マーカーのペアの数がキューポイントの数と一致する必要があります
DASH VOD
- メディア プレゼンテーションを複数の期間に分割し、各ミッドロール キューポイントが期間の境界になるようにする必要があります
- 各期間の始めと終わりのコンテンツ セグメントを準備して、そのセグメント内のすべてのフレームがその期間に含まれるようにする必要があります
- キューポイントの後にはキーフレーム / IDR フレームから始まる期間が必要です
詳しくは、ingestURL フィード要素の事前の条件付け属性に関する要件をご覧ください。
条件付けのないコンテンツ
HLS コンテンツを事前に条件付けていない場合、以下の要件を満たしていれば、アド マネージャーでコンテンツの条件付けが行われます。
アド マネージャーでコンテンツを条件付けるための要件
- MRSS フィードに
<dfpvideo:cuepoints>
パラメータが含まれ、その値に広告ブレークのタイミングが指定されていること - アド マネージャーで条件付けたコンテンツを保存できるミッドロール CDN の場所を確保すること
<vmap:VMAP xmlns:vmap="http://www.iab.net/videosuite/vmap" version="1.0">
<vmap:AdBreak timeOffset="start" breakType="linear" breakId="preroll">
<vmap:AdSource id="preroll‑ad‑1" allowMultipleAds="false" followRedirects="true">
<vmap:AdTagURI templateType="vast3">
<![CDATA[
https://securepubads.g.doubleclick.net/gampad/ads?
slotname=/124319096/external/ad_rule_samples&sz=640x480&ciu_szs=300x250&unviewed_position_start=1&output=xml_vast3&impl=s&env=vp&gdfp_req=1&ad_rule=0&vad_type=linear&vpos=preroll&pod=1&ppos=1&lip=true&min_ad_duration=0&max_ad_duration=30000&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpost&url=&video_doc_id=short_onecue&cmsid=496&kfa=0&tfcd=0
]]>
</vmap:AdTagURI>
</vmap:AdSource>
</vmap:AdBreak>
<vmap:AdBreak timeOffset="00:00:15.000" breakType="linear" breakId="midroll‑1">
<vmap:AdSource id="midroll‑1‑ad‑1" allowMultipleAds="false" followRedirects="true">
<vmap:AdTagURI templateType="vast3">
<![CDATA[
https://securepubads.g.doubleclick.net/gampad/ads?
slotname=/124319096/external/ad_rule_samples&sz=640x480&ciu_szs=300x250&unviewed_position_start=1&output=xml_vast3&impl=s&env=vp&gdfp_req=1&ad_rule=0&vad_type=linear&vpos=midroll&pod=2&mridx=1&ppos=1&lip=true&min_ad_duration=0&max_ad_duration=30000&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpost&url=&video_doc_id=short_onecue&cmsid=496&kfa=0&tfcd=0
]]>
</vmap:AdTagURI>
</vmap:AdSource>
</vmap:AdBreak>
<vmap:AdBreak timeOffset="end" breakType="linear" breakId="postroll">
<vmap:AdSource id="postroll‑ad‑1" allowMultipleAds="false" followRedirects="true">
<vmap:AdTagURI templateType="vast3">
<![CDATA[
https://securepubads.g.doubleclick.net/gampad/ads?
slotname=/124319096/external/ad_rule_samples&sz=640x480&ciu_szs=300x250&unviewed_position_start=1&output=xml_vast3&impl=s&env=vp&gdfp_req=1&ad_rule=0&vad_type=linear&vpos=postroll&pod=3&ppos=1&lip=true&min_ad_duration=0&max_ad_duration=30000&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpost&url=&video_doc_id=short_onecue&cmsid=496&kfa=0&tfcd=0
]]>
</vmap:AdTagURI>
</vmap:AdSource>
</vmap:AdBreak>
</vmap:VMAP>