Исторически, тег <object>
предназначался для использования в качестве способа встраивания мультимедиа, такого как видео и аудио, в документ HTML.Но по мере развития веб-видео оказалось, что вы не можете обеспечить разумный пользовательский опыт без интеграции элементов управления видео в свое веб-приложение, и стандартом де-факто для встраивания видео в HTML было внедрение флеш-плеера (с использованием <embed>
или <object>
) и для доступа к видео из этой флэш-презентации.(В HTML5 у вас есть объект <video>
для этой цели, но я полагаю, что у вас нет такого контроля над файлами HTML, которые нужно обработать).
Обычно, когда вы видите <object>
элемент, используемый для воспроизведения видео, на который ссылается объект, на самом деле - SWF - флэш-презентация - который запускает собственный код, который ссылается на видеофайл.Но флэш-презентация может содержать или не содержать видео, а также многое другое.Поэтому, если вы хотите обнаружить видео за <object>
с, вы можете выбрать
- Список всех SWF-файлов / URL-адресов, которые на самом деле являются видеопроигрывателями.Этот метод самый простой, но имейте в виду, что у вас будет много ложных негативов .
- Программно оцените HTML, который вы анализируете в изолированном браузере, и определите видео на снимке экрана.Это, вероятно, огромные усилия, но они отлично решат вашу проблему.
- Загрузите и декомпилируйте SWF-файлы, на которые ссылаются теги
object
, и реализуйте эвристику, чтобы определить, содержат ли они встроенное видео.Я говорю эвристический , потому что SWF - это в основном программа, и если вы можете найти детерминистический метод, чтобы узнать, воспроизводит ли программа видео, вы также можете попытаться выяснить, является ли программа остановки .