MediaInfo
MediaArea.net SARL · лицензия BSD-2-Clause
Показывает длительность, разрешение, кодеки, частоту кадров и звук видео- и аудиофайлов. Агент проверит ролики перед монтажом или загрузкой на площадку и выгрузит свойства в JSON.
✓ Проверено 18.10.2026: Ubuntu 24.04 в одноразовом контейнере Docker на сервере, от root: MediaInfo 26.10 из репозитория MediaArea командой со страницы проекта, FFmpeg 6.1.1 из apt Ubuntu для тестовых файлов. Что именно проверяли
Какую задачу решает
Консольная программа, которая читает технические сведения из видео- и аудиофайлов. Агент узнаёт длительность, разрешение, кодек, частоту кадров, битрейт и параметры звука роликов и выгружает их в JSON или таблицу, чтобы проверить файлы перед монтажом или загрузкой на площадку.
- Принимает один файл, список файлов или папку вместе с вложенными. По файлу показывает контейнер, длительность, размер и общий битрейт, по дорожкам видео кодек, разрешение, соотношение сторон и частоту кадров, по дорожкам звука кодек, частоту дискретизации и число каналов.
- Отчёт выводит текстом, в JSON и XML, по справке программы ещё в HTML, CSV и форматах EBUCore и PBCore. Шаблон в ключе --Output выбирает только нужные поля. В прогоне шаблон для General с именем файла, длительностью, размером и битрейтом по четырём файлам дал четыре строки, полная команда есть в проверке ниже.
- Читает теги файла: в прогоне показала название ролика «Тестовый ролик» из тега Title. У проверенной нами обрезанной копии MP4 программа поставила в JSON отметку IsTruncated и записала ошибки соответствия формату.
- Сами файлы программа не меняет. Задача в нашем прогоне шла без сети.
Пример результата
Говоришь агенту
Посмотри ролики и звук в папке media: длительность, разрешение, частоту кадров и звук. Сведи в таблицу и скажи, какие ролики вертикальные. Файлы не меняй.
Что получится
Мы прогнали этот сценарий на тестовой папке из четырёх файлов, которые скрипт сам собрал через FFmpeg. Команда mediainfo --Output=JSON /work/media вернула код 0 и четыре записи, включая sub/clip.mkv из вложенной папки. Получилось так: clip-h.mp4 - H.264, 1920x1080, 30 кадров в секунду, 6 секунд, звук AAC 48 кГц стерео; clip-v.mp4 - H.264, 1080x1920, 9:16, 25 кадров, 4 секунды, звук AAC 44,1 кГц моно; clip.mkv - H.265, 1280x720, 24 кадра, 3 секунды, без звука; voice.wav - PCM 16 кГц моно, 10 секунд. Вертикальный ролик один, clip-v.mp4. Все значения совпали с ffprobe, суммы sha256 исходных файлов не изменились.
Паспорт
- Кто делает
- MediaArea.net SARL
- Исходный код
- github.com/MediaArea/MediaInfo
- Инструкция
- mediaarea.net/en/Repos
- Лицензия
- BSD-2-Clause
- Версия
- 26.10 на 18.10.2026
- Системы
- macOS · Linux · Windows
- Где работает
- На компьютере, на сервере и в контейнере
- Цена
- Бесплатно
- Проверка
- Проверено 18.10
Установить агентом
Установи программу «MediaInfo». Работай по шагам и после каждого коротко говори, что сделал.
Что это за программа (каталог smyslokod.ru, официальные источники сверены 18.10.2026):
- официальный сайт: https://mediaarea.net/en/MediaInfo
- исходный код: https://github.com/MediaArea/MediaInfo
- инструкция по установке: https://mediaarea.net/en/Repos
- актуальная версия на 18.10.2026: 26.10
- лицензия: BSD-2-Clause
- для работы нужно (в отдельных случаях): wget - только для команды подключения репозитория на Linux: в минимальном образе Ubuntu 24.04 его нет
Правила:
1. Ничего не устанавливай и не меняй, пока я не скажу «да» на твой план.
2. Ставь только способами из этого промпта. Сторонние сборки, скрипты с форумов и из чужих репозиториев не бери.
3. Мои проекты не трогай: не меняй их файлы, виртуальные окружения и списки зависимостей (package.json, requirements.txt, pyproject.toml).
4. Команды с sudo, правку профиля оболочки (~/.zshrc, ~/.bashrc) и переменной PATH делай только после моего отдельного «да» на каждую.
5. Не проси у меня пароли и ключи и не выводи их. Если нужен пароль администратора, дай команду, я выполню её сам.
6. Для разбора бери --Output=JSON: там числа без пробелов и единиц.
7. Перед выводами проверь, что у файла в отчёте есть дорожки. Отсутствующий файл программа ошибкой не считает.
8. Репозиторий MediaArea подключай и sudo запускай только после «да» человека.
Шаги:
0. Определи, где ты работаешь: мой компьютер, сервер или контейнер. Какая система и процессор, какие менеджеры пакетов есть (Homebrew, apt, winget, uv, pipx). Ставить нужно туда, где ты сам запускаешь команды.
- на компьютере: где лежат ролики и записи: проверить файлы перед монтажом или загрузкой.
- на сервере: например, чтобы проверять загруженные файлы на сервере перед обработкой.
- в контейнере: мы проверяли в контейнере Ubuntu 24.04 от root.
1. Проверь, не стоит ли программа уже: mediainfo --Version. Если стоит и запускается, ничего не ставь и переходи к шагу 5.
2. Обязательных зависимостей у программы нет, то, что нужно в отдельных случаях, перечислено выше. Проверь свободное место на диске: нужно На Ubuntu 24.04 apt скачал 3351 kB и сообщил, что займёт 9933 kB на четыре пакета: mediainfo, libmediainfo0v5, libzen0v5 и libmms0. Файл для macOS - 7 489 899 байт, архив для Windows x64 - 4 186 111 байт..
3. Составь план: каким одним способом из списка ниже будешь ставить, что появится на диске и сколько места займёт, что поменяется в системе и как потом удалить. Покажи план и жди моего «да».
Способы из официальных источников:
- macOS, файл .dmg с сайта: curl -LO https://mediaarea.net/download/binary/mediainfo/26.10/MediaInfo_CLI_26.10_Mac.dmg && hdiutil attach MediaInfo_CLI_26.10_Mac.dmg && sudo installer -pkg /Volumes/MediaInfo/mediainfo.pkg -target / && hdiutil detach /Volumes/MediaInfo (Файл 7 489 899 байт, sha256 2345a52f6e5281a15e9ef87acbe5756a9c4727d5629873c013f148a8f82525ab по нашему скачиванию. Мы разобрали его на Linux: внутри тома MediaInfo лежит mediainfo.pkg, он ставит один файл /usr/local/bin/mediainfo. На Mac эту команду мы не запускали.)
- Windows, архив с сайта: Invoke-WebRequest -Uri https://mediaarea.net/download/binary/mediainfo/26.10/MediaInfo_CLI_26.10_Windows_x64.zip -OutFile MediaInfo_CLI.zip; Expand-Archive MediaInfo_CLI.zip -DestinationPath $env:LOCALAPPDATA\MediaInfoCLI (Архив для Intel 64 бит, 4 186 111 байт. Сверь Get-FileHash с sha256 4cc94bd272903914c04f4f9a9f53a6c94b5ea6c6454cf738d29fa182c41e8a29: у нашего скачивания сумма такая. Внутри MediaInfo.exe и LIBCURL.DLL, установщика нет. Папку нужно добавить в PATH или звать программу по полному пути. На Windows мы не проверяли.)
- Linux, apt, репозиторий MediaArea: wget https://mediaarea.net/repo/deb/repo-mediaarea_1.0-27_all.deb && sudo dpkg -i repo-mediaarea_1.0-27_all.deb && sudo apt-get update && sudo apt-get install -y mediainfo (Команда подключения репозитория взята со страницы MediaArea, установка mediainfo - со страницы загрузки для Ubuntu. Пакет repo-mediaarea добавляет файл /etc/apt/sources.list.d/mediaarea.list и ключ /etc/apt/trusted.gpg.d/mediaarea.gpg. Мы ставили так от root, без sudo. Вместе с mediainfo apt поставил libmediainfo0v5, libzen0v5 и libmms0.)
4. Установи по согласованному плану. Если что-то идёт не так, как в плане, остановись и спроси.
5. Проверь результат:
- mediainfo --Version: программа запускается без ошибки;
- Во временной папке собери через FFmpeg четыре тестовых файла: горизонтальный и вертикальный ролик MP4 со звуком, ролик MKV без звука во вложенной папке и запись WAV. Запиши суммы sha256. Выгрузи свойства всей папки в JSON и сверь длительность, разрешение, частоту кадров и звук с ffprobe. Выведи строки по шаблонам --Output=General и --Output=Video, проверь обрезанный файл и отсутствующий файл, убедись, что исходные файлы не изменились. Делай это во временной папке и не трогай мои файлы.
apt-get update && apt-get install -y --no-install-recommends wget ffmpeg
mkdir -p /work/dl && cd /work/dl && wget https://mediaarea.net/repo/deb/repo-mediaarea_1.0-27_all.deb && dpkg -i repo-mediaarea_1.0-27_all.deb && apt-get update
apt-get install -y mediainfo
mediainfo --Version
mkdir -p /work/media/sub && cd /work/media
ffmpeg -hide_banner -loglevel error -f lavfi -i testsrc2=size=1920x1080:rate=30 -f lavfi -i sine=frequency=1000:sample_rate=48000 -t 6 -c:v libx264 -pix_fmt yuv420p -c:a aac -ac 2 -b:a 128k -metadata title="Тестовый ролик" -movflags +faststart clip-h.mp4
ffmpeg -hide_banner -loglevel error -f lavfi -i testsrc2=size=1080x1920:rate=25 -f lavfi -i sine=frequency=440:sample_rate=44100 -t 4 -c:v libx264 -pix_fmt yuv420p -c:a aac -ac 1 clip-v.mp4
ffmpeg -hide_banner -loglevel error -f lavfi -i testsrc2=size=1280x720:rate=24 -t 3 -c:v libx265 -x265-params log-level=error sub/clip.mkv
ffmpeg -hide_banner -loglevel error -f lavfi -i sine=frequency=300:sample_rate=16000 -t 10 -ac 1 -c:a pcm_s16le voice.wav
head -c 20000 clip-h.mp4 > /work/broken.mp4
sha256sum clip-h.mp4 clip-v.mp4 sub/clip.mkv voice.wav > /work/src.sum
mediainfo clip-h.mp4
mediainfo --Output=JSON /work/media > /work/info.json
mediainfo '--Output=General;%FileName%.%FileExtension%|%Duration/String3%|%FileSize%|%OverallBitRate%\n' clip-h.mp4 clip-v.mp4 sub/clip.mkv voice.wav
for f in clip-h.mp4 clip-v.mp4 sub/clip.mkv; do mediainfo '--Output=Video;%Format%|%Width%x%Height%|%FrameRate%|%DisplayAspectRatio/String%' "$f"; echo; done
mediainfo /work/broken.mp4
mediainfo /work/nofile.mp4; echo "код $?"
sha256sum -c /work/src.sum
apt-get purge -y mediainfo libmediainfo0v5 libzen0v5 repo-mediaarea && apt-get autoremove -y
- если ты работаешь в папке моего проекта, покажи git status: от установки в проекте не должно появиться изменений.
6. Итог одним сообщением: что установлено, какой версии и куда, сколько места заняло, что поменялось в системе и как всё удалить (macOS, файл .dmg с сайта: sudo rm /usr/local/bin/mediainfo; Windows, архив с сайта: Remove-Item -Recurse $env:LOCALAPPDATA\MediaInfoCLI; Linux, apt, репозиторий MediaArea: sudo apt-get purge -y mediainfo libmediainfo0v5 libzen0v5 repo-mediaarea && sudo apt-get autoremove -y).
Если на любом шаге ошибка, не чини наугад: покажи текст ошибки и скажи, что, по-твоему, случилось. Частые проблемы: https://smyslokod.ru/cli/mediainfo#problemyПромпт собран из официальных инструкций, сверенных 18.10.2026. Агент сначала проверит, что уже стоит, покажет план с местом на диске и способом удаления и без твоего «да» ничего не поставит.
Как ставят вручную
Способы из официальных источников, у каждого ссылка на первоисточник.
macOS · файл .dmg с сайта · источник
curl -LO https://mediaarea.net/download/binary/mediainfo/26.10/MediaInfo_CLI_26.10_Mac.dmg && hdiutil attach MediaInfo_CLI_26.10_Mac.dmg && sudo installer -pkg /Volumes/MediaInfo/mediainfo.pkg -target / && hdiutil detach /Volumes/MediaInfo
Файл 7 489 899 байт, sha256 2345a52f6e5281a15e9ef87acbe5756a9c4727d5629873c013f148a8f82525ab по нашему скачиванию. Мы разобрали его на Linux: внутри тома MediaInfo лежит mediainfo.pkg, он ставит один файл /usr/local/bin/mediainfo. На Mac эту команду мы не запускали.
Windows · архив с сайта · источник
Invoke-WebRequest -Uri https://mediaarea.net/download/binary/mediainfo/26.10/MediaInfo_CLI_26.10_Windows_x64.zip -OutFile MediaInfo_CLI.zip; Expand-Archive MediaInfo_CLI.zip -DestinationPath $env:LOCALAPPDATA\MediaInfoCLI
Архив для Intel 64 бит, 4 186 111 байт. Сверь Get-FileHash с sha256 4cc94bd272903914c04f4f9a9f53a6c94b5ea6c6454cf738d29fa182c41e8a29: у нашего скачивания сумма такая. Внутри MediaInfo.exe и LIBCURL.DLL, установщика нет. Папку нужно добавить в PATH или звать программу по полному пути. На Windows мы не проверяли.
Linux · apt, репозиторий MediaArea · источник
wget https://mediaarea.net/repo/deb/repo-mediaarea_1.0-27_all.deb && sudo dpkg -i repo-mediaarea_1.0-27_all.deb && sudo apt-get update && sudo apt-get install -y mediainfo
Команда подключения репозитория взята со страницы MediaArea, установка mediainfo - со страницы загрузки для Ubuntu. Пакет repo-mediaarea добавляет файл /etc/apt/sources.list.d/mediaarea.list и ключ /etc/apt/trusted.gpg.d/mediaarea.gpg. Мы ставили так от root, без sudo. Вместе с mediainfo apt поставил libmediainfo0v5, libzen0v5 и libmms0.
Как удалить
- macOS, файл .dmg с сайта:
sudo rm /usr/local/bin/mediainfo - Windows, архив с сайта:
Remove-Item -Recurse $env:LOCALAPPDATA\MediaInfoCLI - Linux, apt, репозиторий MediaArea:
sudo apt-get purge -y mediainfo libmediainfo0v5 libzen0v5 repo-mediaarea && sudo apt-get autoremove -y
Что нужно для работы
- wget (в отдельных случаях) - только для команды подключения репозитория на Linux: в минимальном образе Ubuntu 24.04 его нет
Системы
- macOS - консольная версия для macOS 10.10-26, Intel и Apple Silicon, файлом .dmg с сайта MediaArea. На Mac мы не проверяли.
- Linux - репозиторий MediaArea есть для Ubuntu, Debian, Fedora, openSUSE и других. Мы проверяли Ubuntu 24.04 на x86_64.
- Windows - архив для Windows от Vista до 11: Intel 64 и 32 бит, ARM 64. На Windows мы не проверяли.
Где запускать
Ставить нужно туда, где работает агент: на твой компьютер, сервер или в контейнер.
- На компьютере - где лежат ролики и записи: проверить файлы перед монтажом или загрузкой.
- На сервере - например, чтобы проверять загруженные файлы на сервере перед обработкой.
- В контейнере - мы проверяли в контейнере Ubuntu 24.04 от root.
Сколько ресурсов нужно
- Место на диске
- На Ubuntu 24.04 apt скачал 3351 kB и сообщил, что займёт 9933 kB на четыре пакета: mediainfo, libmediainfo0v5, libzen0v5 и libmms0. Файл для macOS - 7 489 899 байт, архив для Windows x64 - 4 186 111 байт.
- Память
- Отдельно не мерили.
- Сеть
- Свои файлы программа читает без сети: в нашем прогоне задача не открыла ни одного соединения. Соединения понадобились при установке. Подключение репозитория и пакеты шли к mediaarea.net (51.75.207.234, порт 443), libmms0 и списки пакетов к archive.ubuntu.com и security.ubuntu.com (91.189.91.81-83, 91.189.92.22-24, 185.125.190.81-83, порт 80). Ещё в записи есть deb.nodesource.com (104.20.45.190 и 172.66.150.169, порт 443): это источник Node.js, который уже был прописан в образе нашей песочницы, к MediaInfo он не относится. Адреса mediaarea.net с портом 0 (51.75.207.234 и 2001:41d0:305:2100::7e38) - это выбор адреса в glibc при разборе ответа DNS, пакетов к серверу при этом нет. DNS контейнера - 127.0.0.11. Доступ из России мы не проверяли.
Подключение репозитория и установка заняли около 9 секунд. Свойства четырёх файлов в JSON программа выдала за 140 мс.
Лицензия и платные замены
Лицензия BSD-2-Clause. Свободная лицензия: пользоваться можно бесплатно, в том числе в работе. Кто передаёт программу дальше, сохраняет уведомление об авторских правах и текст лицензии. Библиотека ZenLib из того же проекта идёт по лицензии zlib. Текст лицензии
Цена: Бесплатно. Консольная версия бесплатная, лицензия BSD-2-Clause.
Платные замены
Платную замену мы не указываем: тарифы платных программ мы не сверяли. Графическую MediaInfo для Mac проект продаёт в Mac App Store за небольшую плату, консольная версия бесплатная.
Бесплатные замены
- ffprobe (FFmpeg) - Входит в FFmpeg. По документации показывает формат контейнера и каждой дорожки, вывод бывает и в JSON. Подойдёт, если FFmpeg уже стоит: ставить ничего не надо. Мы ею сверяли результат MediaInfo.
- ExifTool - По описанию проекта читает, пишет и правит метаданные в файлах самых разных форматов: EXIF, GPS, IPTC, XMP, ID3 и другие.
О чём помнить
- Безопасность. Агент запускает mediainfo в терминале сам (exec). Программа читает файлы и папки, которые передал ей агент, папку вместе с вложенными (read). Исходные файлы она не меняет: в прогоне суммы sha256 совпали. Отчёт попадает в файл, когда агент перенаправляет вывод, или по ключу --LogFile из справки программы. Пишет она с правами пользователя по пути, который задал агент (write). Подключение репозитория MediaArea меняет систему от root (acts): появляются /etc/apt/sources.list.d/mediaarea.list и ключ /etc/apt/trusted.gpg.d/mediaarea.gpg, и apt будет брать с mediaarea.net обновления. Команда purge repo-mediaarea убирает оба файла, в прогоне так и было. Входа в учётные записи и ключей программа не просит.
- Программа открывает и адреса из сети через библиотеку curl. Мы проверяли только локальный адрес http. Для подключений по SSH справка называет ключи по умолчанию из ~/.ssh (id_rsa) и файл known_hosts. Ключи --Ssl_IgnoreSecurity и --Ssh_IgnoreSecurity по справке отключают проверку сервера. Адреса https и SSH мы не проверяли.
- Если файла нет, программа выходит с кодом 0 и ничего не печатает, в JSON будет "media":null. Текстовый файл программа тоже принимает: в отчёте у него одна дорожка General с размером.
- У проверенной обрезанной копии MP4 программа показала длительность из заголовка: от шестисекундного ролика осталось 20 000 байт, а в отчёте 6 секунд. У этой копии в JSON были отметка IsTruncated и список ConformanceErrors. Если таких отметок нет, это ещё не значит, что файл целый и проиграется.
- Текстовый отчёт пишет числа с пробелами и единицами («1 920 pixels», «4.49 MiB» - двоичные приставки). Чистые числа даёт JSON или ключ -f.
Частые проблемы
bash: wget: command not found (код 127) на команде подключения репозитория
В минимальном Ubuntu, например в образе Docker, wget не установлен. Поставь его командой sudo apt-get install -y wget или скачай пакет через curl -LO с тем же адресом.
apt-get install mediainfo ставит 24.01.1 вместо 26.10
Репозиторий MediaArea не подключён, и apt берёт сборку Ubuntu 24.04 (24.01.1-1build2). Подключи репозиторий командой со страницы MediaArea и повтори apt-get update и установку.
Пустой вывод и код 0
Файла по этому пути нет. Проверь путь, например test -f, и только потом читай отчёт.
Проверка
✓ Проверено 18.10.2026: Ubuntu 24.04 в одноразовом контейнере Docker на сервере, от root: MediaInfo 26.10 из репозитория MediaArea командой со страницы проекта, FFmpeg 6.1.1 из apt Ubuntu для тестовых файлов.
- Когда
- 18.10.2026
- Среда
- Ubuntu 24.04 в одноразовом контейнере Docker на сервере, от root: MediaInfo 26.10 из репозитория MediaArea командой со страницы проекта, FFmpeg 6.1.1 из apt Ubuntu для тестовых файлов
- Объём
- Установили и прогнали задачу на тестовых данных
- Что именно сделали
- Одноразовый контейнер Ubuntu 24.04 без данных и ключей, mediainfo, ffmpeg и wget в нём не было. Поставили ffmpeg и wget из apt Ubuntu: они нужны только для тестовых файлов и команды подключения репозитория.
- Подключили репозиторий командой со страницы MediaArea: wget repo-mediaarea_1.0-27_all.deb, dpkg -i, apt-get update. Затем apt-get install -y mediainfo поставил mediainfo 26.10-1, libmediainfo0v5, libzen0v5 и libmms0, около 9 секунд. mediainfo --Version вывела MediaInfoLib - v26.10.
- Скрипт сам собрал через FFmpeg четыре файла: clip-h.mp4 1920x1080 30 кадров 6 с со звуком AAC стерео и названием, clip-v.mp4 1080x1920 25 кадров 4 с со звуком моно, sub/clip.mkv H.265 1280x720 24 кадра 3 с без звука и voice.wav 16 кГц моно 10 с. Суммы sha256 записали.
- mediainfo --Output=JSON по четырём файлам вернула код 0 и четыре записи за 140 мс. По папке /work/media - тоже код 0 и четыре записи, файл из вложенной папки попал. Скрипт сверил с ffprobe кодек, разрешение, частоту кадров, длительность, размер в байтах и звук, всё совпало. Задача не открыла ни одного соединения.
- Шаблоны --Output=General и --Output=Video дали по строке на файл, например AVC|1080x1920|25.000|9:16. Отчёты XML, --Full и текстом - код 0. Локальный адрес http://127.0.0.1:8765/clip-h.mp4 программа тоже прочитала.
- Обрезанная копия ролика (первые 20 000 байт) дала код 0, в JSON отметка IsTruncated и ошибки соответствия. Отсутствующий файл дал код 0 и пустой вывод, в JSON media null. Суммы sha256 исходных файлов не изменились.
- Удалили командой apt-get purge -y mediainfo libmediainfo0v5 libzen0v5 repo-mediaarea и apt-get autoremove -y: команды mediainfo не осталось, файлы репозитория mediaarea.list и mediaarea.gpg удалены.
- Отдельным прогоном все 19 команд taskCommands карточки выполнили подряд в одной оболочке, каждая завершилась с кодом 0. Все проверки скрипт делал сам и только после них печатал TASK_OK.
| Дата | Версия | Объём | Где | Итог |
|---|---|---|---|---|
| 18.10.2026 | 26.10 | задача | контейнер, Linux | получилось |
| 18.10.2026 | 26.10 | задача | контейнер, Linux | получилось |
«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.
Похожие программы
- FFmpegРежет, склеивает и перекодирует видео и звук. Агенту нужна почти в любой работе с роликами: вытащить звук из записи, уменьшить файл, вырезать отрывок.
- ExifToolЧитает и стирает метаданные фото, видео и документов: место съёмки, камеру, автора и дату. Агент проверит снимки перед публикацией и сделает чистые копии.
- yt-dlpСкачивает видео и звук по ссылке с YouTube, VK Видео, Rutube, Дзена и сотен других площадок. Агенту нужен, чтобы забрать запись и дальше с ней работать.
Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.