Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Процент уникальности FLV. (http://www.flasher.ru/forum/showthread.php?t=177188)

avilov 26.03.2012 12:50

Процент уникальности FLV.
 
Здравствуйте, как организовать проверку FLV на уникальность по моей базе.

У меня на сайте много роликов FLV при добавлении нового ролика нужно как то проверять есть такой ролик в моей базе или нет, md5(file.flv) не подходит так как бывают ролики одинаковые но с разными рекламными вставками, у кого есть какие соображения ?

В идеал как то получать процент уникальности файла.

mooncar 26.03.2012 12:53

Можно попробовать использовать метаданные.

Genzo 26.03.2012 13:09

Берете первые 30 кадров : преобразовываете их в 256 цветов и размер 320х240, берете хэш от каждого кадра и пробегете по базе, при заливке обратный процесс.

avilov 26.03.2012 13:31

Цитата:

Сообщение от Genzo (Сообщение 1071172)
преобразовываете их в 256 цветов и размер 320х240

Объясните для чего это делать ?

kackbip 26.03.2012 14:05

Метаданные файла могут меняться почти неограниченно, а с учетом еще и того, что сам ролик может быть пережат/обрезан с двух сторон/изменен немного - никак не сделать.

Zebestov 26.03.2012 14:36

Есть одна нанотехнология... кнопка "уже было!", доступная, скажем, зарегистрированным пользователям :D

Genzo 26.03.2012 15:04

Цитата:

Сообщение от avilov (Сообщение 1071185)
Объясните для чего это делать ?

Чтобы хоть как-то унифицировать их, ибо может же быть загружен любой flv, соответственно в таком случае он (алгоритм), в идеале, должен понять что один и тот же ролик даже в разных разрешениях или с разными кодеками, одинаков, как сравнить 2 картинки : вы же не будете брать просто хэш всей картинки, ибо если я сохраню jpg с качеством 9 и с качеством 4, хэш будет разный, поэтому приводим их обе к 320х240 256 и сравниваем, если они идентичные хэш будет одинаковый, даже если 1 картинка это черный квадрат 1х1, а другая черный квадрат 1024х768

avilov 26.03.2012 15:06

Цитата:

Сообщение от Genzo (Сообщение 1071210)
Чтобы хоть как-то унифицировать их, ибо может же быть загружен любой flv, соответственно в таком случае он (алгоритм), в идеале, должен понять что один и тот же ролик даже в разных разрешениях или с разными кодеками, одинаков, как сравнить 2 картинки : вы же не будете брать просто хэш всей картинки, ибо если я сохраню jpg с качеством 9 и с качеством 4, хэш будет разный, поэтому приводим их обе к 320х240 256 и сравниваем, если они идентичные хэш будет одинаковый, даже если 1 картинка это черный квадрат 1х1, а другая черный квадрат 1024х768

А каким софтом это можно сделать ?

Genzo 26.03.2012 15:15

Самому писать, я просто прикинул алгоритм работы.

Zebestov 26.03.2012 15:34

1. после заливки любого видео сохранять гистограммы трех кадров где-то посередине
2. во время заливки нового видео брать гистограммы каждых трех кадров из широкого диапазона (ну допустим от 33 до 66 процентов длительности) и проверять со всем сохраненными ранее видео.

При разного рода оптимизации хранения таких данных можно добиться неплохой скорости. Также можно сделать такую задачу отложенной (до времени минимальной загрузки сервера).
Гистограмма — как пример данных о кадре, которые помогут определить сходство двух одинаковых по содержанию кадров:

1. разного размера
2. разной степени сжатия и такого прочего
3. даже определенные искажения можно учесть (гамма, яркость/контраст)

И все же я настаиваю на полной несостоятельности этой идеи против кнопки "уже было!" :quiet:


Часовой пояс GMT +4, время: 04:27.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.