Zur aktuellen Version: 1.1.1. Inzwischen ist diese Funktion auch im TinyMediaManager (Danke icebaer) und im MovieStarter (Danke FoLLgoTT) enthalten.
Hinweise zu erweiterten TMM-Parametern gibt es hier.
Hallo zusammen,
in meinem "Neue User stellen sich vor"-Thread wurde ich nach dem Programm "Aspect Ratio Detector" gefragt, das ich in einem anderen Forum vorgestellt habe. Gerne möchte ich es auch im Heinkinoverein vorstellen:
Bisher gibt es noch kein Programm, welches das Seitenverhältnis von Videos erkennt und zur Weiterverarbeitung speichert.
Deshalb habe ich das Programm "Aspect Ratio Detector" geschrieben Es erkennt das Seitenverhältnis (Aspect Ratio) von Videos und zeigt es an oder schreibt es in den Dateinamen. Darauf können anschließend weitere Tools wie madVR oder eine Heimautomatisierung zugreifen und automatisch beim Start eines Videos z.B. den richtigen Lens-Shift des Projektors einstellen oder die Maskierung auf die richtige Position fahren.
Installation
Vor der Nutzung ladet ihr ffmpeg von hier herunter ffmpeg.zeranoe.com/builds/: Am besten die aktuelle Version (4.2.2, nicht den Nightly Build) und 64 Bit, Static Linking. Entpacken und den Pfad (...\ffmpeg-4.2.2-win64-static\bin) merken.
Dann das angehängte ZIP entpacken und die .exe auf einer Windows 10 Maschine starten.
Los geht's
Oben rechts tragt ihr den Pfad von ffmpeg ein und darunter die Pfade, in denen die Videos liegen (bzw. einzelne Video-Dateien). Dann Start klicken und abwarten
Standardmäßig ist "Dry Run" angehakt, d.h. es werden erstmal keine Dateien umbenannt, sondern nur die Ergebnisse angezeigt.
Wenn ihr "Dry Run" ausschaltet, wird an das Ende der Dateinamen ein Tag angehängt im Format "_ARxxx", wobei xxx das Aspect Ratio ohne Kommastelle ist. z.B. Aspect Ratio von 1.85 => _AR185, Aspect Ratio von 2.39 => _AR239. Auf diese Tags können andere Tools wie z.B. madVR reagieren.
Nach der Analyse gibt es noch eine Übersicht über die gefundenen Ergebnisse und eine Statistik , wie viele Videos in welchem Format vorliegen.
Ihr könnt außerdem einstellen, an wie vielen Stellen (Samples) das Video analysiert werden soll ("Minimum number of samples per video"), wie viele Sekunden pro Sample analysiert werden ("Length of each sample") und wie viele Sekunden maximal zwischen zwei Samples liegen dürfen ("Maximum time between samples"). Mehr Samples und längere Samples erhöhen die Genauigkeit, aber die Analyse dauert dann länger.
Bei "Ignore beginning" und "Ignore end" tragt ihr ein, wie viel Prozent vom Anfang und Ende des Videos ignoriert werden, damit Intro-Logos und der Abspann die Erkennung der schwarzen Balken nicht behindern.
Beim Aspect Ratio der Video gibt es meistens leichte Abweichungen. Damit nicht zu viele verschiedene ganz dicht beieinander liegende Aspect Ratios ermittelt werden, könnt ihr eine Liste von Aspect Ratios angeben, auf die gerundet wird ("Round detected Aspect Ratio"). Das ist mit sinnvollen Werten vorbefüllt.
Dann entscheidet ihr, ob bereits erkannte (getaggte) Video erneut analysiert werden sollen ("Analyze video files with existing _ARxxx tags") oder nicht ("Skip video files with existing _ARxxx tags") und ob alles nur angezeigt werden soll, ohne Dateinamen zu ändern (Dry run). Wenn ihr "Dry run" ausschaltet, testet ihr das vielleicht erstmal mit einer Kopie von ein paar Videos...
Wie funktioniert's?
- Aus den Metadaten des Video-Streams wird das "Sample Aspect Ratio" des Videos (SAR, bei DVD anders als bei BluRay) und die Pixelgröße des Streams (ggf. inkl. schwarze Balken) gelesen. Daraus wird das Aspect Ratio des Streams ermittelt => ARencoded
- Jedes Video wird an mehreren Stellen (Samples) analysiert
- Alle Frames in jedem Samples werden untersucht und die Pixelgröße und das Aspect Ratio des Frames mit der größten nicht-schwarzen Bildfläche wird ermittelt => Cropped size und ARcalculated (das SAR von oben wird dabei berücksichtigt)
- Das ARcalculated, welches in den Samples am häufigsten vorkommt, wird weiter verwendet => ARdetected
- ARdetected wird dann auf das nächste Aspect Ratio aus der Liste gerundet, die in den Settings angegeben ist => ARrounded
- Standard Deviation (ARsd) gibt die Standardabweichung von ARdetected an. Kleine Werte bedeuten, dass die Erkennung sehr zuverlässig ist. Bei einem Wert von 0 haben alle Samples eines Videos das gleiche Aspect Ratio. Bei Werten von 0.5 oder höher könnte es ein Video, das in unterschiedlichen Formaten gedreht wurde, sein. Oder es gibt viele schwarze Stellen im Video.
- Anschließend wird (je nach Einstellung) am Ende des Dateinamens der Videos ein Tag angefügt: "_ARxxx" xxx ist dabei ARrounded ohne Dezimalpunkt.
Feedack und Bugs könnt ihr gerne in diesen Thread schreiben.
Viel Spaß damit,
Alex