Содержание материала
Поиск видео
Текст
Само собой разумеется, можно искать видео по названию, по ключевым словам, жанрам, актёрам и прочим текстовым характеристикам. Это умеют, наверное, все поисковые системы.
Изображения
На данный момент, начало 2020 года есть возможность поиска по картинкам. Я имею в виду, что для поиска необходимо загрузить изображение и получим в ответ набор похожих изображений с ссылками. Вот список основных игроков :
- MicroSoft (bing.com)
- Yandex ()
- Google (google.com)
MicroSoft и Yandex лучше других осуществляют поиск по картинкам. Но результат, к сожалению, не всегда положительный. Если известные фильмы проиндексированы довольно неплохо и есть высокая вероятность по сделанному скриншоту найти описание фильма, то с менее популярными фильмами ситуация заметно хуже.
Стоит отметить, что если в кадре есть лицо известного человека крупным планом, то его почти наверняка идентифицируют и покажут кучу похожих изображений именно этого человека.
Как найти ролик по картинке через поисковые системы
Так же, как и в предыдущем способе, необходимо подготовить несколько скриншотов или кадров. Если предпочитаете ПС Яндекс, необходимо:
- С главной страницы поисковика перейти в раздел «Картинки».
- Нажать на иконку с изображением фотоаппарата.
- Указать в качестве критерия поиска сделанный скриншот через кнопку «Выбрать файл».
- Ознакомиться с результатами поиска.
Поисковая система выдаст не только изображения, похожие на скриншот, но и видео, содержащие данный кадр. Поиск по ПС Google осуществляется аналогичным образом.

Можно вставлять разные кадры отрывка для получения точного результата
Поиск по изображениям
Плюсы
- Относительно небольшой размер данных.
- Есть возможность разбития всех данных на группы и осуществлять поиск по группам, что существенно ускоряет поиск.
- Не требует постоянного хранения больших массивов данных в ОЗУ в отличии от предыдущего метода.
- Низкая вероятность ошибки.
Минусы
- Вследствие того, что после перекодирования видео может несколько отличаться от оригинала, да и JPEG-кодирование (при поиске по изображению) меняет оригинал и группа может быть определена неверно. Это требует либо расширения диапазона группы (приводит к уменьшению скорости поиска) либо к дополнительным поисковым запросам (тоже замедляет поиск).
Технология «Video Color»
Основная идея
Будем рассматривать видео как последовательность изображений. Для каждого изображения найдём среднее значение красного, зелёного и синего цвета. Получим три графика в зависимости от времени. Построим и сохраним эти графики для каждого видео, которое мы хотим проиндексировать. Получая видео фрагмент для идентификации построим эти графики и для него. Сравним полученные графики с уже имеющимися. Разумеется, сравнивать придётся по всей длине каждого исходного фильма. Если разница между графиками в конкретной точке меньше определённого значения, то считаем, что задача решена.
Стоит заметить, что это упрощённая схема. Есть несколько моментов, которые в рабочей схеме отличаются от описанного здесь. Но, в общем, идея именно такая.
Плюсы
Относительно небольшой размер индексов. Один час видео в проиндексированном виде занимает около 1 МБ. Таким образом, 1000 фильмов, каждый продолжительностью около 2 часов, в проиндексированном виде займут около 2 ГБ.
Достаточно точный поиск. Даже если видео пережали несколько раз, если оно визуально выглядит удовлетворительным, то фрагмент скорее всего будет найден.
Для абсолютного большинства поисковых запросов для правильной идентификации достаточно коротких фрагментов 5-10 секунд.
Качество поиска слабо зависит от разрешения видео (в определённых пределах).
- Поиск идёт исключительно по видео. Аудио из процесса полностью исключено. Плюс в том, что несколько версий одного и того же фильма с разными звуковыми дорожками в результате поиска приведут к одному и тому же фильму. Это исключает ненужное дублирование и, как следствие, экономит ресурсы.
Минусы
Поиск необходимо вести от начала и до конца. Т.е. при поступлении запроса необходимо сравнить его со всеми образцами в базе данных. Это накладывает определённые ограничения не только на тип памяти для хранения информации, но и для размеров этой самой памяти. Для того чтобы получить ответ за несколько секунд необходимо, чтобы индексы находились в оперативной памяти. Чем больше база, тем больше места в ОЗУ выделено для хранения информации и тем дольше будет длиться поиск. Например, для 2-х канального доступа и при использовании памяти DDR3 частотой 1600 МГц для поиска по базе размером 12 ГБ понадобится минимум около 0,5 секунды. Для базы размером 48 ГБ необходимо будет уже порядка 2-х секунд минимум.
- Для очень темных или очень светлых мест в видео (обычно это эффекты перехода между сценами) на коротких исходных фрагментах поиск будет работать плохо. Будут многочисленные совпадения. Что, в общем то, вполне понятно, но неприятно.
- Также будут проблемы идентификации с начальными заставками компаний производителей видео или с сериалами. Что, в общем то тоже, вполне понятно. Это не проблема алгоритма — это дубликаты данных.
- Качество поиска может сильно зависеть от обрезки видео по краям.
Как искать на форумах
Пусть человеческий фактор уступает технике по скорость обработки информации, но по качеству в разы превосходит. Зайдите на тематические форумы и онлайн-сервисы и, зарегистрировавшись, оставьте свой вопрос. Наиболее популярными ресурсами является «Ответы » или «Яндекс.Знатоки».