За последние 24 часа нас посетили 38513 программистов и 8133 робота. Сейчас ищут 1680 программистов ...

Как сравнить два видео?

Тема в разделе "PHP для новичков", создана пользователем AnteFil, 26 фев 2023.

  1. AnteFil

    AnteFil Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    531
    Симпатии:
    4
    Есть видео и надо понять повторяется оно или нет. Найти в общем дубль.
    Погуглил тему нашёл такое решение. Беру стоп кадр например на 5 секунде любого видео сохраняю как картинку затем в md5 сверяю хеш по базе уже имеющихся. Проблема в том что по какой то причине хеш всегда получается разный беру одно и тоже видео но хеши разные.

    Вопрос как быть как сравнивать видео?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    Сравнить полностью хеши видео... Не поможет при любом изменении видео
     
  3. Survivor

    Survivor Новичок

    С нами с:
    8 фев 2023
    Сообщения:
    93
    Симпатии:
    19
    А если так? не с 5-й секунды конечно
    Код (Text):
    1. diff -q file1 file2
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.543
    Симпатии:
    623
    Хэш будет меняться при каждой рекомпрессии. Это вообще не вариант. Это всё равно, что брать хэш от всего файла целиком функцией md5_file().
    Я бы делал что-то типа уменьшения размера кадра до 64x36 потом применял фильтр типа монохром, и от этого уже брал бы хэш. Почему так? В высоком разрешении кадр состоит из сотен тысяч или миллионов пикселей. В разных файлах одного и того же видео могут отличаться тысячи пикселей, незначительно, +-пара шагов яркости или оттенка. Но при уменьшении и сведении паллитры до жесткого чб, различия нивелируются. Для надёжности можно брать 100 кадров, и если хоть один хэш совпал, значит видео одно и то же.
     
    don.bidon нравится это.
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.223
    Адрес:
    там-сям
    Сравнивая два скриншота вы делаете вывод о совпадении одного кадра, а не видео в целом. ИМХО, чтобы вывод о совпадении был похож на то как его сделал бы человек, надо анализировать видео целиком. То есть да, взять весь видеоряд, как-то его упростить и потом вычислить коэффициент подобия. Что-то вроде системы поиска плагиата в тексте.
    --- Добавлено ---
    Человек делает вывод что это тот же самый фильм даже если файлы в разном разрешении, пожаты разным алгоритмом. И его не сбивает с толку если один из видосов содердит рекламу в начале и от этого весь тайминг сцен сдвинулся ))) Поэтому одного скриншота в одно и то же время недостаточно.
     
    [vs] и don.bidon нравится это.