サーバーサイド広告挿入とは:ネットワーク広告ブロッカーがこれらの広告を検出できない理由

いいえ——サーバーサイド広告挿入(SSAI)は、リクエストベースの広告ブロッカーではブロックできません。広告は、コンテンツと同じ動画ストリームに統合されてサーバー側で処理されるため、ブラウザに届く前に既に埋め込まれているからです。あなたのブラウザは、1つの連続したマニフェストと1つの連続したストリームをダウンロードするだけであり、インターセプト可能な個別の広告リクエストは存在しません。

サーバーサイド広告挿入とは実際どのようなものか

サーバーサイド広告挿入(SSAI)、または「広告ステッチング」とも呼ばれる技術は、動画プロバイダーが広告とコンテンツをサーバー上で1つの動画ストリームに統合し、配信前に処理する手法です。視聴者のデバイスには、すでに広告が組み込まれた1つの連続したストリームが届きます。これに対し、クライアントサイド広告挿入(CSAI)では、プレイヤーがコンテンツを読み込んだ後、各広告ブレイクごとに別々に広告サーバーにリクエストを送信します。

技術文書では、SSAIは「ステッチされたマニフェスト」または「シングルマニフェスト配信」と記述されます。これはライブストリーミングや、サブスクリプション動画サービスの広告付きプランで主流のアプローチです。回避が難しく、すべてのデバイスで同じように動作するためです。

HLSおよびDASHマニフェストにおけるその動作原理

現代の動画配信では、アダプティブストリーミング形式——HLS(.m3u8プレイリスト)とDASH(.mpdマニフェスト)——が使用されます。ストリームは短いセグメント(通常、各数秒)に分割され、マニフェストには再生順にセグメントが一覧表示されます。クライアント側のプレイヤーは、この一覧に従って再生を行います。

