Aspect Ratio Detector: Seitenverhältnis erkennen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Aspect Ratio Detector: Seitenverhältnis erkennen

      Neues Programm: Aspect Ratio Detector

      Hier haben wir herausgefunden, dass es noch kein Programm gibt, 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 den richtigen Lens-Shift des Projektors einstellen oder die Maskierung korrekt fahren.

      AspectRatioDetector.PNG

      Installation

      Vor der Nutzung ladet ihr ffmpeg von hier herunter: ffmpeg.zeranoe.com/builds/: Am besten die aktuelle Version (4.3.1, nicht den Nightly Build) und 64 Bit, Static Linking. Entpacken und den Pfad (...\ffmpeg-4.1.3-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 Filme 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 to). Das ist mit sinnvollen Werten vorbefüllt.

      Dann entscheidet ihr, ob bereits erkannte (getaggte) Video erneut analysiert werden sollen (Skip video files with existing _ARxxx tags) oder nicht (Analyze video files with existing _ARxxx tags) und ob alles nur angezeigt werden soll, ohne Dateinamen zu ändern (Dry run).

      Wie funktioniert's?
      • Aus den Metadaten des Video-Streams wird das "Storage 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.
      Feedback und Bugs könnt ihr gerne in diesen Thread schreiben.

      Wie ihr die Ergebnisse des Tools weiter verwendet, gehört hier hin: beisammen.de/index.php?thread/…t-madvr-beamer-ansteuern/

      Viel Spaß damit,
      Alex
      Dateien
      Viele Grüße, Alex . . . Tollino Kino - Baubericht
    • So, das Tool ist sauber einmal komplett durchgelaufen.
      Nur bei einem Film hatte es anscheinend Probleme, da kam kein Ergebnis zu Stande.

      Ich bin das Log mal durchgegangen, das sieht alles plausibel aus. Sehr schön auch noch die Zus.fassung pro Film und die Statistik am Ende.
      Also Deine 0.1.0 läuft schon mal wesentlich besser als so manche 1.0er :thumbsup:

      Kodi liefert den Filenamen an meine Crestron-Steuerung und da kann ich den Filenamen parsen, die AR rauspicken und entsprechend meine (noch nicht vorhandene) Maskierung steuern und/oder weitere Einstellungen wie Lens Memory am Projektor vornehmen, etc. Wirklich genial, genau was ich wollte. Die on-the-fly-Erkennung via madVR hat zwar ganz gut funktioniert, bei einer automatisierten Maskierung muss das aber 100%ig laufen, da darf es keine Sprünge zwischendurch geben.

      Was ich noch überlege:
      Wenn Du eh schon die Bilddaten hast wäre es doch bestimmt kein Problem auch noch weitere Infos wie z.B. die Auflösung (also á la 4K, FHD, SDR) mit in den Filenamen zu schreiben, oder? :biggrin:

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hocky ()

    • Freut mich, dass das Programm hier so gut ankommt!

      hocky schrieb:

      Ich bin das Log mal durchgegangen, das sieht alles plausibel aus. Sehr schön auch noch die Zus.fassung pro Film und die Statistik am Ende.
      Also Deine 0.1.0 läuft schon mal wesentlich besser als so manche 1.0er
      Danke und schön, dass es funktioniert :thumbsup:

      hocky schrieb:

      Nur bei einem Film hatte es anscheinend Probleme, da kam kein Ergebnis zu Stande.
      Kannst du das Video noch mal einzeln analysieren (einfach den kompletten Pfad rechts eintragen)? Kommt dann wieder kein Ergebnis?

      hocky schrieb:

      Kodi liefert den Filenamen an meine Crestron-Steuerung und da kann ich den Filenamen parsen, die AR rauspicken und entsprechend meine (noch nicht vorhandene) Maskierung steuern und/oder weitere Einstellungen wie Lens Memory am Projektor vornehmen, etc. Wirklich genial, genau was ich wollte. Die on-the-fly-Erkennung via madVR hat zwar ganz gut funktioniert, bei einer automatisierten Maskierung muss das aber 100%ig laufen, da darf es keine Sprünge zwischendurch geben.

      Was ich noch überlege:
      Wenn Du eh schon die Bilddaten hast wäre es doch bestimmt kein Problem auch noch weitere Infos wie z.B. die Auflösung (also á la 4K, FHD, SDR) mit in den Filenamen zu schreiben, oder?
      Wozu benötigst du die weiteren Metadaten? Was möchtest du damit steuern oder welche Aktion auslösen?

      Den Dateinamen als Schnittstelle zwischen den einzelnen Tools zu nehmen finde ich eigentlich ungünstig. Klar könnte man weitere Metadaten in den Dateinamen schreiben, aber das ist unübersichtlich, fehleranfällig, nicht erweiterungsfähig und nicht kompatibel zu bestehenden Tools. Besser wäre es, wenn das Tool das richtige Aspect Ratio in die Kodi Metadaten eingetragen würde. Kodi liest ja bereits die Auflösung, 3D und andere Daten aus und speichert sie.

      Deshalb möchte ich eher in Richtung .nfo Dateien gehen und neben jedes Video eine Kodi-kompatible .nfo Datei legen, in der das richtige AR steht. Damit läge das korrekte AR in Kodi vor und könnte über die Kodi-API weiterverarbeitet werden. Außerdem würde das AR auch in der Kodi GUI richtig angezeigt werden (aktuell zeigt Kodi dort ARencoded an).

      Gibt es eigentlich einen Player-übergreifenden Standard für .nfo Dateien?

      Tools wie madVR können heute schon die Auflösung, SDR/HDR und 3D aus der Videodatei auslesen. Dafür braucht man das Tool nicht.

      Deine Steuerung erhält von Kodi schon den Filename. Könnte Kodi dann nicht auch die weiteren Metadaten (Auflösung, HDR/SDR etc.) an deine Steuerung liefern?
      Viele Grüße, Alex . . . Tollino Kino - Baubericht
    • All-Ex schrieb:

      Kannst du das Video noch mal einzeln analysieren (einfach den kompletten Pfad rechts eintragen)? Kommt dann wieder kein Ergebnis?
      Entwarnung: ich habe festgestellt dass sich das File direkt mit Kodi noch nicht mal abspielen lässt. Scheint wohl eine Macke zu haben.

      All-Ex schrieb:

      Deine Steuerung erhält von Kodi schon den Filename. Könnte Kodi dann nicht auch die weiteren Metadaten (Auflösung, HDR/SDR etc.) an deine Steuerung liefern?
      Du hast natürlich Recht. Die Daten bekomme ich schon direkt von Kodi in die Steuerung geliefert. Der Anstoß für Dein Tool kam ja im Grunde nur daher dass diese aus Kodi gelieferte Info für die AR nicht brauchbar ist. Der Rest passt aber ja, insofern kein Grund zusätzliche Infos zu liefern.

      All-Ex schrieb:

      Besser wäre es, wenn das Tool das richtige Aspect Ratio in die Kodi Metadaten eingetragen würde.
      Das wäre natürlich das Beste. Nach meinen Recherchen seinerzeit war aber hier das Problem dass Kodi diese wieder überschreibt. Aber vlt. gibt es da einen besseren Mechanismus.
    • canopus schrieb:

      Also bei mir läuft die madvr Lösung ganz zuverlässig.
      Bei mir auch - "ganz zuverlässig" ist aber nicht 100% zuverlässig. Gerade bei:

      canopus schrieb:

      Wie sieht es aber grundsätzlich bei Filmen mit Formatwechsel aus?
      Ich persönlich mag die gar nicht - allein schon deshalb ist für mich die Eintragung einer festen AR optimal.
    • Also bei Filmen ohne Formatwechsel habe ich bei madvr mittlerweile keine Probleme mehr. Bei Filmen mit Formatwechsel sind ab und zu Anpassungen notwendig. Selten z.B. bei "Anon" nervt das ständige hin und her schon. Ist aber auch ein Film, den man nicht unbedingt häufiger sehen muss.
    • Schade, offensichtlich sind Links hier inzwischen unerwünscht :whistling:

      Da die Lösung nicht von mir stammt und ich somit keinerlei Rechte daran habe, darf ich sie hier nicht einfach reinkopieren. Genau dafür sind Links ja gedacht: Die Rechte des Urhebers blieben gewahrt und dir wäre geholfen.

      Schon komisch, dass mein Beitrag gelöscht wurde, aber leider darf ich dir hier wohl nicht helfen.

      Ich hoffe, du findest den gesuchten Code (und mehr) über eine Suchmaschine...
      Viele Grüße, Alex . . . Tollino Kino - Baubericht
    Abonnement verwalten