Я бы делал так: на сервере Б все видео проанализировал ffmpeg'ом, выбрал всю нужную информацию, сохранил в БД (или еще куда), и сделал бы интерфейс (XML?), который бы отдавал по запросу эту инфу. Каждый новый видео файл (загруженный в систему) нужно анализировать и добавлять данные в БД.
Вот скрипт для анализа видео файла: mplayer \ -benchmark \ -ao null \ -vo null \ -identify \ -frames 0 \ -quiet \ "$1" Для меня обычно важно: /ID_VIDEO_WIDTH = (\d+) .*? ID_VIDEO_HEIGHT = (\d+) .*? ID_LENGTH = (\d+(?:\.\d+)?) .*? ID_VIDEO_CODEC = (\w+) .*? ID_AUDIO_CODEC = (\w+)/sx :) 15 декабря 2008 г. 19:24 пользователь Andrew Shitov <[email protected]>написал: > Вот такая задача. > > Есть сервер A, на котором лежат видеофайлы в разных форматах (flv, > mov, mpg, avi). На этом сервере нет и не будет ffmpeg, но можно > устанавливать в свой home модули и выполнять Perl (PHP, что угодно). > > Есть сервер Б, на котором требуется знать метрику файлов с сервера А, > а именно, размер кадра и длину видео. На этом сервере есть ffmpeg, и > можно ставить что угодно. > > Как бы вы поступили, чтобы получить на сервере Б данные о файлах с A? > > У меня два варианта: > * Передавать по сети начало файла (1-2 килобайта) и пытаться скормить > его в ffmpeg (вроде работает, но как-то дико). > * Попытаться установить модули типа FLV::Info, но они работают, > во-первых, намного медленнее, а во-вторых, работают не все > (MPEG::Info, например, не запустился). > > -- > Andrew Shitov > ______________________________________________________________________ > [email protected] | http://shitov.ru > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- С уважением, Анатолий Шарифулин.
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
