Или
Avinfo
http://shounen.ru/soft/avinfo/desc_ru.shtml
Информация, извлекаемая из *.avi:
* Количество аудио/видео потоков, разрешение/фпс/битрейт/кодек/длительность для каждого видео-, частоту/каналы/кодек/битрейт/длительность для каждого аудио- потока.
* Содержимое LIST-INFO (некое подобие тегов) - автор/название/копирайты/etc.
Информация, извлекаемая из *.mpg (MPEG 1/2):
* Разрешение, aspect ratio (соотношение сторон), fps, битрейт видео, параметры звука (частота/кол-во каналов/битрейт), приблизительную длительность (оценивается по первым 64к файла, сделано для ускорения процесса сканирования).
* Тип (MPEG 1, MPEG 2).
* Количество аудио/видео потоков.
Информация, извлекаемая из файлов субтитров (*.srt, *.smi, *.sub, *,ssa, *.s2k, *.js):
* Английский/не-английский язык (сделано для быстрого отсеивания русских субтитров к аниме)
* Бинарность/не бинарность файлов (для отлова *.sub у рипов с DVD)
Информация, извлекаемая из OGM
* Количество и типы потоков
* Разрешение, fps, битрейт, тип кодека для видео
* Частота, кодек, битрейт язык для аудио
* Поддерживаются встроенные субтитры
Поддерживаемые режимы вывода:
* default - несколько строк с информацией. Используется, если не указано никаких других режимов.
* description - режим создания описаний в descript.ion
* short - короткий режим для descript.ion
* list - режим генерации списка файлов (plain-text). Предназначен для создания отчёта с фиксированным размером строки (по умолчанию - 78 символов на строку).
* html-list - как следует из названия, создаёт список в html.
Дополнительные опции:
* -l - задаёт файл списка файлов для сканирования. Если вместо имени использовать дефис, список будет читаться с stdin, что даёт возможность организовывать такие забавные конструкции: dir /s /b |avinfo -l- --html-list >report.html
* -i=NUM - задержка после сканирования каждого файла. Обычно операционные системы позволяют установить прироритет приложения при использовании процессора. AVInfo же большую часть времени проводит в файловых операциях чтения. Так что этот ключ используется для "кооперативной многозадачности" с другими приложениями. После -i задаётся время в милисекундах. Например: avinfo -i300 -l=filelist --list. Лучше использовать при вызове из шедулера.
* -f:ext - принудительно пытаться разобрать файл тем модулем, который ассоциирован с расширением ext (например, avinfo -f:mpg test.avi
* -m:size - размер строки для режимов с фиксированным размером строки. Например, avinfo -m120 file.avi --list
Прочие фичи:
* Разумеется, avinfo собирается практически под любую платформу (тестировалось - dos4gw, win32, linux, freeBSD), требует для своей сборки только что BISON'а и GCC.
* Написан на чистом ANSI C (за исключением бизоновской части)
* Идёт под лицензией GNU GPL
* Маленький. (меньше 60к)