Frequently asked questions (faq)

All features

The MediaInfo data display includes:
Container: format, profile, commercial name of the format, duration, overall bit rate, writing application and library, title, author, director, album, track number, date, duration…
Video: format, codec id, aspect, frame rate, bit rate, color space, chroma subsampling, bit depth, scan type, scan order…
Audio: format, codec id, sample rate, channels, bit depth, language, bit rate…
Text: format, codec id, language of subtitle…
Chapters: count of chapters, list of chapters…
MediaInfo analyticals include:
Container: MPEG-4, QuickTime, Matroska, AVI, MPEG-PS (including unprotected DVD), MPEG-TS (including unprotected Blu-ray), MXF, GXF, LXF, WMV, FLV, Real…
Tags: Id3v1, Id3v2, Vorbis comments, APE tags…
Video: MPEG-1/2 Video, H.263, MPEG-4 Visual (including DivX, XviD), H.264/AVC, H.265/HEVC, FFV1…
Audio: MPEG Audio (including MP3), AC3, DTS, AAC, Dolby E, AES3, FLAC…
Subtitles: CEA-608, CEA-708, DTVCC, SCTE-20, SCTE-128, ATSC/53, CDP, DVB Subtitle, Teletext, SRT, SSA, ASS, SAMI…
MediaInfo features include:
Read many video and audio file formats
View information in different formats (text, sheet, tree, HTML…)
Customise these viewing formats
Export information as text, CSV, HTML…
Graphical user interface, command line interface, or library (.dll/.so/.dylib) versions available
Integrate with the shell (drag ‘n’ drop, and Context menu)
Internationalisation: display any language on any operating system
Localisation capability (for which volunteers are needed — please contact me!)

General

MediaInfo tries to connect to the Internet!

Yes, it tries (if «Check for newest version» is checked).
When this checkbox is checked, MediaInfo connects to mediaarea.net website too for anonymous statistics. (how often MediaInfo is used, which OS/Language/Country is the most used…)
If you don’t want to autorize anonymous statistics, uncheck the «Check for newest version» checkbox.

In the SourceForge repository, there are multiple filenames. Which one should I download?

It depends on what you require:

  • A graphical interface : MediaInfo GUI
  • A Command line interface : MediaInfo CLI
  • A DLL to interface with other software : MediaInfo DLL

After this, you must select your operating system:

  • Win : Windows 95 to Windows XP
  • Lin : Linux distribution

And your platform:

  • 686 : Intel Pentium, AMD Athlon
  • AMD64 : Intel EMT64 enabled CPU, AMD Athlon64

In the SourceForge repository, there are multiple file versions. Which one should I download?

Always the latest version, except if:

  • The version is tagged «beta». You can download this, but be warned, this is not a stable version.
  • The person who asked you to download specified the version. Download this version, as the developer may not have tested the latest version

Why is format not supported?

First, maybe I don’t have specifications for it.
If you have documentation about the format, please contact us.
Second, maybe we don’t have the time on free support for implementing it.
If you desire to accelerate the development, don’t hesitate to contact us for a quotation.

Really, format should be supported because a motive

I have no problem for accepting a (good) patch for the support of format, don’t hesitate to propose a patch.
You are not a programmer? If you really think that a motive is true, I guess you’ll have no problem for finding someone else ready for implementing this feature if you think that the rate of the main developer (see «», but you already asked for the quotation, right?) is too high.
You don’t succeed to find the funds for the development? Maybe it is because a motive is not true…
Note: on my side I think that you should work for me for free, this product needs you, you should be part of the project. If you are not ready to work for me for free, please don’t be upset if I don’t work for you for free.

What’s KiB, MiB, GiB?

