MediaInfo показывает технические параметры видео, аудио и других медиаданных: определяет контейнер и кодеки, разбирает отдельные потоки, выводит разрешение, частоту кадров, битрейт, глубину цвета, параметры звука, языки дорожек, субтитры, главы, временные коды и служебные теги, а затем позволяет сохранить отчёт в удобном текстовом или структурированном формате для проверки файлов и диагностики проблем совместимости.
Программа полезна там, где одного расширения файла недостаточно. Два ролика с окончанием MP4 могут содержать разные видеокодеки, профили, уровни, режимы частоты кадров, цветовые характеристики и наборы аудиодорожек. MediaInfo отделяет сведения о контейнере от свойств каждого потока и тем самым помогает понять, что именно находится внутри файла, не полагаясь на имя или предположения по расширению.
Интерфейс рассчитан и на быстрый ответ, и на подробную техническую расшифровку. Для короткой проверки подходит Basic, для нескольких файлов — Sheet, для глубокой диагностики — Tree или Text. При необходимости отчёт можно экспортировать, а повторяемые проверки автоматизировать через командную строку с выбором отдельных полей или структурированным выводом.
Скачать MediaInfo
- Конвертация видео
- Сжатие файлов
- Просто для новичков
- Не редактирует метаданные
- Нет встроенного плеера
- Сложный полный отчёт
Что именно показывает MediaInfo
Основная единица анализа — медиаресурс и его потоки. В верхнем блоке General программа описывает файл или контейнер целиком: имя, формат, профиль, размер, длительность, суммарный битрейт, дату кодирования, программу и библиотеку записи, а также количество найденных видео-, аудио-, текстовых и других потоков. Ниже идут отдельные секции Video, Audio, Text, Image, Menu или Other — набор зависит от содержимого конкретного файла.
Такое разделение принципиально важно. Поле Format в General обычно относится к оболочке — например, MPEG-4, Matroska, MXF, AVI или MPEG-TS. Поле Format в секции Video уже описывает сжатие изображения: AVC, HEVC, MPEG Video, MPEG-4 Visual, AV1, ProRes, FFV1 и другие распознаваемые варианты. Поэтому фраза видео в MP4 говорит только о контейнере; для совместимости с устройством или редактором обычно нужен ещё видеокодек, профиль, уровень и дополнительные свойства.
Для аудио действует тот же принцип. Контейнер может быть MOV или MKV, а внутри находиться AAC, AC-3, E-AC-3, DTS, FLAC, PCM или несколько дорожек разных типов. MediaInfo перечисляет каждую дорожку отдельно, указывает частоту дискретизации, число каналов, битрейт, глубину, язык и, когда это возможно, раскладку каналов. Это позволяет отличить, например, стереодорожку 2.0 от многоканального звука и увидеть, действительно ли экспорт сохранил нужную аудиоконфигурацию.
Отдельный класс данных — служебные поля. В разных контейнерах это могут быть идентификаторы потоков, задержки, временные коды, параметры сканирования, информация о библиотеке записи, название кодека в терминах контейнера, матрица цвета, первичные цвета, передаточная характеристика, сведения о mastering display, языковые теги, главы и дополнительные метаданные. Не каждый формат хранит весь этот набор, поэтому отсутствие строки ещё не означает ошибку программы.
Короткий и полный вывод
MediaInfo умеет показывать как отобранный набор наиболее полезных полей, так и расширенный перечень. Для повседневной проверки удобнее читать только значения, которые влияют на монтаж, воспроизведение или доставку: формат, длительность, разрешение, частоту кадров, режим CFR/VFR, битрейт, профиль кодека, параметры цвета и звук. Полный вывод нужен, когда требуется сравнить два файла, разобраться в нестандартной упаковке потока или передать технический отчёт специалисту.
Важно не путать подробность с достоверностью исходника. MediaInfo извлекает то, что может распознать в структуре файла и потока. Если контейнер содержит ошибочный тег, программа может честно показать именно этот тег. В некоторых форматах часть характеристик выводится из заголовков элементарного потока, в других — из контейнера; при конфликте могут появляться поля Original, Stored/Displayed, Source или другие уточнения. Такие расхождения надо интерпретировать, а не автоматически считать одно из значений правильным.
Как открыть файл и быстро получить ответ
Самый прямой сценарий — открыть один файл и посмотреть Basic или Tree. В графическом интерфейсе файл выбирают через меню File, перетаскивают в окно либо, при включённой интеграции с проводником, вызывают MediaInfo из контекстного меню. После открытия анализ запускается автоматически: пользователь не задаёт кодек вручную и не строит профиль проверки.
В Windows интеграция с оболочкой удобна, если MediaInfo используется как диагностический инструмент рядом с монтажной программой, конвертером или медиаплеером. Щелчок правой кнопкой по проблемному ролику позволяет перейти к свойствам без предварительного запуска программы. Если пункт контекстного меню не нужен, его можно отключить в Preferences; там же настраивается поведение оболочки и формат вывода по умолчанию.
Для нескольких файлов стоит заранее определить цель. Если нужно быстро сравнить контейнер, кодеки и основные параметры у набора клипов, лучше открыть их вместе и переключиться на Sheet. Если каждый файл требует глубокого анализа, удобнее последовательно смотреть Tree или использовать CLI и сохранять отчёты. Открытие целой папки полезно для инвентаризации, но большой каталог может дать настолько широкую таблицу, что фильтрация в табличном редакторе или скрипте окажется практичнее.
Сетевые пути и съёмные носители анализируются по тому же принципу, но скорость зависит уже не только от MediaInfo. Некоторые форматы требуют чтения данных не только из начала файла, а медленный диск, NAS или удалённый ресурс увеличивает задержку. Если задача — проверить сотни крупных файлов, имеет смысл сначала определить минимальный набор нужных полей и перейти к пакетной командной строке.
Режим Basic: быстрые сведения без перегрузки
Basic группирует самое заметное по контейнеру и первым потокам. В типичном видеофайле сверху видны формат, размер, длительность, суммарный битрейт и число потоков; ниже — краткие строки по видео, аудио и субтитрам. Такой режим отвечает на вопросы что за кодек, какое разрешение, сколько дорожек и какая длительность, не заставляя просматривать десятки технических полей.
Basic удобен перед загрузкой файла на сайт, отправкой заказчику или импортом в редактор. Если платформа требует H.264, 1920×1080 и AAC, базового режима часто достаточно, чтобы заметить грубое несоответствие. Но для проверки уровня AVC, глубины, полного цветового описания, переменной частоты кадров или конкретной раскладки каналов стоит перейти в Tree или Text.
Ещё одно ограничение краткого представления — оно показывает приоритетные значения, а не обязательно все дорожки с одинаковой детализацией. В файле с несколькими аудиопотоками, комментариями, субтитрами и вложениями технически значимая строка может не попасть в компактный блок. Поэтому Basic хорош как фильтр первого уровня, но не как единственный источник для сложной диагностики.
Режим Sheet: сравнение нескольких файлов
Sheet представляет выбранные файлы в виде строк и столбцов. Это полезно, когда нужно быстро найти клип с отличающимся форматом, разрешением или аудиокодеком. В отличие от Tree, где внимание направлено на один файл, Sheet переносит акцент на сопоставление набора.
Набор колонок можно настраивать. Практический шаблон для видеоматериалов включает имя, контейнер, видеокодек, профиль, ширину, высоту, частоту кадров, режим частоты кадров, битрейт, аудиоформат, число каналов и длительность. Для архивной инвентаризации полезно добавить размер, дату кодирования и writing application. Для вещательных файлов — временной код, scan type, scan order и параметры цвета.
При большом количестве дорожек таблица имеет естественное ограничение: один файл нельзя удобно развернуть в десятки строк без усложнения структуры. Если задача состоит в сравнении всех языковых дорожек и субтитров, структурированный JSON или XML обычно удобнее. Sheet лучше всего работает, когда критерий контроля заранее известен и его можно выразить несколькими колонками.
Настройка колонок Sheet
В Preferences раздел Customize → Sheet используется для выбора отображаемых полей. Смысл настройки — убрать всё, что не участвует в решении. Если контролируется только соответствие техническому заданию на публикацию, не нужно выводить десятки полей контейнера. Чем уже таблица, тем быстрее обнаруживается выброс: один файл с 25 fps среди 29.970 fps или одна дорожка AC-3 вместо AAC.
При сохранении табличных данных следует учитывать единицы измерения. Человеко-читаемое значение вроде 5.1 Mb/s удобно глазами, но плохо сортируется как число. Для автоматической обработки предпочтительны raw-поля или структурированный вывод, где значение можно трактовать однозначно. Эта разница особенно заметна в битрейте, длительности и размере.
Режим Tree: полная иерархия параметров
Tree — основной режим для технической диагностики. Он раскрывает General и каждый поток отдельной веткой, сохраняя контекст: видно, к какому именно Video, Audio или Text относится конкретное поле. Это существенно в файлах с несколькими дорожками, где одинаковое название параметра встречается несколько раз.
В Tree удобно изучать идентификаторы потока, профиль формата, Codec ID, настройки кодека, длительность именно потока, задержку, битрейт, размеры кадра, соотношение сторон, частоту кадров, цвет, глубину и сканирование. Для аудио здесь же находятся частота дискретизации, битовая глубина, channel layout и языковой тег. Для субтитров — формат, Codec ID, язык и способ упаковки.
Иерархия помогает не сделать типичную ошибку: взять суммарный Overall bit rate из General и считать его видеобитрейтом. Первый включает вклад контейнера и всех потоков, второй относится только к Video. Аналогично Duration в General и Duration конкретного потока могут слегка различаться из-за временных шкал, задержек, округления или особенностей упаковки.
Tree особенно полезен при анализе файлов камер, рекордеров, Blu-ray/TS, MXF и других контейнеров с большим количеством служебной информации. В таких случаях краткий режим скрывает то, ради чего MediaInfo и запускают: способ wrapping, временные коды, дополнительные идентификаторы и источники метаданных.
Режим Text: отчёт, который удобно копировать
Text выводит группы данных линейно, в форме поле : значение. Его удобно вставлять в тикет, форум, переписку с технической поддержкой или сохранять в файл. В отличие от скриншота текстовый отчёт можно искать, сравнивать и обрабатывать инструментами командной строки.
Перед публикацией отчёта стоит проверить поле Complete name: оно может содержать полный путь, а путь иногда раскрывает имя пользователя, структуру проекта или название клиента. Для внешней переписки безопаснее удалить лишнюю часть пути или использовать способ экспорта, который выводит только требуемые поля. То же относится к тегам Title, Performer, Comment и другим метаданным.
Text удобен и для сравнения двух экспортов до и после перекодирования. Разница в Codec ID, Format profile, Frame rate mode, Bit depth, Color primaries, Transfer characteristics или Channel layout часто показывает, что изменилось в процессе. Но сравнивать отчёты нужно по смыслу: порядок полей и набор скрытых параметров может отличаться в разных конфигурациях.
HTML, XML, JSON и другие структурированные представления
Помимо человеческого текста MediaInfo предоставляет форматы, предназначенные для передачи и автоматической обработки. XML сохраняет иерархию треков и полей, JSON удобен для скриптов и веб-пайплайнов, HTML подходит для отчёта, который можно открыть в браузере. В профессиональных сценариях встречаются также PBCore, EBUCore, MPEG-7, FIMS и NISO Z39.87 — их наличие в конкретном интерфейсе и диалоге экспорта зависит от сборки и платформы.
Структурированный вывод особенно важен, когда данные поступают в систему контроля качества, каталог, DAM/MAM или собственный скрипт. Разбор обычного текста регулярными выражениями чувствителен к переводу интерфейса и форматированию чисел. JSON или XML дают устойчивые имена полей и разделение по потокам.
Для автоматизации рекомендуется использовать необработанные идентификаторы полей, а не русские подписи. В CLI для этого предусмотрен режим Language=raw. Он уменьшает риск, что скрипт перестанет работать после смены языка интерфейса или локали. Человеческий отчёт можно оставить локализованным, а машинный — формировать с фиксированными именами.
Специализированные схемы не следует воспринимать как полный снимок всех внутренних полей. Любой стандарт описывает свою модель данных, и не каждое специфическое свойство контейнера имеет прямое место в такой модели. Если нужна максимальная полнота, сохраняйте обычный XML/JSON MediaInfo параллельно с отраслевым представлением.
Настройки Preferences
В Windows основные параметры доступны через Options → Preferences. Здесь выбирают язык, формат вывода по умолчанию, поведение интеграции с проводником и настройки пользовательских представлений. Если MediaInfo каждый раз открывается в Basic, а нужен Tree, достаточно изменить Output format — это экономит время при постоянной технической работе.
Параметры оболочки включают контекстное меню и подсказки в проводнике. Они полезны, если программа часто вызывается для единичного файла. В рабочей станции с большим количеством специализированных расширений контекстное меню, наоборот, может быть перегружено; тогда интеграцию разумно отключить и пользоваться перетаскиванием или файловым диалогом.
Настройки Customize относятся к Sheet, Tree & Text, Custom и Language. Их назначение — определить, какие поля и в каком виде важны конкретному пользователю. Для монтажёра ключевые параметры одни, для архива — другие, для инженера вещания — третьи. MediaInfo не навязывает одну таблицу всем задачам.
Пользовательские представления полезны, но их переносимость между графическими реализациями не следует считать гарантированной. Если рабочий процесс строится на сложном Custom-шаблоне, прежде чем переносить его на другую систему, надо проверить наличие соответствующего механизма именно в том интерфейсе, который будет использоваться.
Export: сохранение и передача результатов
Команда File → Export открывает отдельный диалог, где выбирается формат отчёта и файл назначения. Для обычной поддержки достаточно Text, для импорта в таблицу — CSV или Sheet, для интеграции — XML/JSON, для отраслевого обмена — один из специализированных форматов, если он доступен.
Advanced mode нужен, когда экспорт должен повторять более подробное представление и не ограничиваться коротким набором. При сохранении нескольких файлов надо заранее решить, нужен один общий отчёт или отдельные документы. Для регулярных операций удобнее CLI: имя выходного файла можно формировать по шаблону, а результат направлять в лог без ручного диалога.
Опция добавления к существующему файлу требует аккуратности. Если записи имеют разные наборы полей, объединённый текст сложно анализировать. Для CSV важно, чтобы заголовки и порядок колонок оставались одинаковыми. Если отчёты потом сравниваются автоматически, предпочтительнее создавать отдельный структурированный файл на каждый источник или единый JSON/XML с явным разделением объектов.
Экспорт не изменяет исходное медиа. MediaInfo — инструмент чтения и представления метаданных, а не редактор тегов и не конвертер. Если после анализа нужно исправить тег, пересобрать контейнер или перекодировать поток, потребуется отдельная программа.
Раздел General: контейнер и общие свойства файла
General отвечает за верхний уровень. Format обозначает контейнер или тип файла, Format profile уточняет вариант, Complete name — путь, File size — размер, Duration — общую длительность, Overall bit rate — суммарную скорость данных. Здесь же могут присутствовать Encoded date, Tagged date, Writing application, Writing library, Title и другие теги.
Format и Codec ID нельзя трактовать как одно и то же. Контейнер задаёт способ упаковки потоков и метаданных, а Codec ID — идентификатор, которым контейнер помечает конкретный поток. Например, видеопоток AVC может иметь один идентификатор в MP4 и другой способ обозначения в Matroska, при том что сам стандарт сжатия изображения остаётся H.264/AVC.
Writing application и Writing library помогают понять происхождение контейнера. Они могут указывать на программу, мультиплексор или библиотеку, которая записала файл. Это полезно при сравнении проблемных файлов: если все сбойные экземпляры созданы одной цепочкой, поле даёт направление для поиска. Но его нельзя считать криптографическим доказательством происхождения — метаданные могут быть изменены.
Overall bit rate полезен для оценки общего потока данных, но в контейнерах с переменным битрейтом он часто представляет среднее значение. Если требуется оценить кратковременные пики для сети или декодера, одной строки недостаточно. MediaInfo не заменяет покадровый или пакетный анализ скорости; для таких задач нужны специализированные средства.
Длительность и размер
Duration в General обычно отвечает на вопрос, сколько длится ресурс целиком. В нормальном файле это близко к длительности основных потоков, однако идеального совпадения ждать не нужно. Аудио может начинаться с задержкой, субтитры — заканчиваться раньше, а разные временные шкалы контейнера округляют значения по-разному.
File size — фактический размер ресурса, тогда как Stream size описывает оценку или размер конкретного потока. Сумма Stream size не обязана в точности равняться размеру файла: остаются заголовки, индексы, служебные таблицы, padding, вложения и прочая структура контейнера. Поэтому небольшая разница сама по себе не признак повреждения.
Видео: кодек, профиль и уровень
Секция Video начинается с Format, Format/Info, Format profile и Codec ID. Для AVC или HEVC профиль и уровень важны не меньше самого названия кодека. Два файла H.264 могут требовать разной производительности декодера и иметь разную совместимость с аппаратными устройствами, если различаются профиль, уровень, разрешение, частота кадров и битовая глубина.
Format profile обычно объединяет профиль и уровень в понятной строке. При проверке требований платформы сравнивайте не только название, но и значения, которые явно перечислены в техническом задании. Если сервис требует конкретный профиль, MediaInfo позволяет подтвердить, что кодер действительно записал его в поток.
Codec ID полезен при проблемах импорта. Редактор может поддерживать сам стандарт сжатия, но не ожидать конкретную упаковку или fourcc/brand в контейнере. Тогда сообщение кодек поддерживается формально верно, а файл всё равно не открывается. Сравнение Codec ID с рабочим файлом того же источника часто помогает сузить причину.
Строки Format settings показывают дополнительные особенности, когда анализатор умеет их извлечь: CABAC, reference frames, GOP и другие параметры. Они ценны при глубокой диагностике, но для обычной публикации не всегда нужны. Не следует делать вывод о качестве только по одному такому полю: качество зависит от кодера, битрейта, исходника, структуры GOP и множества других факторов.
Разрешение, пиксельное и экранное соотношение сторон
Width и Height показывают размеры кадра, но этого недостаточно для понимания геометрии. В видео встречаются неквадратные пиксели, clean aperture и служебные параметры отображения. Поэтому MediaInfo отдельно выводит Display aspect ratio и, когда доступно, дополнительные поля, связанные с оригинальным или чистым размером.
Если 720×576 отображается как 16:9, это не обязательно ошибка. Такое видео может использовать неквадратные пиксели: физическая матрица кадра одна, а отображаемое соотношение сторон другое. При переносе в монтажную программу ориентироваться нужно на связку размеров и display aspect ratio, а не просто делить Width на Height.
Для современных файлов 1920×1080 или 3840×2160 с квадратным пикселем численное отношение размеров обычно совпадает с DAR. Но камеры, DVD, архивные SD-форматы и некоторые вещательные стандарты дают больше вариантов. Если изображение в одном плеере растянуто, сравните MediaInfo рабочего и проблемного файла, особенно поля aspect ratio и container/stream flags.
Частота кадров: Frame rate и режим CFR/VFR
Frame rate показывает номинальную или вычисленную частоту, а Frame rate mode — характер временной сетки: постоянная CFR или переменная VFR. Для телефонов, захвата экрана и потоковых источников VFR встречается часто. Монтажные системы обычно умеют работать с ним, но в сложных проектах переменная частота может провоцировать рассинхронизацию, нестабильный поиск по кадрам или несовпадение ожидаемой длительности.
Если MediaInfo сообщает VFR, полезно посмотреть минимальную и максимальную частоту, когда такие поля присутствуют. Большой диапазон означает, что интервалы между кадрами заметно меняются. Это не говорит, что файл плохой, но объясняет, почему простое умножение количества кадров на одно фиксированное значение не даёт точной временной шкалы.
Значения 23.976 и 29.970 обычно являются округлённым отображением дробных частот 24000/1001 и 30000/1001. MediaInfo нередко показывает рядом точное отношение. При настройке проекта лучше выбирать соответствующую дробную частоту, если редактор её предлагает, а не округлять до 24 или 30.
Расхождение между Container frame rate и реальным потоком следует рассматривать в контексте. Некоторые контейнеры содержат собственные временные параметры, а элементарный поток — свои. Если программа выводит несколько строк или помечает оригинальное значение, это сигнал проверить, как файл трактует конкретный редактор или декодер.
Чересстрочная развёртка и порядок полей
Scan type показывает Progressive или Interlaced, а Scan order — порядок полей для чересстрочного материала. Для старых камер, вещательных мастеров и некоторых файлов ProRes это критично: неверная интерпретация TFF/BFF создаёт дрожание движения и гребёнку после масштабирования или деинтерлейса.
Особый случай — когда порядок хранения и отображения различается. Контейнер QuickTime может сообщать, что поля должны отображаться в порядке, отличном от физического порядка в потоке. В таком случае MediaInfo способен вывести уточнение о stored/displayed inversion. Это объясняет ситуации, когда один инструмент считает файл TFF, а другой показывает BFF.
Если после импорта движение выглядит неправильно, сначала сравните Scan type и Scan order с исходным техническим заданием. Затем проверьте настройки проекта и интерпретацию клипа в монтажной системе. MediaInfo фиксирует то, что записано или выводится из структуры; он не выполняет деинтерлейс и не исправляет порядок полей.
Битрейт: что означает число и почему значения различаются
В General находится Overall bit rate, в Video — Bit rate видеопотока, в Audio — свой битрейт каждой дорожки. Сравнивать эти значения напрямую нельзя. Суммарная скорость включает все потоки и служебные данные контейнера; видеобитрейт относится только к изображению.
Bit rate mode показывает CBR или VBR, если тип удаётся определить. VBR означает изменение скорости по времени, поэтому показанная цифра обычно является средним значением. В некоторых форматах присутствуют Nominal, Maximum или Encoded значения. Они описывают разные аспекты потока, и выбор одного главного числа зависит от задачи.
MediaInfo может вычислять битрейт из размера и длительности, считывать его из заголовков или комбинировать доступные сведения. Поэтому цифра может отличаться от настройки кодера, особенно если кодер показывал целевой битрейт до фактического кодирования. Для проверки результата важнее значение в готовом файле, но для пикового анализа требуется отдельный инструмент.
Поле Bits/(Pixel*Frame), когда оно отображается, нормализует битрейт относительно размера кадра и частоты. Его можно использовать как грубый ориентир при сравнении похожих кодеков и контента, но не как универсальный показатель качества. HEVC, AVC, MPEG-2 и разные пресеты одного кодера дают неодинаковое качество при одинаковом таком коэффициенте.
Глубина цвета, цветовое пространство и субдискретизация
Color space обычно показывает семейство представления цвета, например YUV. Chroma subsampling описывает долю цветовой информации — 4:2:0, 4:2:2, 4:4:4 и другие варианты. Bit depth указывает глубину компонента, например 8, 10 или 12 бит. Эти поля важны при подготовке мастер-файлов, HDR, цветокоррекции и проверке промежуточных кодеков.
Файл с 10-bit не автоматически имеет HDR, и HDR не определяется одной глубиной. Нужно смотреть совокупность: primaries, transfer characteristics, matrix coefficients и HDR-related metadata. Аналогично 4:2:2 не гарантирует больший визуальный запас, если исходник уже был 4:2:0 и затем просто пересохранён.
При сравнении исходника и экспорта полезно проверить, не исчезли ли цветовые теги. Если мастер описан как BT.2020/PQ, а итоговый файл потерял эти поля, плеер или телевизор может выбрать неверную интерпретацию. MediaInfo помогает увидеть наличие метаданных, но не оценивает визуальную корректность преобразования.
Иногда источники метаданных конфликтуют: контейнер хранит одно, видеопоток — другое. Наборы полей MediaInfo могут указывать происхождение цветовой информации или показывать оригинальное значение. Такой конфликт лучше считать поводом для технической проверки, а не механически переписывать один тег поверх другого.
HDR и мастеринг-метаданные
Для HDR-файлов MediaInfo может показывать HDR format, совместимость, mastering display color primaries, mastering display luminance, MaxCLL, MaxFALL и другие данные, если они присутствуют и распознаются. В HEVC, AV1, MXF и контейнерах встречаются разные способы передачи статических и динамических метаданных.
Практический сценарий — проверить, что после ремультиплексирования или экспорта сохранилась заявленная HDR-сигнализация. Сначала сравнивают Video → Format profile и Bit depth, затем цветовые поля и HDR format. Если итоговый файл должен быть SDR, наличие HDR-тегов, наоборот, может быть ошибкой.
Не следует делать вывод о реальной пиковой яркости изображения только из метаданных. MaxCLL и mastering display описывают заявленные характеристики и служебные значения, а не заменяют измерение сигнала. MediaInfo не строит waveform и не измеряет фактические пиксели кадра.
Dolby Vision и другие сложные HDR-системы имеют профили, уровни и дополнительные слои. MediaInfo полезен для идентификации того, что записано, но финальная совместимость зависит от контейнера, профиля, базового слоя, телевизора, приложения и пути вывода. Для проблемного файла стоит сравнивать отчёт с заведомо рабочим экземпляром того же назначения.
Аудиодорожки: формат, каналы и частота дискретизации
Каждая Audio-секция соответствует отдельному звуковому потоку. В ней обычно находятся Format, Codec ID, Duration, Bit rate, Channels, Channel layout, Sampling rate, Bit depth и Language. В многодорожечном MKV или MXF таких секций может быть много, поэтому номер дорожки и язык нужно читать вместе.
Channel count и Channel layout отвечают на разные вопросы. 6 channels говорит только о количестве каналов, а layout описывает их назначение — фронтальные, центральный, LFE, тыловые и другие позиции. Для передачи 5.1 важнее убедиться, что ожидаемая раскладка распознана, а не просто увидеть число 6.
Sampling rate влияет на рабочую совместимость и должен соответствовать требованиям. Для видео часто используется 48 kHz; музыкальные файлы нередко 44.1 kHz. Если редактор неожиданно пересэмплирует звук, MediaInfo позволяет проверить исходную частоту. Bit depth значима прежде всего для PCM и некоторых lossless-форматов; у сжатых форматов её интерпретация может отличаться.
Bit rate у многоканального AC-3, E-AC-3, DTS или AAC нельзя сравнивать с PCM как прямой показатель качества. У несжатого PCM скорость определяется частотой, глубиной и количеством каналов; у перцептуального кодека — алгоритмом и настройками. MediaInfo показывает параметры, но не выставляет оценку звучанию.
Языки, названия и дорожка по умолчанию
Language берётся из метаданных контейнера, если язык задан. Отсутствие тега не означает, что дорожка без языка в содержательном смысле — просто контейнер не сообщил его. При выпуске многоязычного файла проверяйте, что каждая дорожка подписана правильно, иначе плеер может показывать неинформативные названия.
Default/Forced-флаги зависят от контейнера и типа потока. Если они выводятся, их стоит проверять вместе с порядком дорожек. Некоторые проигрыватели используют собственную логику выбора, поэтому правильный тег не гарантирует одинаковое поведение во всех программах, но неправильный тег почти всегда усложняет навигацию.
Субтитры и текстовые потоки
MediaInfo распознаёт множество текстовых и caption-форматов: SRT, SSA/ASS, SAMI, DVB Subtitle, Teletext, CEA-608/708 и другие. В Text-секции обычно показываются Format, Codec ID, Language, Muxing mode, длительность и служебные идентификаторы.
Muxing mode особенно важен для вещательных и транспортных контейнеров. Субтитры могут быть отдельным текстовым потоком, находиться в ancillary data или передаваться внутри видеосигнала. Внешне два файла могут иметь субтитры, но путь доставки будет разным и совместимость тоже.
Если плеер не показывает субтитры, первый вопрос — присутствует ли Text-поток и каким форматом он обозначен. Затем надо проверить язык и способ упаковки. MediaInfo не визуализирует сами титры как плеер и не гарантирует, что каждая строка корректна; он помогает установить структуру.
При конвертации стоит сравнить количество текстовых потоков до и после. Потеря дорожки часто незаметна, если проверять только картинку и звук. Аналогично смена формата с PGS/DVB на текстовый SRT или наоборот может быть осознанной частью процесса и должна отражаться в отчёте.
Главы, меню и Other-потоки
Главы могут отображаться как Menu с количеством и временными метками. Для длинных записей, дисковых структур и Matroska это позволяет убедиться, что навигация сохранилась после ремультиплексирования. Если главы отсутствуют в MediaInfo, стоит проверить, были ли они вообще записаны в исходный контейнер.
Other используется для данных, которые не относятся напрямую к видео, аудио или тексту. Типичный пример — time code. В MXF и профессиональных контейнерах могут встречаться несколько временных кодов с разными источниками. Их нельзя сводить к одной строке без понимания назначения.
Menu и Other особенно полезны в производственных цепочках, но часто лишние для бытового MP4. Это иллюстрирует общий подход к MediaInfo: не нужно пытаться интерпретировать каждое поле каждого файла. Сначала формулируется вопрос, затем выбираются параметры, которые на него отвечают.
Временной код, задержки и синхронизация
MediaInfo умеет показывать time code of first frame и source, когда формат предоставляет такую информацию. В профессиональном видео это помогает проверить старт программы, соответствие монтажному листу и сохранение временной привязки при транскодировании.
Delay показывает временное смещение потока относительно базовой шкалы, если его можно определить. При рассинхронизации аудио и видео полезно сравнить задержки обоих потоков и стартовые метки. Однако отсутствие Delay не доказывает идеальную синхронизацию: проблема может быть внутри временных штампов по ходу файла.
Drop-frame обозначается форматом временного кода и связан с нумерацией кадров для частот 29.97/59.94. Это не удаление кадров из видео. MediaInfo может показывать соответствующие разделители или настройки, но интерпретация должна учитывать стандарт времени и параметры проекта.
Если длительность дорожек отличается на несколько миллисекунд, это часто нормально. Существенная разница — секунды или минуты — требует проверки: возможно, поток начинается позже, содержит меньше пакетов, повреждён или был обрезан отдельно. MediaInfo даёт отправную точку, а для детального расследования временной шкалы понадобится пакетный анализатор или ffprobe с выводом timestamps.
Программа и библиотека записи
Writing application и Writing library нередко указывают, чем сформирован контейнер: монтажной программой, мультиплексором, FFmpeg/libavformat, mkvmerge или иной библиотекой. Эти строки удобны для кластеризации проблем. Если десять файлов открываются, а одиннадцатый создан другой библиотекой, различие заслуживает внимания.
Но такие теги не являются защищёнными. Их можно изменить, удалить или подделать. По ним нельзя доказать авторство, подлинность камеры или отсутствие монтажа. Для криминалистических выводов нужен более широкий контекст: файловая система, подписи, контрольные суммы, цепочка хранения и специализированный анализ.
Encoded date и Tagged date также являются метаданными и могут отражать время кодирования, маркировки или значение, заданное приложением. Часовой пояс и стандарты контейнера влияют на отображение. Поэтому эти даты полезны для сопоставления, но опасны как единственное доказательство времени съёмки.
Форматы контейнеров и потоков
MediaInfo ориентирован на широкий спектр медиа: MPEG-4/QuickTime, Matroska, AVI, MPEG-PS, MPEG-TS, MXF, GXF, LXF, Windows Media, FLV, Real и другие контейнеры; H.264/AVC, H.265/HEVC, MPEG Video, MPEG-4 Visual, FFV1 и другие видеоформаты; MP3, AAC, AC-3, DTS, PCM, FLAC и другие аудиоформаты. Поддержка конкретного поля зависит от того, есть ли оно в стандарте и реализован ли его разбор.
Поддержка формата не означает декодирование для воспроизведения. MediaInfo может распознать поток, который установленный плеер не умеет воспроизводить. И наоборот, плеер способен открыть файл через системный декодер, даже если MediaInfo не показывает какой-то частный служебный тег. Эти инструменты решают разные задачи.
Некоторые контейнеры содержат sidecar или составную структуру. В профессиональных форматах один логический ресурс может включать несколько файлов. Если открыть только один компонент, отчёт может описывать его, а не весь пакет. Перед выводом о составе IMF, DCP или сложного MXF-проекта надо понимать структуру исходного набора.
Защищённые DVD/Blu-ray и зашифрованный контент — отдельный случай. Анализ открытой структуры и анализ защищённого носителя — не одно и то же. MediaInfo не следует рассматривать как средство обхода защиты; доступность данных зависит от того, может ли программа прочитать сам ресурс.
Custom: собственное представление
Custom предназначен для вывода заранее выбранных полей в заданной форме. Он полезен, когда организации нужен один стандартный отчёт: например, имя файла, контейнер, видеоформат, профиль, разрешение, частота, цвет, аудиокодек, каналы и язык. Пользователь видит только то, что участвует в приёмке.
При построении собственного набора сначала лучше выписать критерии приёмки, а уже потом искать соответствующие им поля MediaInfo. Иначе шаблон быстро разрастается до сотен строк, большинство которых никто не использует. Хороший отчёт должен позволять принять решение, а не просто демонстрировать максимум доступных данных.
Для устойчивой автоматизации графический Custom уступает CLI-шаблонам и JSON/XML. GUI удобнее человеку, но скрипт должен работать без ручного открытия окон. Поэтому повторяемый Custom в производстве часто имеет смысл реализовать через --Inform или последующую фильтрацию структурированного отчёта.
Командная строка MediaInfo
CLI решает те же задачи без графического окна: принимает один или несколько путей, печатает отчёт, выбирает формат и позволяет извлекать отдельные параметры. Это основной способ пакетной проверки, интеграции в скрипты и CI-процессы.
mediainfo "video.mkv"
mediainfo --Full "video.mkv"
mediainfo --Output=XML "video.mkv"
mediainfo --Output=JSON "video.mkv"
mediainfo --Language=raw "video.mkv"
Команда без опций даёт стандартный текст. --Full выводит расширенный набор полей. --Output выбирает формат представления; XML и JSON подходят для парсинга. --Language=raw переключает подписи на стабильные внутренние идентификаторы, что особенно важно в скрипте.
Для одиночного параметра используется --Inform. Шаблон задаёт тип потока и поле в процентах. Например, DisplayAspectRatio из Video можно вывести без всего остального отчёта.
mediainfo --Inform="Video;%DisplayAspectRatio%" "video.mkv"
mediainfo --Inform="Video;%Width%x%Height% %FrameRate% fps" "video.mkv"
mediainfo --Inform="Audio;%Format% %Channels% ch %SamplingRate% Hz" "video.mkv"
Если в файле несколько дорожек одного типа, шаблон применяется к соответствующим потокам согласно правилам MediaInfo. Для сложной логики удобнее получить JSON и выбрать нужный track по типу, номеру или другим полям уже в скрипте.
Список доступных параметров
Опция --Info-Parameters выводит перечень полей, которые можно использовать в шаблонах. Это предпочтительнее угадывания имён по переведённой подписи GUI. Внутренние имена вроде FrameRate_Mode, BitDepth, ChromaSubsampling или Encoded_Date стабильнее для автоматизации.
mediainfo --Info-Parameters
mediainfo --Language=raw --Full "source.mov"
В документации полей также встречаются уточняющие варианты: Original, String, Nominal, Maximum и другие. Поле без суффикса часто предназначено для машинного значения, а String — для человеко-читаемого форматирования с единицами. При сравнении чисел лучше брать машинное значение и самостоятельно форматировать результат.
Запись отчёта в файл
CLI позволяет перенаправить стандартный вывод средствами оболочки или использовать LogFile. Выбор зависит от платформы и сценария. Для массовой обработки удобно создавать рядом с медиа одноимённый JSON или складывать отчёты в отдельный каталог.
mediainfo --Output=JSON "clip.mp4" > "clip.mediainfo.json"
mediainfo --Language=raw --Full "clip.mp4" > "clip.mediainfo.txt"
При именовании отчётов следует избегать коллизий одинаковых имён из разных папок. Надёжнее добавлять относительный путь, уникальный идентификатор проекта или хеш, если он уже рассчитывается другим этапом. Сам MediaInfo предназначен для метаданных; контрольные суммы лучше получать специализированной утилитой.
Пакетная проверка папки
Для десятков и сотен файлов цель обычно не посмотреть всё, а отфильтровать исключения. Например, все материалы должны быть 1920×1080, CFR 25 fps, AVC High, AAC 48 kHz. Тогда скрипт запрашивает только эти параметры и отмечает строки, не совпадающие с профилем.
В простом сценарии можно передать CLI несколько имён файлов и получить последовательные отчёты. Для каталогов удобнее обойти файлы средствами shell, PowerShell или Python. Не стоит полагаться на расширение как на истинный формат: одна из сильных сторон MediaInfo как раз в чтении внутренней структуры.
При большом объёме структурированный вывод удобнее CSV, если число потоков непостоянно. В CSV приходится заранее решать, куда поместить вторую и третью аудиодорожки. JSON естественно хранит массив треков и не теряет структуру.
Если система контроля должна принимать решение автоматически, важно описать допуски. Частота 29.970 — не ошибка относительно 30000/1001, а длительность аудио может отличаться на несколько миллисекунд. Профиль проверки должен сравнивать семантику, а не строки посимвольно.
Практический сценарий: проверка файла перед монтажом
Перед созданием проекта откройте типичный исходный клип и проверьте контейнер, кодек, разрешение, Frame rate и Frame rate mode, Bit depth, Color primaries, Transfer characteristics, Audio sampling rate и Channels. Эти значения определяют основные настройки таймлайна и потенциальные точки несовместимости.
Если исходники сняты разными устройствами, сравните их в Sheet. Особое внимание — смешению 23.976/24, 25/50, 29.970/59.940, CFR/VFR и SDR/HDR. Редактор может принять всё, но проект с разными временными базами и цветом требует осознанной интерпретации.
При сообщении не удаётся открыть файл не ограничивайтесь Format. Смотрите Codec ID, Format profile, Bit depth и Writing application. Сравнение с работающим клипом из того же редактора часто быстрее поиска по общему названию кодека.
MediaInfo не тестирует декодирование каждого кадра. Если заголовки читаются, а файл обрывается в середине, программа может всё равно показать правдоподобный набор параметров. Для подозрения на физическое повреждение дополнительно выполняют полное декодирование или специализированную проверку.
Практический сценарий: проверка результата рендера
После экспорта сравните ключевые поля с заданием, а не с настройками окна рендера. Кодер мог изменить профиль, частоту, цветовой тег или аудиоконфигурацию. Готовый файл — фактический результат, и именно его параметры видит платформа назначения.
Минимальный чек-лист: контейнер, Duration, Video Format/Profile/Level, Width/Height, FrameRate и Mode, Bit depth, Chroma subsampling, Color primaries/Transfer/Matrix, Audio Format/Sampling rate/Channels, Text streams. Для HDR добавьте HDR format и mastering metadata, если они требуются.
Если файл должен быть воспроизводим на старом устройстве, значение профиля и уровня может оказаться важнее среднего битрейта. Если файл идёт в интернет-публикацию, обратите внимание также на VFR и наличие неожиданной второй аудиодорожки или субтитров.
Сравнивайте не весь Full-отчёт, а заранее утверждённый набор. Полный diff часто показывает десятки технических отличий, которые не влияют на приёмку, и скрывает действительно важное изменение.
Практический сценарий: поиск причины рассинхронизации
При плавающем рассинхроне сначала проверьте FrameRate_Mode. VFR — частая причина проблем в старых монтажных цепочках. Затем сравните Duration видео и аудио, Delay, частоту дискретизации и стартовые временные поля. Если расхождение увеличивается к концу файла, проблема отличается от постоянного смещения на 200 мс.
Постоянная задержка часто связана со стартовым timestamp или контейнерным offset. Нарастающая — с неверной временной базой, повреждением или преобразованием частоты. MediaInfo помогает классифицировать симптом, но не показывает все timestamps каждого пакета; для продолжения расследования нужен ffprobe или транспортный анализатор.
Если аудио 44.1 kHz попало в видеопроект, это не автоматически ошибка, но некоторые цепочки выполняют ресэмплинг. Проверьте, что после рендера Sampling rate соответствует назначению и длительность дорожки не изменилась неожиданно.
Практический сценарий: HDR-файл выглядит как SDR
Откройте исходник и результат и сравните Bit depth, Color primaries, Transfer characteristics, Matrix coefficients, HDR format и mastering display. Если исходник имеет BT.2020/PQ, а итоговый файл показывает BT.709 или не содержит HDR-сигнализации, это объясняет неверную интерпретацию некоторыми устройствами.
Если теги совпадают, проблема может быть дальше в цепочке: приложение не активировало HDR-вывод, ОС не переключила режим, дисплей не распознал сигнал или сам контент преобразован неправильно. MediaInfo проверяет описание файла, но не состояние видеовывода и не пиксельную яркость.
В Dolby Vision нужно учитывать профиль и базовый слой. Наличие слова Dolby Vision не делает файл универсально совместимым. Сравнивайте структуру с требованиями конкретного плеера или платформы.
Практический сценарий: субтитры пропали после конвертации
Сначала посчитайте Text streams в исходнике и результате. Если поток исчез, конвертер его не перенёс. Если остался, сравните Format, Codec ID, Language и Muxing mode. Изменение PGS, DVB, ASS или Timed Text может быть причиной отсутствия поддержки на целевом устройстве.
Если субтитры встроены как closed captions внутри видеопотока или ancillary data, обычная логика скопировать текстовую дорожку к ним неприменима. MediaInfo помогает обнаружить этот способ упаковки. Для извлечения или преобразования понадобится средство, понимающее конкретный формат caption.
Проверка количества дорожек должна входить в автоматическую приёмку многоязычных материалов. Потеря одной дорожки может не проявиться при визуальном просмотре основной версии. В техническом отчёте достаточно сравнить число Text-потоков, языки и формат каждого из них.
Практический сценарий: аудио 5.1 стало стерео
Сравните Channels и Channel layout до и после. Если исходник содержит 6 каналов, а результат 2, произошло downmix. Если число осталось 6, но layout изменился, проверяйте маппинг каналов в кодере. В файлах доставки особенно важно не ограничиваться строкой 6 channels: порядок и назначение каналов определяют, правильно ли будет воспроизводиться программа.
Далее смотрят Format и Bit rate. Переход PCM → AAC или AC-3 может быть запланирован, но каналов должно остаться нужное количество. Отдельная проблема — несколько монотреков в MXF против одной 5.1 дорожки в файле доставки; одинаковое число каналов не означает одинаковую структуру потоков.
MediaInfo не воспроизводит каналы по очереди и не проверяет, действительно ли в центральном канале диалог. Для содержательной верификации нужен мониторинг аудио или анализ каналов в редакторе. Его задача здесь — подтвердить техническую упаковку.
Практический сценарий: проверить VFR у записи экрана или телефона
В Tree найдите Frame rate mode. Для VFR посмотрите Minimum и Maximum, если они доступны. Если монтажная система ведёт себя нестабильно, перекодирование в CFR с нужной частотой часто используется как промежуточный этап, но делать его следует отдельным кодером.
После такого преобразования снова запустите MediaInfo и проверьте, что Mode стал Constant, а Duration и звук сохранились. Не делайте вывод только по имени пресета конвертера: он мог оставить VFR или выбрать другую частоту.
Если исходная запись имеет редкие кадры в статичных участках, переход в CFR увеличит число кадров за счёт повторов или интерполяции по правилам кодера. MediaInfo подтвердит итоговую временную модель, но не оценивает качество созданных кадров.
Практический сценарий: сравнить два похожих файла
Лучший метод — сформировать одинаковый raw-отчёт для обоих. Сравнивайте General, затем соответствующие Video и Audio. Сначала ищите структурные различия: Format, Codec ID, профиль, число потоков. Затем временные: Duration, FrameRate, Delay. Потом цвет и звук.
Не начинайте с байтового размера. Два идентичных по параметрам кодирования файла могут различаться размером из-за сцены, метаданных или VBR. И наоборот, похожий размер не доказывает одинаковый кодек. Размер полезен только в связке с длительностью и способом сжатия.
Если отличие обнаружено только в Writing library, это направление, а не доказательство причины. Если одновременно отличаются Codec ID, profile и GOP, уже можно говорить о другой цепочке кодирования. Такой порядок анализа не даёт второстепенным полям отвлечь от структурной причины.
MediaInfo и диагностика ошибок совместимости
Программа особенно полезна, когда приложение сообщает слишком общее unsupported format. Расширение не отвечает, что внутри. MediaInfo позволяет разложить файл на контейнер, видеокодек, аудиокодек, профили и дополнительные особенности.
Для поиска причины выберите рабочий эталон того же назначения. Сравните по очереди Container, Video Format/Codec ID/Profile/Bit depth/Frame rate, Audio Format/Sampling rate/Channels. Такой дифф быстрее хаотичного изменения десятков настроек конвертера.
Если все ключевые поля совпадают, проблема может быть в повреждении, индексе контейнера, временных штампах или частной функции кодека, которую краткий вывод не показал. Переключитесь на Full и, при необходимости, на специализированный анализатор.
Важно понимать границу: MediaInfo не является валидатором всех стандартов. Он извлекает и отображает метаданные. Для формального контроля соответствия спецификации применяются средства вроде MediaConch или специализированные валидаторы. Для проверки фактической декодируемости полезно полное декодирование без сохранения результата.
Почему MediaInfo иногда показывает неожиданное значение
Первая причина — контейнер и поток содержат разные сведения. Видеофайл может иметь container-level frame rate и отдельные timestamps, цветовой тег в обоих уровнях, инверсию порядка полей или номинальный битрейт, не совпадающий с фактическим. Если программа выводит обе версии, это не обязательно ошибка: она показывает конфликтующие источники.
Вторая причина — значение вычислено. Средний битрейт часто получается из размера и длительности; частота может оцениваться по временным меткам. При повреждении или неполном файле вычисление искажено. Поэтому любой необычный вычисляемый показатель нужно проверять вместе с исходными полями.
Третья причина — формат допускает неоднозначность. Некоторые характеристики кодек хранит косвенно или вообще не хранит. Тогда отсутствие строки нормально. MediaInfo не должен угадывать то, чего нет в данных.
Четвёртая — файл создан нестандартным или ошибочным мультиплексором. Инструмент может честно показать противоречивые теги. Такие случаи полезно сравнивать с эталоном и проверять в нескольких анализаторах. Исправление обычно выполняется ремультиплексированием или повторным кодированием, но только после определения причины.
Если отчёт слишком длинный
Не пытайтесь читать Full сверху вниз. Сформулируйте вопрос. Для монтажа — время, кадр, цвет, звук. Для доставки — профиль, уровень, битрейт, дорожки. Для архива — контейнер, кодеки, даты, writing library и служебные поля. Для вещания — временной код, scan order, channel layout и captions.
В GUI переключитесь с Tree на Basic или настройте Sheet. В CLI используйте --Inform. Для команды из нескольких критериев лучше получить JSON и выбрать поля программно. Ограниченный отчёт также легче прикрепить к заявке в техподдержку.
Сохраняйте полный отчёт только как приложение к диагностике. Основной вывод должен состоять из нескольких параметров и объяснения, почему они важны. Иначе десятки нормальных строк скрывают действительно необычную.
Если данных слишком мало
Убедитесь, что открыт сам медиаресурс, а не ярлык, sidecar или часть пакета. Проверьте расширение и размер. Для составных профессиональных форматов может потребоваться открыть правильный компонент или набор, иначе анализ описывает только один файл внутри структуры.
Переключитесь в Tree или Full. Basic намеренно скрывает второстепенные поля. Если нужной строки нет и в полном отчёте, возможно, формат её не хранит или анализатор не извлекает.
Сравните с другим файлом того же устройства. Если поле появляется там, проблема может быть в повреждении или другом режиме записи. Если не появляется нигде, вероятно, камера не пишет такую метаинформацию.
Для глубокой проверки структуры используйте второй инструмент — ffprobe для потоков и timestamps, ExifTool для широких тегов или профильный анализатор контейнера. Совпадение результатов повышает уверенность, расхождение показывает область для исследования.
Контекстное меню не появилось
В Windows проверьте Preferences и включение Explorer extension. В Windows 11 пункт стороннего расширения может находиться в дополнительном меню классических команд. После изменения настройки иногда требуется перезапуск проводника или повторная регистрация компонента установщиком.
Если используется пакет без интеграции с проводником, контекстного пункта может не быть. В таком случае перетащите файл в окно или используйте File → Open. Для производственной станции часто надёжнее не зависеть от shell extension и запускать анализ через CLI.
Антивирусные политики и корпоративные ограничения также могут блокировать shell extensions. Это не мешает основной функции MediaInfo, пока файл можно открыть обычным способом.
Неправильный язык или неудобные подписи
GUI поддерживает локализацию, но технические термины в русском переводе могут отличаться от названий в спецификациях и документации кодека. Если нужно сопоставлять поля с API или скриптом, используйте английский интерфейс или raw-идентификаторы.
В CLI Language=raw особенно полезен для автоматизации. Скрипт, который ищет русскую строку Частота кадров, зависит от перевода; скрипт, который обращается к FrameRate, значительно устойчивее.
Не смешивайте форматированную строку и числовое поле. 48.0 kHz удобно человеку, но для проверки лучше получить числовую SamplingRate и сравнить с 48000. То же относится к Duration, BitRate и FileSize.
Проверка сетевых и очень больших файлов
Некоторые форматы позволяют извлечь основную информацию из заголовка быстро, другие требуют чтения дополнительных областей. На медленном сетевом ресурсе анализ может занимать заметное время. Это особенно чувствуется при каталогах с сотнями файлов и контейнерах, где важные таблицы находятся ближе к концу.
MediaInfoLib имеет концепцию скорости разбора, используемую в разных интерфейсах и интеграциях. Снижение глубины может ускорять анализ, но потенциально скрывать сведения, которые находятся дальше в файле. Если цель — поиск редких captions или точной длительности, чрезмерно агрессивное ускорение нежелательно.
Для массовой инвентаризации сначала соберите базовые поля, затем запускайте глубокий анализ только для исключений. Такой двухступенчатый процесс снижает нагрузку на хранилище и сохраняет полноту там, где она действительно нужна.
Если файл читается через HTTP, SFTP или другой удалённый транспорт в составе собственной интеграции с библиотекой, учитывайте возможность произвольного доступа к данным. Формат, который требует чтения конца ресурса, хуже подходит для последовательной передачи без seek.
MediaInfo как библиотека
MediaInfoLib позволяет встроить тот же анализатор в собственную программу. API открывает файл или буфер, возвращает заранее форматированный отчёт либо отдельное поле через Get. Типы потоков включают General, Video, Audio, Text и Chapters/Menu в зависимости от интерфейса.
Библиотека доступна как динамический компонент на распространённых системах и используется сторонними программами, поэтому интерфейс MediaInfo — не единственный способ встретить этот анализатор. Встроенное приложение может показывать только часть полей библиотеки или форматировать их по-своему.
Для разработчика важны методы получения списка параметров и сведений о поддерживаемых кодеках. Это позволяет строить интерфейс динамически, а не жёстко прописывать все возможные поля. Поскольку набор метаданных меняется с форматами, такой подход устойчивее.
API чтения буфера полезен, когда медиа поступает не обычным файлом. Но реализация поточного анализа требует понимания, какие части контейнера доступны и может ли библиотека запросить данные из конца ресурса. Простая передача первых килобайт не гарантирует полного отчёта.
Получение отдельных полей через API
Типовая схема состоит из Open, затем Get или Inform, после чего ресурс закрывается. Get принимает тип потока, его номер, имя параметра и вид информации. Например, приложению можно запросить Width только у первого Video или Format у каждого Audio, не формируя огромный текст.
MediaInfoList предназначен для нескольких ресурсов. Он полезен в каталогизаторах и очередях ingest, но программа, которая его использует, всё равно должна решить, как хранить неодинаковое число потоков. Схема одна строка — один файл быстро становится неудобной для MXF с множеством аудиотреков.
Метод Inform удобен, когда нужен готовый текст или HTML. Get предпочтительнее для бизнес-логики, потому что приложение получает конкретное значение и не разбирает оформление. Для интеграции с базой данных обычно выбирают отдельные поля или JSON/XML.
Что библиотека не делает
API MediaInfo предназначен прежде всего для чтения. Документация интерфейса отдельно предупреждает, что операции Set/Save не следует считать полноценным реализованным механизмом редактирования. Поэтому библиотеку не надо выбирать как основу тег-редактора только потому, что она умеет читать теги.
Если проект должен менять EXIF/XMP/ID3 или пересобирать контейнер, чаще выбирают ExifTool, FFmpeg/MKVToolNix или специализированные библиотеки. MediaInfo остаётся сильным независимым этапом проверки результата.
Сведения о контейнере: на что смотреть глубже
Format profile в General может сообщать конкретный operational pattern или вариант контейнера. Для MXF это существенно: одинаковое расширение .mxf охватывает разные способы организации материала. При несовместимости вещательной системы нужно смотреть не только MXF, но и профиль, wrapping и служебные идентификаторы.
Для MPEG-4/QuickTime важны brands, Codec ID и расположение метаданных. MediaInfo показывает доступные сведения в нормализованном виде, но не отображает полный дамп каждого atom. Если проблема упирается в структуру moov/mdat или неизвестный box, понадобится специализированный инспектор MP4.
В Matroska полезны Unique ID, Codec ID, языки, default/forced flags, attachments и главы. MediaInfo даёт удобную сводку, тогда как mkvinfo раскрывает EBML-элементы глубже. Для обычной диагностики первая форма читается быстрее, для расследования повреждённой структуры — вторая.
В MPEG-TS один логический сервис может включать несколько PID, таблицы программ и ancillary data. MediaInfo старается нормализовать потоки до привычных Video/Audio/Text, но для проблем PCR/PTS, continuity counter и PSI/SI потребуется транспортный анализатор.
Профили кодеков и коммерческие названия
Поле Commercial name, когда оно есть, переводит комбинацию стандарта и параметров в известное название. Например, вещательный профиль может быть узнаваем по торговому или производственному обозначению. Это удобно человеку, но автоматическую проверку лучше строить на формальных полях Format, profile, level и Codec ID.
Нельзя считать Commercial name гарантией происхождения. Совпадение параметров позволяет классифицировать поток, но не доказывает, что он создан конкретным устройством. Это особенно важно, когда маркетинговое название можно воспроизвести сторонним кодером.
Profile и Level отвечают на разные аспекты. Профиль определяет набор разрешённых инструментов кодека, уровень — ограничения на сложность, размер кадра, скорость обработки и другие лимиты. Платформа может принимать High Profile, но отвергать слишком высокий Level на старом оборудовании.
Для AVC дополнительные строки CABAC, reference frames и GOP помогают понять, почему два потока одного профиля ведут себя по-разному. Для HEVC и AV1 набор полей отличается. MediaInfo не унифицирует всё до нескольких общих параметров, потому что стандарты имеют разную структуру.
Разбор аудио глубже
Для PCM важны Format settings, endianness, wrapping, Sampling rate, Bit depth и Channels. В MXF PCM может быть упакован по каналам или группам, и одна строка PCM не описывает всю конфигурацию. При вещательной приёмке проверяют количество потоков, назначение каналов и битность.
Для AAC полезен профиль: LC, HE-AAC и другие варианты отличаются инструментами и целевыми битрейтами. Некоторые старые устройства поддерживают AAC LC, но не ожидают другие профили. MediaInfo показывает профиль, если его можно определить.
Для AC-3/E-AC-3 кроме каналов могут отображаться дополнительные параметры сервиса и dialnorm. Для DTS семейство также содержит несколько вариантов. Не стоит редуцировать аудиосовместимость к расширению или общему слову Dolby: конкретный формат и упаковка имеют значение.
В lossless-аудио FLAC, ALAC или PCM битрейт зависит от содержимого или вообще не является параметром качества в том же смысле, что в AAC. Для них важнее частота, глубина, каналы и факт потерь/без потерь. MediaInfo показывает Compression mode, когда это применимо.
Изображения и вложенные обложки
MediaInfo умеет распознавать некоторые графические форматы и дополнительные image tracks, включая обложки и thumbnails, если они представлены в поддерживаемой форме. Для изображения доступны размер, цветовые параметры и связанные метаданные. Однако это не превращает программу в специализированный фотоанализатор.
В аудиофайле обложка может быть вложенным изображением. В полном отчёте она иногда появляется отдельной секцией Image или как attachment-related data. Если задача — проверить только наличие cover art, это удобно; для детальных EXIF/XMP лучше использовать ExifTool.
HTML-вывод способен представлять часть таких данных визуально, но экспорт обложек как файлов — отдельная операция и не является основной функцией MediaInfo. Если нужно извлекать вложения из Matroska, применяют MKVToolNix; из аудиотегов — профильные средства.
Профессиональные метаданные MXF и вещательных файлов
В MXF MediaInfo может показывать operational pattern, essence wrapping, time codes, channel assignments, AS-11/DPP related data, acquisition metadata и другие поля, если они присутствуют. Из-за сложности стандарта один файл способен дать очень длинный Tree.
При проверке MXF сначала смотрят общую структуру: OP, видеопрофиль, аудиопотоки, длительность и time code. Затем — специфические требования конкретной организации. Не стоит сравнивать весь Full-отчёт с шаблоном: спецификация доставки обычно перечисляет ограниченный набор обязательных параметров.
Если контейнер и essence сообщают разные значения, MediaInfo может показать несоответствие. Это особенно важно для частоты кадров, профиля или цветовых свойств. Формальный verdict о соответствии стандарту всё равно лучше получать валидатором, потому что нормализованный отчёт не охватывает каждое структурное правило MXF.
Для caption data важен Muxing mode: CEA-608/708 может находиться в ancillary data, SEI, отдельном потоке или транспортной структуре. MediaInfo помогает найти присутствие, но анализ содержимого каждой caption-команды — более узкая задача.
Отчёты PBCore, EBUCore, MPEG-7 и FIMS
Специализированные форматы экспорта нужны не обычному пользователю, а архивам, вещательным организациям и системам обмена метаданными. Они переводят найденные технические свойства в схему, понятную внешней системе. Например, EBUCore и PBCore используют собственные модели для описания essence и связанных атрибутов.
Проблема любой трансляции метаданных — не все поля имеют однозначное место. Специфический идентификатор контейнера, редкий способ wrapping или внутренний флаг может потребовать generic technicalAttribute либо вообще не попасть в целевую схему. Поэтому отраслевой экспорт удобен для совместимости, но Full XML MediaInfo остаётся полезным как более близкий к анализатору источник.
MPEG-7 описывает мультимедийные данные в своей модели и не является более подробным XML по умолчанию. FIMS ориентирован на интеграцию медиа-сервисов. Пользователю стоит выбирать формат по требованиям принимающей системы, а не по количеству букв в названии.
Если диалог Export предлагает несколько версий одной схемы, версия должна совпадать с контрактом внешней системы. Нельзя считать более высокий номер автоматически лучшим: получатель может поддерживать только конкретную редакцию.
Структурированный JSON: практические правила
JSON удобен, потому что сохраняет массив треков. В каждом объекте находятся тип и поля конкретного потока. Скрипт может найти Video, проверить Width и FrameRate_Mode, затем пройти по Audio и убедиться, что существует русский 5.1 или английский stereo.
Не завязывайте логику на порядок ключей. JSON-объект семантически не требует фиксированной последовательности полей. Используйте имена. Порядок треков, напротив, может иметь смысл, но и здесь лучше учитывать StreamOrder или ID, если задача требует точной привязки.
Отсутствующий ключ и пустая строка — не всегда одно и то же. Проверяющий код должен различать поле не представлено и поле присутствует без значения, если формат вывода допускает оба случая. Для требований проще трактовать оба варианта как данных нет, но это решение надо записать явно.
Числовые поля иногда приходят строками. Перед арифметикой их нужно привести к числу с учётом единиц. Использование human-readable *String полей увеличивает риск: там могут быть пробелы, локализованные единицы и округление.
CSV и табличная обработка
CSV удобен, когда у всех файлов одинаковая простая структура и данные затем открываются в Excel, LibreOffice Calc или системе BI. Для каталога однотипных MP4 с одной видео- и одной аудиодорожкой это практичный выбор.
Сложность начинается с переменного числа потоков. Один MKV имеет одну аудиодорожку, другой — пять. В плоской таблице приходится либо добавлять Audio1, Audio2, Audio3, либо создавать несколько строк на файл. JSON/XML справляются с этим естественнее.
Ещё один риск — локаль. Десятичная запятая и разделитель CSV могут конфликтовать. Для переносимости машинные поля и явный delimiter предпочтительнее копирования Sheet из GUI. Если таблица предназначена человеку, проблему решает корректный импорт с выбором кодировки и разделителя.
Сравнение отчётов до и после преобразования
Сделайте два отчёта одинакового типа и языка. Для автоматического diff лучше raw Text или JSON. Исключите поля, которые гарантированно изменятся: Complete name, File size, Writing application, Encoded date. Сосредоточьтесь на параметрах, которые должны сохраниться.
При remux без перекодирования ожидается сохранение codec-level параметров, но Codec ID, container-level tags, duration rounding и stream order могут поменяться. При транскодировании, наоборот, меняются кодек, битрейт и, возможно, цвет/звук. Ожидания зависят от операции.
Если задача — не потерять субтитры, сравнивайте count и языки Text. Если не изменить цвет — primaries, transfer, matrix, bit depth и HDR. Если сохранить синхронизацию — Duration, Delay и timecode. Такой тематический diff даёт более полезный verdict, чем полное сравнение сотен полей.
Интерфейс на разных системах
Набор анализируемых данных определяется библиотекой, но внешний вид GUI может различаться. На одной системе Basic представлен крупными блоками, на другой — более компактной таблицей. Поэтому инструкция нажмите кнопку в левом нижнем углу менее надёжна, чем ориентация по режимам Basic, Sheet, Tree, Text и пунктам File, View, Options.
В Linux-пакетах MediaInfo встречается графический интерфейс с теми же основными секциями General, Video, Audio и Text. Смысл полей сохраняется: контейнер наверху, затем потоки. Различия оформления не меняют методику чтения отчёта.
Если пользователь переносит собственный Custom или особую настройку Shell extension между системами, нужно проверять доступность именно этой функции. Анализ файла и форматирование отчёта — разные уровни: первое переносится лучше, второе зависит от реализации GUI.
Сравнение MediaInfo с аналогами
| Программа | Лучше подходит для | Главное ограничение |
|---|---|---|
| MediaInfo | Быстрого чтения технических параметров видео, аудио, субтитров и контейнера в GUI, CLI и структурированных отчётах | Не редактирует файл и не проверяет каждый кадр |
| ffprobe | Скриптов, подробных потоков, пакетов, временных меток и тесной интеграции с FFmpeg | Командная строка сложнее для неподготовленного пользователя |
| ExifTool | Широкого набора EXIF, XMP, IPTC и служебных тегов в разных типах файлов | Менее нагляден именно как отчёт по аудио- и видеопотокам |
| MediaTab | Быстрой проверки свойств медиа из оболочки Windows на базе данных MediaInfo | Меньше самостоятельных режимов анализа и экспорта |
| mkvinfo (MKVToolNix) | Низкоуровневого исследования структуры Matroska и WebM | Практически не подходит как универсальный анализатор других контейнеров |
Практический выбор зависит от уровня задачи. Для ответа что внутри этого файла и передачи понятного отчёта MediaInfo обычно проще. Для автоматической проверки timestamps и packet-level деталей удобнее ffprobe. Для фотографических и документных метатегов сильнее ExifTool. Для Matroska-специфичной структуры полезен mkvinfo. Эти инструменты не взаимоисключающие: в сложной диагностике их результаты дополняют друг друга.
ВидеоМАСТЕР не стоит считать прямым аналогом в этой таблице: его основная задача — преобразование и обработка видео, тогда как MediaInfo занимается извлечением технических сведений. Конвертер может использоваться после диагностики, но это другой класс работы.
Ограничения MediaInfo
- Не редактирует медиа. Программа читает и отображает параметры, но не исправляет контейнер, не меняет теги как специализированный редактор и не перекодирует поток.
- Не является медиаплеером. Нельзя оценить артефакты, прослушать каналы или визуально проверить субтитры только по отчёту.
- Не выполняет полную валидацию стандарта. Наличие распознанных полей не доказывает, что файл соответствует всем требованиям спецификации.
- Не гарантирует обнаружение повреждения по всему файлу. Читаемые заголовки могут дать корректный отчёт даже при проблемах в середине потока.
- Зависит от записанных метаданных. Если камера или кодер не сохранили поле, программа не может восстановить его из ничего.
- Часть показателей вычисляется или округляется. Это нужно учитывать при строгом числовом сравнении.
- Профессиональные контейнеры сложны. Для MXF, IMF, ancillary data и broadcast captions иногда требуется профильный инструмент дополнительно.
Главная ошибка — ожидать от MediaInfo ответа на вопрос хороший ли файл. Программа отвечает на более точный вопрос: какие технические данные и структуры удалось определить. Оценка качества, соответствия заданию и исправности строится поверх этих данных.
Типичные ошибки интерпретации
Считать MP4 кодеком
MP4 — контейнер. Внутри может быть AVC, HEVC, AV1, MPEG-4 Visual или другой видеопоток, а также разные аудиоформаты. Для совместимости указывайте обе сущности.
Сравнивать Overall bit rate и Video bit rate
Первый относится ко всему ресурсу, второй — к видеодорожке. Разница объясняется аудио, субтитрами и служебными данными.
Приравнивать 10-bit к HDR
Битовая глубина сама по себе не задаёт HDR. Нужны цветовые характеристики и корректная HDR-сигнализация.
Считать отсутствие Language ошибкой распознавания
Язык может просто не быть записан в контейнер. MediaInfo не определяет язык по содержимому речи.
Считать Writing application доказательством происхождения
Это обычный тег. Он полезен для диагностики, но может быть изменён.
Считать VFR повреждением
Variable frame rate — допустимая временная модель, часто используемая телефонами и захватом экрана. Проблемой она становится только при несовместимости конкретной цепочки.
Считать Frame rate 29.970 ошибкой вместо 30
Для NTSC-семейства это стандартное дробное значение 30000/1001. Округлять его в проекте без причины не следует.
Рабочая методика технической проверки
- Сформулируйте назначение. Монтаж, публикация, архив, вещание и диагностика требуют разных полей.
- Откройте один эталон. Зафиксируйте ожидаемые Format, Codec, Profile, FrameRate, Color и Audio.
- Выберите режим. Basic для быстрой проверки, Sheet для набора, Tree/Text для детали.
- Сравните структуру. Количество Video/Audio/Text и их порядок.
- Проверьте временные параметры. Duration, FrameRate_Mode, Delay, TimeCode.
- Проверьте изображение. Width/Height, aspect ratio, scan, bit depth, chroma, color, HDR.
- Проверьте звук. Format, channels/layout, sampling rate, language.
- Сохраните отчёт. Text для человека, JSON/XML для автоматизации.
- Для исключений используйте второй инструмент. ffprobe, ExifTool или профильный валидатор по типу проблемы.
Такая последовательность защищает от информационной перегрузки. Full-режим остаётся доступным, но включается тогда, когда базовые поля уже указали направление.
Краткий чек-лист параметров видео
| Задача | Поля MediaInfo | Что проверить |
|---|---|---|
| Совместимость контейнера | General → Format, Format profile | Допустим ли контейнер целевым приложением |
| Видеокодек | Video → Format, Codec ID, Format profile | Кодек, профиль, уровень, способ упаковки |
| Геометрия | Width, Height, Display aspect ratio | Размер и правильное отображение |
| Временная сетка | Frame rate, Frame rate mode | CFR/VFR и точная дробная частота |
| Развёртка | Scan type, Scan order | Progressive/Interlaced, TFF/BFF |
| Цвет | Bit depth, Chroma subsampling, primaries, transfer, matrix | Соответствие SDR/HDR и мастер-профилю |
| HDR | HDR format, mastering display, MaxCLL/MaxFALL | Сохранилась ли нужная сигнализация |
| Звук | Format, Channels, Channel layout, Sampling rate | Кодек, раскладка, частота |
| Субтитры | Text Format, Language, Muxing mode | Количество, формат и способ упаковки |
| Время | Duration, Delay, Time code | Старт, длительность, синхронизация |
Этой таблицы достаточно для большинства практических задач. Если конкретное техническое задание требует GOP, reference frames, AS-11, ancillary data или других служебных параметров, их добавляют в профиль отдельно.
Как строить автоматическую приёмку
Автоматическая проверка должна быть детерминированной: фиксированный набор raw-полей, заданные допустимые значения и понятный отчёт об отклонении. Не сравнивайте отформатированные строки вроде 1 h 02 min или 5.4 Mb/s, если можно сравнить миллисекунды и биты в секунду.
Для каждого файла сначала проверяйте, что найден ожидаемый тип потока. Если Video отсутствует, не переходите сразу к сравнению Width — сообщите отдельную ошибку нет видеопотока. Такой подход делает диагностику понятнее.
Для нескольких аудиодорожек критерий должен указывать, какая именно нужна: первая, язык ru, default flag или канал 5.1. Проверка только первого Audio может дать ложный результат в многоязычном контейнере.
Поле Format profile лучше сравнивать осмысленно, потому что строка может включать профиль и уровень в одной форме. Если требования сложные, разбирайте отдельные поля Profile/Level, когда они доступны.
Храните исходный JSON рядом с кратким verdict. При споре это позволит восстановить, какие данные видел проверяющий скрипт, не прося пользователя повторно анализировать файл.
Конфиденциальность отчёта
MediaInfo может раскрыть больше, чем кажется: полный путь к файлу, внутренние имена проектов, title/comment теги, название программы кодирования, даты и идентификаторы. Перед публикацией отчёта в открытом доступе стоит удалить сведения, не относящиеся к проблеме.
Особенно часто забывают о Complete name в Text. Путь вида C:\Users\Имя\ClientProject\... может раскрывать имя пользователя и клиента. Для публичного тикета достаточно имени файла или вообще обезличенного идентификатора.
Структурированный JSON может содержать больше полей, чем краткий Text, поэтому его надо просматривать ещё внимательнее. Если передача идёт внутри контролируемой системы, вопрос решается политикой доступа; для форума лучше формировать минимальный Custom/Inform.
Частые вопросы о MediaInfo
Можно ли по MediaInfo понять, какое качество у видео?
Только косвенно. Разрешение, кодек, битрейт, битовая глубина и субдискретизация описывают техническую конфигурацию, но не содержание изображения, уровень шума, качество исходника и эффективность конкретного кодера. Два файла с одинаковыми параметрами могут выглядеть по-разному.
Показывает ли программа реальный FPS?
Она показывает доступные значения частоты и временной модели, включая номинальную, минимальную, максимальную или вычисленную частоту, когда формат это позволяет. Для VFR одно число не описывает все интервалы между кадрами; при сложной диагностике смотрят timestamps.
Можно ли узнать, есть ли HDR?
Да, по совокупности полей Video: HDR format, bit depth, primaries, transfer characteristics, matrix и mastering metadata, если они записаны. Но правильность визуального HDR этим не доказывается.
Можно ли увидеть Dolby Atmos?
MediaInfo может показывать формат аудиопотока, дополнительные коммерческие названия и характеристики, относящиеся к Dolby-системам, если они распознаются. Совместимость Atmos зависит от контейнера, базового аудиоформата, дополнительных данных и устройства воспроизведения.
Почему размер потока не совпадает с размером файла?
Контейнер имеет собственные заголовки, индексы, таблицы, padding, вложения и другие данные. Stream size относится к конкретному потоку и не обязан складываться в точный File size.
Можно ли изменить неправильный тег?
Не средствами MediaInfo. Для изменения применяют тег-редактор, мультиплексор или кодер в зависимости от того, где находится поле. После изменения MediaInfo удобно использовать повторно для проверки результата.
Можно ли проанализировать сразу много файлов?
Да. GUI умеет открывать несколько файлов и показывать Sheet, а CLI подходит для пакетного обхода. Для сотен элементов предпочтительно заранее выбрать ограниченный набор параметров и формировать машиночитаемый отчёт.
Почему Tree и Text показывают больше, чем Basic?
Basic намеренно сокращает отчёт до наиболее полезных полей. Tree/Text предназначены для детального анализа и показывают больше атрибутов потоков.
Нужен ли интернет для анализа файла?
Само чтение параметров выполняется на данных файла. Сетевое соединение может использоваться отдельными функциями вроде проверки обновлений, если такая опция включена. В Preferences её можно отключить.
Можно ли доверять дате кодирования?
Это метаданные контейнера или потока, а не защищённая отметка времени. Использовать их как единственное доказательство даты съёмки нельзя.
MediaInfo исправляет VFR в CFR?
Нет. Программа только сообщает режим частоты кадров. Преобразование выполняется кодером или транскодером.
Почему MediaInfo показывает два значения порядка полей?
Некоторые форматы различают порядок хранения и отображения. Контейнер может сигнализировать инверсию. В таком случае несколько строк описывают разные уровни, а не противоречат друг другу без причины.
Что лучше сохранять для техподдержки?
Обычно Text в подробном режиме: его легко читать и копировать. Если поддержка использует автоматические инструменты, JSON или XML удобнее. Перед отправкой проверьте полный путь и личные теги.
Зачем нужен Language=raw?
Чтобы получить стабильные внутренние имена полей без перевода. Это важно для скриптов, сравнений и интеграций.
Когда нужен --Full?
Когда стандартный отчёт не содержит параметра, необходимого для диагностики, или требуется полный технический снимок. Для рутинной приёмки лучше ограниченный набор, иначе отчёт становится труднее проверять.
Можно ли использовать MediaInfo для фотографий?
Анализатор умеет разбирать ряд изображений и связанной метаинформации, но если задача сосредоточена на EXIF, XMP, IPTC и фотоаппаратных тегах, ExifTool обычно даёт более профильный набор. Сила MediaInfo — единый технический взгляд на медиа и потоки.
Что делать, если два анализатора показывают разные данные?
Сначала выяснить источник поля: контейнер, элементарный поток, вычисление или тег. Затем сравнить точные единицы и округление. При необходимости исследовать структуру профильным инструментом. Расхождение само по себе полезно: оно указывает на неоднозначное место файла.
Рекомендации для разных ролей
Монтажёр
Держите Tree режимом по умолчанию, но смотрите прежде всего FrameRate_Mode, FrameRate, Codec/Profile, Bit depth, Color и Audio sampling rate. При проблемном импорте сравнивайте Codec ID и writing library с рабочим клипом.
Специалист по публикации
Соберите короткий Custom или CLI-шаблон под требования площадки: контейнер, видеокодек, профиль, разрешение, FPS, битрейт, аудиокодек, каналы. После каждого рендера проверяйте фактический файл, а не пресет.
Архивист
Сохраняйте структурированный отчёт вместе с инвентаризацией: контейнер, кодеки, длительность, размер, идентификаторы потоков, timecode, writing application и доступные служебные данные. Для формальной валидации дополняйте MediaInfo специализированным валидатором.
Инженер автоматизации
Используйте CLI с Language=raw и JSON/XML. Не парсите локализованный Text регулярными выражениями, если можно получить структурированный объект. Версионируйте профиль требований отдельно от кода обхода файлов.
Техническая поддержка
Просите Text-отчёт проблемного и рабочего файла. Сравнение пары почти всегда информативнее одного отчёта: видно, какие параметры действительно отличаются в конкретной среде.
Что MediaInfo не следует использовать вместо других инструментов
Для перекодирования нужен кодер или конвертер. Для изменения контейнера — мультиплексор. Для правки EXIF/XMP/ID3 — метадатный редактор. Для проверки каждого кадра — декодирование и QC. Для формальной валидации спецификации — соответствующий валидатор. Для измерения уровня аудио — анализатор громкости.
MediaInfo находится между этими этапами как универсальный инспектор. Он быстро отвечает, что получилось до и после операции. Такая роль делает его полезным даже в цепочке, где уже есть FFmpeg, монтажная система и валидатор: один инструмент выполняет преобразование, второй — формальную проверку, MediaInfo — понятную техническую сводку.
Если задача сформулирована как исправить, сначала используйте MediaInfo для диагностики, затем выберите средство изменения. После исправления повторите анализ и убедитесь, что нужные поля действительно стали такими, как планировалось.
Итог
MediaInfo лучше всего использовать как технический рентген медиаресурса: открыть файл, разделить контейнер и потоки, выбрать нужную глубину отчёта и проверить именно те параметры, которые влияют на текущую задачу. Basic даёт быстрый ответ, Sheet сравнивает набор, Tree и Text раскрывают детали, Export и CLI превращают те же данные в переносимый или автоматизируемый отчёт.
Для повседневной работы достаточно выработать собственный список обязательных полей и сравнивать его с эталоном. При сложном расхождении переходят к Full, raw-идентификаторам, JSON/XML и второму специализированному анализатору. Такой подход позволяет получать из MediaInfo точную пользу без попытки превратить длинный перечень метаданных в самоцель.