4

Web ページ上のビデオの埋め込みコードを検出して抽出する必要があるプロジェクトに取り組んでいます。

タグが動画の埋め込みに使用されることは知って<object>いますが、仕様では画像など他のものにも使用できると書かれています。

<object>では、タグにビデオが含まれていることを決定論的に知るにはどうすればよいでしょうか? またはこれを見つける他の方法はありますか?

4

1 に答える 1

1

歴史的に、この<object>タグは、ビデオやオーディオなどのメディアを HTML ドキュメントに埋め込む方法として使用することを目的としていました。しかし、Web ビデオが進化するにつれて、ビデオ コントロールを Web アプリに統合しないと、合理的なユーザー エクスペリエンスを提供できないことが判明しました。また、HTML にビデオを埋め込むための事実上の標準は、Flash Player を埋め込むことでした (<embed>またはを使用<object>) 。その Flash プレゼンテーション内からビデオにアクセスします。(HTML5 では、<video>その目的のためのオブジェクトがありますが、処理する必要がある HTML ファイルをそのように制御することはできないと思います)。

したがって、通常、<object>ビデオの再生に使用される要素が参照されている場合、参照されているオブジェクトは実際には SWF ( Flash プレゼンテーション) であり、ビデオ ファイルにリンクする独自のコードを実行します。ただし、Flash プレゼンテーションには、ビデオやその他のものが含まれる場合と含まれない場合があります。したがって、s でビデオを検出する場合<object>、オプションは次のとおりです。

  1. 実際にビデオ プレーヤーであるすべての SWF ファイル/URL のリストを用意します。この方法は最も簡単ですが、多くの偽陰性が発生することに注意してください。
  2. サンドボックス ブラウザーで解析している HTML をプログラムで評価し、画面キャプチャからビデオを検出します。これはおそらく多大な労力ですが、問題を完全に解決します。
  3. タグによって参照される SWF ファイルをダウンロードして逆コンパイルしobject、埋め込みビデオが含まれているかどうかを判断するヒューリスティックを実装します。SWF は基本的にプログラムであるため、ヒューリスティックと言っています。プログラムがビデオを再生するかどうかを決定論的に把握できる場合は、プログラムが停止するかどうかを判断することもできます。
于 2012-07-27T14:50:50.657 に答える