Я пишу приложение, которое обрабатывает метаданные для изображений и всех видов анимации, поэтому я ищу способ найти основную информацию о файле анимации, например:
- длина (в минутах / секундах / кадрах)
- соотношение сторон пикселей
- разрешение отдельных кадров
- 1010 * фреймрейт *
Прямо сейчас я позволю своей программе исполниться
mplayer -identify animfile.avi
и проанализируйте его вывод консоли, который содержит всю необходимую мне информацию в машиночитаемом формате. Это прекрасно работает, но я знаю, что некоторые потенциальные пользователи программы предпочитают vlc в качестве медиаплеера, поэтому я бы предпочел избежать жесткой зависимости от установленного mplayer.
Я пробовал
vlc -vv animfile.avi
, который печатает нечестивое количество мусора на консоли, иногда содержащее то, что я ищу. Форматирование и то, какие данные печатаются, кажется, зависит от формата файла анимации.
Есть ли более простой способ извлечь основную информацию из анимации любого формата, для которой имеется декодер (особенно длина анимации), с использованием vlc или других приложений / библиотек, которые обычно доступны в типичной установке Linux?
Редактировать: Я бы предпочел использовать другую программу для грязной работы, поскольку она должна работать для любого формата анимации, например, AVI, MPG, MOV, WMV, VOB и т. Д.
Редактировать: totem-video-indexer кажется более перспективным, и также был включен в стандартную установку. Достаточно кодеков, чтобы сделать его полезным, однако, не было. Это можно исправить установкой пакета «non-free-codecs» из medibuntu.