[Moscow.pm] Detect video metrics

Анатолий Шарифулин sharifulin на gmail.com
Пн Дек 15 11:41:47 PST 2008


Я бы делал так: на сервере Б все видео проанализировал 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 <andy на shitov.ru>написал:

> Вот такая задача.
>
> Есть сервер A, на котором лежат видеофайлы в разных форматах (flv,
> mov, mpg, avi). На этом сервере нет и не будет ffmpeg, но можно
> устанавливать в свой home модули и выполнять Perl (PHP, что угодно).
>
> Есть сервер Б, на котором требуется знать метрику файлов с сервера А,
> а именно, размер кадра и длину видео. На этом сервере есть ffmpeg, и
> можно ставить что угодно.
>
> Как бы вы поступили, чтобы получить на сервере Б данные о файлах с A?
>
> У меня два варианта:
> * Передавать по сети начало файла (1-2 килобайта) и пытаться скормить
> его в ffmpeg (вроде работает, но как-то дико).
> * Попытаться установить модули типа FLV::Info, но они работают,
> во-первых, намного медленнее, а во-вторых, работают не все
> (MPEG::Info, например, не запустился).
>
> --
> Andrew Shitov
> ______________________________________________________________________
> andy на shitov.ru | http://shitov.ru
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
С уважением,
Анатолий Шарифулин.
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20081215/c9f7db9f/attachment.html>


Подробная информация о списке рассылки Moscow-pm