Server Guided Ad Insertion(SGAI)って何?
弊社では、広告体験の新たな挑戦をするために、様々なチャレンジを行っています。
広告を動的に、好きなときに入れる技術を Dynamic Ad Insertion と呼びます。
このDynamic Ad Insertionをめぐって、現在色々な技術が検討されています。
Server Side Ad Insertion
Server Side Ad Insertion(SSAI)とは、サーバサイドで広告挿入を実現する技術です。
SSAIには主に二種類の方法があります。
一つ目は、ライブ配信などにおいて、本編動画の裏側で、広告サーバにアクセスし、VASTを引っ張ってきて、その中にある広告クリエイティブを決められた時間に合わせて映像を切り替えるというものです。視聴者からすると、1本の動画がそのまま流れており、エンコーダ側で映像と広告を切り替えています。ただし、この場合は、複数の広告グループを流そうとしたときに、その分だけエンコーダが必要になります。
二つ目が、スタンダードなやり方で、本編動画の裏側で、広告サーバにアクセスするところまでは一緒ですが、広告クリエイティブを単独でHLSなどに変換し、指定された時間に合わせてプレイリストに広告クリエイティブのセグメントを挿入します。この際に、前後のタイムスタンプが合わなくなるので、HLSの場合はEXT-X-DISCONTINUITYタグを挿入することで、プレーヤー側のデコーダをリフレッシュすることが出来ます。これにより、本編のセグメントはそのまま、広告のセグメントも、広告グループ分用意して、動的に差し替えられるので、大変効率が良いです。
Server Guided Ad Insertion
Server Guided Ad Insertion(SGAI)とは、サーバサイドで広告を挿入するわけではなく、サーバサイドでは挿入ポイントと広告情報をクライアントに伝えます。クライアントサイドは広告プレイリストを取得し、挿入ポイントで再生を行います。
どういうことかというと、SSAIの場合、二つ目の手法を使えば、本編動画と広告クリエイティブを別々で用意できるのがメリットでしたが、本編マニフェストを書き換える必要があります。
SGAIの場合、本編マニフェストはそのままで、広告マニフェストを分離し、本編マニフェストから別のマニフェストを読み込むのが、SGAIの特徴です。
SGAIを提案したHulu社の手法についてみてみましょう。MPEG-DASHのMPD Patch Requestを使った挙動は以下の図の通りです。PathLocationタグに記載されたMPDマニフェストの中には、上書き(パッチ)を行うセグメントとその時間と長さが記載されています。これにより、特定の時間からは別のセグメントを見に行き、終わったら本編に戻るといった挙動になります。
SGAIのメリットは、広告マニフェストが分離されており、本編プレイリスト上だととてもシンプルになるということです。Path Requestの名前の通り、別のセグメントで上書きするので、本編プレイリストは広告再生中の区間も、セグメントが並んでいます。従来のSSAIだと、広告セグメントが入ってる場合、本編セグメントはなくなりますが、SGAIの場合は万が一広告セグメントが取得できない場合、そのまま本編を再生する形になります。
この MPD Patch Request ですが、前記事でもご紹介したDASH Media Presentation Insertionが提案されています。MPD Patch Requestよりもシンプルに実現が可能となるもので、後述のHLS Interstitialsの仕組みを強く影響受けています。アプローチとしては、別プレイリストを見に行くという部分は一緒です。
一方で、AWSのMediaTailorでサポートされたSGAIは、WWDC22で発表された機能であるHLS Interstitialsの仕組みを使っています。
HLS Interstitialsの詳しい挙動については、AWSブログがわかりやすいので、こちらをご覧ください。
Support for HLS Interstitials in AWS Elemental MediaTailor | Amazon Web Services
Hulu社が発起人として、進めていこうとしているSGAIですが、MediaTailorのサポートが開始され、今後一気に進んでいきそうですね。