SSAIでは、広告セグメントが直接そのセグメントリストに挿入されます。プレイヤーに渡されるマニフェストは書き換えられ、コンテンツセグメントが存在する場所に正確に広告セグメントが表示されるようになります。一部の実装では、エンコーディングの変更を示すために不連続マーカー(HLSでは#EXT-X-DISCONTINUITY)を使用しますが、プレイヤーが実際に再生するのはプレイリスト自体です。プレイヤーの観点から見ると、広告自体がプログラムの一部となっています。

リクエストベースの広告ブロッカーが何を検知できないのか

拡張機能ベースの広告ブロッカーは、ネットワーク層で動作します。つまり、既知の広告ドメインへのリクエストを検出し、それらをブロックまたは書き換えます。このモデルは、広告がコンテンツとは別々のドメインから別々のリクエストとして届くものと仮定しています。一方、SSAIはこの仮定を完全に廃止します。

ステッチ広告では、広告を含むセグメントが、番組と同じコンテンツ配信ネットワーク(CDN)から、しばしば同じドメイン内で、同じマニフェスト内に配置されます。このため、リクエストをブロックすると、動画自体もブロックされてしまいます。それでも強制的にブロックを試みる広告ブロッカーでは、再生が破損するか、ライブ配信ではユーザーが報告するような凍結されたプレースホルダー画像が表示されます。これは一時的な欠陥ではなく、構造的な限界です。ネットワークリクエストをフィルタリングする方式のツールでは、ステッチ広告とその周囲の本編コンテンツを区別することができません。

クライアントサイド挿入:広告ブロッカーが対処可能なモデル

対照的に、クライアントサイド広告挿入では、ビデオプレーヤーが再生中に広告SDKを呼び出し、SDKが広告ドメインからクリエイティブファイルを取得し、プレーヤーがそのスロットに広告を再生します。これらのリクエストは可視で、個別であり、ブロッキング可能です。AdOffが行うのは、Web全体で使用されているビデオ広告SDKを無効化すること——つまり、SDKを無効にすると、プレーヤーは直ちにコンテンツへと戻ります。

これが、アドブロッカーがウェブの大部分(クライアントサイドで広告呼び出しを行う動画プレイヤーを埋め込んだ多くのサイトを含む)で依然として機能する理由であり、同時に、同じブロッカーがサーバーサイドで広告を統合するライブストリーミングプラットフォームやサブスクリプションサービスでは機能しない理由です。

ステッチされた広告を削除するには何が必要か

ステッチ広告を削除するには、ネットワークではなくストリームを理解する必要があります。具体的には、不連続マーカーやセグメント境界パターンを検出し、マニフェストを書き換えて広告セグメントを除外し、プロバイダーがレイアウトを変更しないことを願う必要があります。この手法は本質的に脆弱であり、プロバイダー側でのいかなる変更もワークアラウンドを破綻させ、ライブストリームでは書き換えられたプレーヤーが遅延したり、劣化した代替表示を表示したりする可能性があります。

もう一つの信頼できる方法は、技術的な対策ではなく、単にプロバイダーがサブスクリプションプランに広告が含まれているため、広告を挿入しているという事実に基づいています。つまり、広告を含まないプランを選べば、本来から広告は挿入されません。それ以外のすべては、視聴体験を大きく損なうことが多い、いわゆる「軍拡競争」に過ぎません。

AdOffの位置づけ

AdOffは、ネットワーク広告を静的フィルタリングルールでブロックし、ページ内の広告要素を非表示にし、クライアントサイドの動画広告SDKを、コンテンツを直ちに再開するスタブで置き換えることで無効化する無料のブラウザ拡張機能です(Chrome、Firefox、Safari、Edge、Opera対応)。この拡張機能は、アプリのウェブプレイヤーにおけるクライアントサイド広告にのみ機能し、サーバーサイドでステッチされたストリームから広告を削除することを意図していません。また、サブスクリプション動画プレイヤーを壊さないよう、意図的にそれらには干渉しません。

その正直さこそが、このページの目的です:サイトがどのモデルを使用しているかを知ることで、拡張機能をインストールする前に、それが役立つかどうかを判断できます。

よくある質問

SSAIとCSAIの違いとは何ですか?

クライアントサイド広告挿入(CSAI)では、プレイヤーが再生時に広告を個別にリクエストするため、これらのリクエストは広告ブロッカーに検出されます。一方、サーバーサイド広告挿入(SSAI)では、配信前にサーバー上で広告を動画ストリームに統合されるため、ブロック可能な個別の広告リクエストは存在しません。

どのブラウザ拡張機能でもSSAI広告をブロックできますか?

ネットワークリクエストをフィルタリングする拡張機能では、ストリームを破壊することなく、統合された広告を削除することはできません。広告とコンテンツは同じマニフェストおよび同じセグメント内で一緒に流れているためです。これを行おうとするツールは、通常、フレームの凍結、画質の低下、再生エラーを引き起こします。

ライブ配信では、通常の広告ではなくSSAIを使用する理由は何ですか?

ライブストリーミングでは、すべての視聴者に対して広告ブレイクを同期した状態に保ち、再生を途切れさせずに続ける必要があります。これはサーバーサイドでの統合によって保証されます。また、スマートテレビなど拡張機能が存在しないデバイスにおいても、同じように動作します。

SSAIとは、スキップできない広告と同じ意味ですか?

正確にはそうではありません。スキップは、ストリームのメタデータによって制御されるプレイヤー側の判断です。SSAIでは広告がストリームの一部となるため、視聴者やブラウザ拡張機能のいずれも、広告をスキップまたは削除するための制御ポイントを持ちません。

AdOffはSSAIを使用しているサイトで動作しますか?

これらの特定のストリームについては、いいえ——また、AdOffはそのように主張していません。ただし、同じサイトの動画以外の広告や、その他のブラウジング(ディスプレイ広告、トラッキング、クライアントサイド動画広告SDK)については、AdOffは通常通り広告をブロックおよび非表示にします。

関連記事: ストリーミング広告ブロッキング:有効な方法と不可能なこと, クライアント側の動画広告SDKがどのように無効化されるか, Twitch広告:ライブ配信で拡張機能が機能しない理由.

ブロック可能な広告をブロックする

AdOffは、ステッチド広告を削除できません——誠実な手段では何もできません。しかし、日常的なブラウジング中に表示されるディスプレイ広告、トラッキング、およびクライアント側の動画広告については、AdOffが無料で対応し、アカウント登録も不要です。

AdOffをインストール——無料です