mplayer -identify
сделает свое дело. Простой вызов ffmpeg
для файла также сработает - он автоматически напечатает в начале набор информации о входном файле независимо от того, что вы говорите ffmpeg на самом деле.
Конечно, если вы хотите сделать это из своей программы без вызова exec внешней программы, вы можете просто включить библиотеки avcodec и напрямую запустить собственную процедуру идентификации.
Хотя вы можете реализовать собственное обнаружение, оно, безусловно, будет уступать существующим процедурам, учитывая огромное количество форматов, которые поддерживает libav *. И это был бы довольно глупый случай изобретать колесо.
Команда Linux "file" также может помочь, но объем выводимых данных зависит от формата видео. Например, в AVI он предоставляет все виды данных о разрешении, FOURCC, fps и т. Д., В то время как для файла MKV он просто говорит «данные Matroska», ничего не сообщая о внутренних компонентах или даже используемых видео и аудио форматах. 1009 *