42

Computer Tool Mediainfo

Meta

Erstellt: 9. März 2019
Modifiziert: 21. März 2019

Überblick

Detailierte Infos über Mediendateien wie Musik oder Filme lassen sich mit dem Tool “Metainfo” anzeigen, welches der Entwickler Jerome Martinez gratis anbietet. Das Tool wird in Versionen für Linux, Mac und Windows angeboten. Hier gehe ich auf die Windows Version ein. Welche technischen Umfang das Tool hat wird auf der Website des Projektes beschrieben. Die Oberfläche kann auch in Deutsch angezeigt werden. Ich behalte es im Englischen, da dies die Sprache der IT ist und somit die verwendeten Begriffe eindeutig sind. Nebst einer Kommandoeilenversion (“CLI”) hat es auch eine DLL. Man kann mit der GUI Exe auch über die Kommandozeile Informationen abrufen. Einfach sehr eingeschränkt. Zum Zeitpunkt dieses Posts ist die aktuelle Version 18.12. Die Funktion wird auch als Webservice angeboten. Als Beispieldateien nehme ich vier unterschiedliche Filmdateien.

GUI

Die Oberfläche ist nicht wirklich spannend und selbst sprechend. Anhand des Folder Icons auf der linken Seite habe ich den Folder “C:\temp\my tools” ausgewählt. In der Auswahl werden die darin enthaltenen Dateien angezeigt. Nebst den vier Filmdateien die Datei “metainfo.exe” (CLI) die ich der einfachheit halber gleich hierher kopiert.

Oberfläche

Grundeinstellung ist “Basic”. Andere Ansichten bieten mehr Infos. Wählbar über den Menupunkt “Views” oder unten über den Hinweis (“Note…”).
Oberfläche

CLI

Auf der Kommandozeile wird über den Parameter “–help” oder “-h” die Syntax des Tools abgerufen. Der Entwickler hat weder ein Referenc Guide, noch ein Tutorial zur CLI Variante geschrieben.
Oberfläche

Informationen zu Objekten und anderen Menus können nur über “–help” abgerufen werden. Die Kurzform -h funktioniert nicht.

Oberfläche

Was man mit “Inform” (-info) Parameter kombinieren kann, wird über diesen Befehl angezeigt:
C:\programs\mediainfo_cli\mediainfo.exe --Info-Parameters

Die Information zu einem Film erhält man mit Angabe der Filmdatei. Ohne Anführungszeichen. Wenn der Filmtitel Leerzeichen enthält, muss der Filmame mit Leerzeichen eingefasst werden.

Oberfläche

“Jokers” bzw. “Wildcards” werden unterstützt, so wie sonst auch: mediainfo *.mkv

Alle Informationen zu einer Mediendatei wird über die Parameter “-f” und “-Lang=raw” angezeigt.
mediainfo -f -Lang=raw "Oceans 11(2001).mkv

Mit Angabe eines Abschnitttitels (Video / Audio / etc.) kann ein einzelner Paramter direkt abgefragt werden. Der Wert für das Feld Duration wird mit “6994208” angegben. Wenn man den Film ohne zusätzlichen Parameter abfragt, wird das Feld Duration mit dem Wert “1 h 56 min” angezeigt. D.h. in Minuten gerechnet 116 Minuten. Die Angabe mit dem Parameter --Inform="General;%Duration%; zeigt das Resultat in Sekunden. Somit muss man es lediglich durch den Faktor 60 teilen,um die Minuten zu erhalten.

Oberfläche

Es können auch direkt auf der CLI mehrere Werte abgefragt werden. Z.B. alle Untertitel anzuzeigen:
mediainfo "--Output=Text;%ID%: %Format%$if(%Language/String%, SUBTiTLE: .............. %Language/String%)\r\n" "Oceans 11(2001).mkv"

Mehrere Werte zu einer Mediendatei abfragen

Wenn man mehrere Paramter abfragen will, dann geht das nur über eine Textdatei welche die Parameter auflistet. Parameter müssen penibel (klein/gross) so geschrieben werden, wie sie mit “Parameters” (siehe weiter oben) angegeben werden. Der Parameter für die Angabe dieser Textdatei lautet “–Output=file://[TXTFile]. Praktisches Beispiel verdeutlicht das. Die Parameterdatei heisst in diesem Fall “para.txt” und ist im gleichen Verzeichnis wie die Mediendatei “Oceans 11(2001).mkv”
mediainfo --Output=file://para.txt "Oceans 11(2001).mkv"

Wie ist so eine Textdatei wie diese “para.txt” aufgebaut, damit das parsing korrekt funktioniert? Die Beispiele verdeutlichen das schnell. “\r\n” erzeugen eine neue Linie. Beispiel 1: Ein Parameter wird angegeben und dieser Parameter ist der Dateiname.
General;Name.........: %FileName%.%FileExtension%\r\n

Beispiel 2: Zwei Parameter werden angegeben: Dateiname und die Länge des Filmes. Der Code muss in einer Zeile stehen. Kein Zeilenumbruch.
General;Name.........: %FileName%.%FileExtension%\r\nDuration.....: %Duration/String3%\r\n

“String/” konvertiert die Anzeige in ein lesbareres Format. Beispiel: In dieser Textdatei “para.txt” wird die Dateigrösse das erste Mal ohne den Parameter “/String” abgefragt. Das zweite Mal mit. Die nachfolgenden Angaben in der Konfigurationsdatei müssen einer Zeile stehen.
para.txt: General;Size.........: %FileSize%\r\nSize.........: %FileSize/String%\r\n

Oberfläche

Rodrigo Polo hat auf Github komplexere Beispiele zur Verfügung gestellt.
Wenn eine solche Textdatei über eine Batchdatei genutzt wird, müssen die Prozentzeichen der Parameter verdoppelt werden. Das kennt man ja bereits von dem For Befehl. Kommentare in einer dieser Textdateien sollten mit “: “ beginnen. Ein Test direkt in CMD ergab, dass der Text auch ohne “:” nicht angezeigt wurde.

Quellen

  1. Website des Projektes
  2. GitHub
  3. Installation MediaInfo CLI über Chocolatey
  4. Ubuntuusers.de: MediaInfo
  5. Fossi: CLI Referenz
  6. AskUbuntu: short summary about video files (resolution, size, duration, codec))
Letzte Änderung March 9, 2019