These are binary prefixes.
For example, 1 KiB is 1024 bytes, 1 KB is 1000 bytes.
The difference is not important with small files (only 2.4% for «K»), but becomes more and more important with bigger numbers (1 GB is only ~0.93 GiB, 1 TB is only 0.90 TiB!).
MediaInfo makes every attempt to be precise and does not tolerate errors of such magnitude when posting numbers even though Microsoft continues to confuse the issue in its operating system.
See the for more information.
Anyway you can:

  • use the complete output with raw values (-f in the CLI or «advanced mode» in the GUI) —> «File size: 4700000000» instead of «File size: 4.37 GiB»
  • use your own language file (—Language=file://xxx.csv in the CLI, choose your own language file in the GUI). Language files are in the GUI package, you can edit » GiB» and other fields as you desire).

Why are there spaces in numbers?

Yes, there is a space in «1 920 pixels» for example.
This is the («SI style»).
This standard is the official one for 96% of the world population (All countries except U.S.A.).
I currently don’t plan to change this default display although you can:

  • use the complete output with raw values (-f in the CLI or «advanced mode» in the GUI) —> «Width: 1920»
  • use your own language file (—Language=file://xxx.csv in the CLI, choose your own language file in the GUI). Language files are in the GUI package, you can edit the «Thousand_Separator» field as you desire).

Как пользоваться приложением Mediainfo

После установки и запуска перед пользователем откроется окно с настройками. Необходимо выбрать русскую поддержку и можно к работе.

Добавить мультимедийный файл просто, достаточно просто перетащить его мышкой в основное окно. Приложение отображает общую информацию, а также предоставляет ссылка на сайт, где можно скачать кодек или фильтр для воспроизведения.

Режимы отображения информации:

  • Краткий.  Общие сведения и ссылки на кодеки отображаются компактно. Режим удобен для одиночных файлов.
  • Таблица. Представлена сжатая информация об использовании кодеков выбранных файлов. Полные сведения выдаются о конкретном объекте, выбранном пользователем. Рационально использовать при необходимости получить данные о нескольких файлах.
  • Дерево. Сведения представлены в виде древовидной структуры. При желании отдельные ветки можно свернуть. Информация при больших количествах файлов воспринимается плохо, так как все ветки открываются одновременно.
  • Текст. Сведения представлены в виде текста, разбитого на разделы, каждый из которых соответствует определенной информации. Отлично подходит для передачи данных о стандартных мультимедиа файлах другим людям. В этом режиме не предусмотрены ссылки на кодеки.
  • HTML. Режим аналогичный предыдущему, но в оформлении используют графические элементы и разметки.
  • Выборочно. Предоставлено минимум информации, что упрощает ее восприятие при работе одновременно с несколькими файлами.

MediaInfo не только отображает сведения отдельных файлов, но дает возможность экспортировать  их в виде HTML, текста, CSV и таблицы, в зависимости от режима.

Преимущества программы

Приложение Mediainfo для Windows рекомендуют использовать пользователям, которые ценят удобство в работе с большим количеством файлов.

Преимущества:

  • программу можно запустить из контекстного меню;
  • отображает сведения о видеороликах и музыкальных файлах в разных форматах;
  • предоставляет ссылки на сайты, где можно загрузить кодеки;
  • возможность экспорта информации о файлах в HTML или TXT.

Приложение интуитивно понятное и удобное. Разработчики позиционируют утилиту, как полезный инструмент для работы с медиафайлами для любителей и продвинутых пользователей.

Скачать MediaInfo для Windows:

  • Версия: 20.08 Final;
  • Платформа: Windows 10, 8.1, 7 (x32 / x64 -bit);
  • Язык: Multi + Русский;
  • Размер: 6 Mb;
  • Лицензия: Freeware.

Analysis

MediaInfo states video is Bottom Filed First when it is actually Top Field First

Most of such comments come from ProRes having displayed and stored order inverted, for a reason I ignore.
MediaInfo shows how displayed order is wanted by the container, and sometimes the container says that stored order is TFF and displayed order is BFF (‘fiel’ atom in QuickTime header).
In that case, display of MediaInfo is:
Meaning that displayed order is BFF but raw stream stored order is TFF. Some player do not obey the inversion metadata from the QuickTime container so you can sometimes see TFF.
Update: There is a discussion about a technical report and the output may change in the future

Guides and How to’s

MediaInfo video tutorials

60 reviews,
Showing
1 to
5 reviews

Post review

    Show all 60 reviews

Report!

I registered an account just so I could say what an awesome app you’ve created! Very useful, and a great technical achievement! THANK YOU for your work and talent with the world — for FREE!
I have _no_ criticisms at all, it works great! If I were forced to give you 1 recommendation I would say the UI could possibly use a little smoothing out — but please do not take it negatively!
I will recommend your app to every friend I have (both of them!).

on
Oct 8, 2020 Version: 20.08
OS: Windows 7 64-bit Ease of use: 10/10
Functionality: 10/10
Value for money: 10/10
Overall: 9/10

Report!

No comments. Rating it only.

on
Aug 11, 2020 Version: 20.08
OS: Windows 7 64-bit Ease of use: 10/10
Functionality: 10/10
Value for money: 10/10
Overall: 10/10

Report!

No comments. Rating it only.

on
Aug 2, 2019 Version: 19.07
OS: Windows 7 64-bit Ease of use: 10/10
Functionality: 10/10
Value for money: 10/10
Overall: 10/10

Report!

Is the 18.12 the final build? no longer upgraded? I have to say that ffprobe seems better.

on
Apr 23, 2019 Version: 18.12
OS: Vista Ease of use: 9/10
Functionality: 4/10
Value for money: 5/10
Overall: 5/10

Report!

No comments. Rating it only.

on
Jun 18, 2018 Version: `8.05
OS: Windows 7 64-bit Ease of use: 10/10
Functionality: 10/10
Value for money: 10/10
Overall: 10/10

60 reviews,
Showing
1 to
5 reviews
Post review

    Show all 60 reviews

Version history / Release notes / Changelog

Version 20.09, 2020-10-09
————-
+ Dolby ED2: full featured support (presentations, presentation targets, beds, objects)
+ MKV: support of Dolby Vision metadata
+ MXF: detection of Dolby E hidden in PCM tracks having more than 2 channels
+ WAV: detection of Dolby E hidden in PCM tracks having more than 2 channels
+ CineForm: display of color space (including Bayer), bit depth
x WAV: more precise sample count
x SMPTE ST 337: catch of streams starting later than usual (probing increased from 4 to 16 PCM «frames»)
x PNG: detection of additional alpha plane in color space
x MXF: detection of additional alpha plane in color space
x AVI: detection of additional alpha plane in color space
x MPEG Audio: was wrongly flagging Xing info tag as CBR
x VorbisTag: does not skip DISCID
x Miscellaneous bug/crash fixes
View full changelog

Extra

Use custom mediainfo path

$mediaInfo = new MediaInfo();
$mediaInfo->setConfig('command', '/usr/local/bin/mediainfo');
$mediaInfoContainer = $mediaInfo->getInfo('music.mp3');

Support old mediainfo version (<17.10)

$mediaInfo = new MediaInfo();
$mediaInfo->setConfig('use_oldxml_mediainfo_output_format', false);
$mediaInfoContainer = $mediaInfo->getInfo('music.mp3');

Use url as filepath

$mediaInfo = new MediaInfo();
$mediaInfoContainer = $mediaInfo->getInfo('http://example.org/music/test.mp3');

MediaInfoContainer to JSON, Array or XML

$mediaInfo = new MediaInfo();
$mediaInfoContainer = $mediaInfo->getInfo('music.mp3');

$json = json_encode($mediaInfoContainer);
$array = $mediaInfoContainer->__toArray();
$xml = $mediaInfoContainer->__toXML();

Usage for WindowsOS

$mediaInfo = new MediaInfo();
$mediaInfo->setConfig('command', 'C:\path\to\directory\MediaInfo.exe');
$mediaInfoContainer = $mediaInfo->getInfo('music.mp3');

Urlencode Config

By default MediaInfo tries to detect if a URL is already percent-encode and encodes the URL when it’s not.
Setting the config setting to forces MediaInfo to encode the URL despite the presence of percentage signs in the URL.
This is for example required when using pre-signed URLs for AWS S3 objects.

$mediaInfo = new MediaInfo();
$mediaInfo->setConfig('urlencode', true);
$mediaInfoContainer = $mediaInfo->getInfo('https://demo.us-west-1.amazonaws.com/video.mp4?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ABC%2F123%2Fus-west-1%2Fs3%2Faws4_request&X-Amz-Date=20200721T114451Z&X-Amz-SignedHeaders=host&X-Amz-Expires=600&X-Amz-Signature=123');

This setting requires MediaInfo minimum

How to use

Retrieve media information container

<?php
//...
use Mhor\MediaInfo\MediaInfo;
//...
$mediaInfo = new MediaInfo();
$mediaInfoContainer = $mediaInfo->getInfo('music.mp3');
//...

Example

<?php

require './vendor/autoload.php';

use Mhor\MediaInfo\MediaInfo;

$mediaInfo = new MediaInfo();
$mediaInfoContainer = $mediaInfo->getInfo('./SampleVideo_1280x720_5mb.mkv');

echo "Videos channel: \n";
echo "=======================\n";
foreach ($mediaInfoContainer->getVideos() as $video) {
    if ($video->has('format')) {
        echo 'format: '.(string)$video->get('format')."\n";
    }

    if ($video->has('height')) {
        echo 'height: '.$video->get('height')->getAbsoluteValue()."\n";
    }

    echo "\n---------------------\n";
}

echo "Audios channel: \n";
echo "=======================\n";
foreach ($mediaInfoContainer->getAudios() as $audio) {
    $availableInfo = $audio->list();
    foreach ($availableInfo as $key) {
        echo $audio->get($key);
    }
    echo "\n---------------------\n";
}

Ignore unknown types

By default unknown type throw an error this, to avoid this behavior, you can do:

$mediaInfo = new MediaInfo();
$mediaInfoContainer = $mediaInfo->getInfo('music.mp3', false);

$others = $mediaInfoContainer->getOthers();
foreach ($others as $other) {
    // ... do something
}

Access to information

Field Name are in lower case separated by «_»

$oneInformation = $general->get('count_of_audio_streams');

Check if information exists

Field Name are in lower case separated by «_»

if ($general->has('count_of_audio_streams')) {
    echo $general->get('count_of_audio_streams');
}

List available information

$availableInfo = $general->list();
foreach ($availableInfo as $key) {
    echo $general->get($key);
}

Specials types

For field:

cover_data

Cover type will be applied

For fields:

  • duration
  • delay_relative_to_video
  • video0_delay
  • delay

Duration type will be applied

Mode

For fields:

  • overall_bit_rate_mode
  • overall_bit_rate
  • bit_rate_mode
  • compression_mode
  • codec
  • format
  • kind_of_stream
  • writing_library
  • id
  • format_settings_sbr
  • channel_positions
  • default
  • forced
  • delay_origin
  • scan_type
  • interlacement
  • scan_type
  • frame_rate_mode
  • format_settings_cabac
  • unique_id

Mode type will be applied

Rate

For fields:

  • channel_s
  • bit_rate
  • sampling_rate
  • bit_depth
  • width
  • nominal_bit_rate
  • frame_rate
  • format_settings_reframes
  • height
  • resolution
  • maximum_bit_rate

Rate type will be applied

For fields:

  • display_aspect_ratio
  • original_display_aspect_ratio

Ratio type will be applied

For fields:

  • file_size
  • stream_size

Size type will be applied

MediaInfo Library (DLL)

Why doesn’t the DLL work with software name?

Maybe the software doesn’t support the latest version of the DLL.

  • Try asking the software developer to modify his software
  • Try downloading an older version of the DLL

How do I import data from your DLL?

Download the DLL package. There are some examples, in many different languages (standard C, standard C++, GCC, MinGW, Borland C++ Builder, Microsoft Visual C++, Microsoft Visual Basic, Microsoft C#, Microsoft J#)
There is also an SDK.

I’d rather have static libraries

This is only possible with C++.
On the download page, there is package with:

  • Library compiled with Borland C++ builder 6
  • Library compiled with Microsoft Visual C++ 9 (aka 2005). Warning : the project is statically linked to the multithreaded C++ library, and options are C++ compliant (Be careful. In standard C++, wchar_t is a type, not a short int).

If you want to use other compilers or options, you must compile from source.

I have the message «Access is denied» on the production server

On some production servers, users have this message:

Unable to load DLL 'MediaInfo.dll': Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

For certain strict server setups, the Local Service account that is executing the DLL is only allowed read permission. However, for a personal development machine, it is sometimes less strict and given full access and works fine for the developer.
You need to set «Read & execute» rights for MediaInfo.dll when deploying.
If you want to access HTTP(S)/FTP(S) files, you also need to set the same rights for the sidecar libcurl.dll file.
If you use IIS, user must have the «Read & execute» rights on these files.

Build under macOS and Linux

First, you must create a directory which will receive the MediaInfo directory, and ZenLib and MediaInfoLib if you decide to compile them yourself.

In this document, this directory will be referred as $BUILD_DIR.

port install autoconf automake libtool pkgconfig zlib wxWidgets-3.0

MediaArea tools

Dependencies under Linux

Listing

Build tools

  • git
  • automake
  • autoconf
  • libtool
  • pkgconfig
  • make
  • g++

MediaArea tools

  • libzen0
  • libmediainfo0

CLI and GUI dependencies

zlib

GUI only dependencies

wxwidgets

Ubuntu

Build tools and CLI/GUI dependencies

apt-get install git automake autoconf libtool pkg-config make g++ zlib1g-dev

MediaArea tools

dpkg -i libmediainfo* libzen*

GUI only dependencies

apt-get install libwxgtk3.0-dev

Fedora

Build tools and CLI/GUI dependencies

sudo yum install git automake autoconf libtool pkgconfig make gcc-c++ zlib-devel

MediaArea tools

sudo yum install libmediainfo*.rpm libzen*.rpm

GUI only dependencies

sudo yum install wxGTK-devel desktop-file-utils

Debian

Build tools and CLI/GUI dependencies

apt-get install git automake autoconf libtool pkg-config make g++ zlib1g-dev

MediaArea tools

dpkg -i libmediainfo* libzen*

GUI only dependencies

apt-get install libwxgtk3.0-dev

OpenSUSE

Build tools and CLI/GUI dependencies

zypper install git automake autoconf libtool pkgconfig make gcc-c++ zlib-devel

MediaArea tools

rpm -i libmediainfo* libzen*

GUI only dependencies

zypper install libqt4-devel libQtWebKit-devel update-desktop-files

Build MediaInfo CLI

When you have done all the prerequisite for your configuration, then build MediaInfo. We start with the CLI.

cd $BUILD_DIR
git clone https://github.com/MediaArea/MediaInfo.git
cd MediaInfo/Project/GNU/CLI
./autogen.sh
Then, under macOS:
./configure --enable-staticlibs
make
Under Linux:
./configure --enable-shared
make

Or for statically linked executable, if you also build ZenLib and MediaInfoLib:

./configure --enable-staticlibs
make

Launch the CLI

./mediainfo

Build MediaInfo GUI

If you have already build the CLI, no need to run git twice. In fact, if you re-run git with an existing MediaInfo directory, git will complain and exit.

To compile MediaInfo GUI under macOS and Linux:

cd $BUILD_DIR
git clone https://github.com/MediaArea/MediaInfo.git
cd MediaInfo/Project/GNU/GUI
./autogen.sh
Then, under macOS:
export PATH=$PATH:/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3/0/bin
./configure --enable-staticlibs
make
Under Linux:
./configure --enable-shared
make

Or for statically linked executable, if you also build ZenLib and MediaInfoLib:

./configure --enable-staticlibs
make
./mediainfo-gui

Optional : build ZenLib and MediaInfoLib

ZenLib

To compile ZenLib under macOS and Linux:

cd $BUILD_DIR
git clone https://github.com/MediaArea/ZenLib.git
cd ZenLib/Project/GNU/Library
./autogen.sh
./configure --enable-static
make

MediaInfoLib

To compile MediaInfoLib under macOS and Linux:

cd $BUILD_DIR
git clone https://github.com/MediaArea/MediaInfoLib.git
cd MediaInfoLib/Project/GNU/Library
./autogen.sh
./configure --enable-static
make

MediaInfo — https://github.com/MediaArea/MediaInfo
Copyright (c) MediaArea.net SARL. All Rights Reserved.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий