Aspect Ratio Detector: Seitenverhältnis erkennen, jetzt auch mit Tiny Media Manager

  • geht das mit meinem Skript überhaupt? Der playerstate ist Kodi ja nicht bekannt, wenn ein externer Player genutzt wird. Bei der Übergabe an den externen Player gibt's evtl ein Feedback...ich glaube aber nicht, dass das so geht.


    Cinema Experience könnte gehen...damit hatte ich mich auch schonmal kurz befasst...

    Ja, stimmt. Alles wird das Skript nicht mitbekommen. Pause bspw vermutlich nicht.

    Hätte gedacht, dass zumindest der Filmstart in deinem Skript ankommt. Müsste man aber wohl tatsächlich mal schauen, ob das so geht.


    MIt dem Cinema Experience könnte es wohl auch gehen. Da gibt es sogar einen extra Teil, der für Automation vorgesehen ist.

    Wenn man da an den FIlenamen kommt, kann man auch das AR rausholen und die Maskierung damit steuern.


    Da beides auf Python-Skripten aufsetzt, könnte es aber eventuell bei beiden das Problem mit einem externen Player geben.

    "A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila." - Mitch Ratcliffe

  • Eine anderer Ansatz wäre, eine Hausautomation zu nutzen. Für viele gibt es nämlich ein KODI-Modul, welches das Aspekt Ratio bzw. den Dateinamen des gerade abgespielten Videos aus KODI auslesen kann. Über die Hausautomation könntest du dann deine Maskierung passend steuern.


    Mit FHEM zum Beispiel sollte das funktionieren:

    https://wiki.fhem.de/wiki/HTML_Aufruf_senden

    https://wiki.fhem.de/wiki/XBMC

  • Hi All-Ex...auch das könnte nur funktionieren,wenn man nicht mit einem externen Player abspielt...

    ...ich hatte damals eigentlich alles bereits genannte mit meinem Zidoo Mediaplayer (auch mit genutztem externen Player) getestet und musste letztendlich doch auf die Zidoo API gehen. Mit Kodi war da nix zu machen...

  • Eine anderer Ansatz wäre, eine Hausautomation zu nutzen. Für viele gibt es nämlich ein KODI-Modul, welches das Aspekt Ratio bzw. den Dateinamen des gerade abgespielten Videos aus KODI auslesen kann. Über die Hausautomation könntest du dann deine Maskierung passend steuern.


    Mit FHEM zum Beispiel sollte das funktionieren:

    https://wiki.fhem.de/wiki/HTML_Aufruf_senden

    https://wiki.fhem.de/wiki/XBMC

    Damit habe ich mich schon beschäftigt. Der Nachteil ist das der Status nur in Intervallen abgefragt wird. Somit muss man immer erst warten bis der nächste Intervall ansteht. Das finde ich sehr unschön.

  • ließe sich das macht Cinema Experience umsetzen?

    das habe ich mir auch schon gedacht. Habe angefangen mich damit zu beschäftigen. Bei beisammen gibt es eine Anleitung zur Umsetzung. Kann aber noch nicht sagen wie es mit dem externen Player läuft.

  • Oder man nimmt als Vorlage das Kodi [JVC "Projector" Interface]. Da sind bereits die Events für Film Start/Ende/Pause eingetragen und auch das AR ist vorhanden.
    Dort müsste man an den entsprechenden Stellen die Steuerung aufrufen.

    Ist vermutlich der einfachere Weg, da schon einiges vorhanden wäre. Trotzdem ist der Aufruf der Steuerung natürlich noch Handarbeit, die gemacht werden müsste.

    Das werde ich mir auch noch einmal ansehen. Das könnte ein Weg sein.

  • Damit habe ich mich schon beschäftigt. Der Nachteil ist das der Status nur in Intervallen abgefragt wird. Somit muss man immer erst warten bis der nächste Intervall ansteht. Das finde ich sehr unschön.

    Bei mir sendet KODI ein Event an FHEM, auf das sofort reagiert wird. Z.B. KODI geht auf Pause, Licht dimmt sofort hoch. Wahrscheinlich wird es aber wie Civer schreibt mit dem externen Player schwierig.

  • Das ist wohl überall das Problem. Würde ja auch den internen Player benutzen wenn ich ihn mit madVR kombiniert bekomme. DSPlayer Nutzung wäre klasse. Geht aber nicht mit Kodi 18.

  • Ich möchte ein Leinwad bauen. Bei diesem soll ein mal die Maskierung gesteuert werden. Zusätzlich ist die Leinwand hinter einem Bild versteckt wenn das Kino nicht aktiv ist. Es werden vermutlich Rohrmotoren mit Fibaro Rollershutter zum Einsatz kommen. Kodi soll die Maskierung automatisch an das gespielte Material anpassen.

  • Hallo zusammen,


    die nächste Version ist fertig :dancewithme Weil es viele Neuerungen gibt, habe ich sie 1.0.0 genannt.

    • NEW: New aspect ratio detection algorithm
    • NEW: Plausibility checks to improve detection accuracy
    • NEW: Multi format videos are recognized, including new _MFxxx tag
    • NEW: New option: Multi Format Video detection mode (disabled, most frequent, wider, narrower)
    • NEW: New option: Multi Format Video threshold (controls when a video is detected)
    • NEW: Export button (CSV-Export)
    • NEW: Improved status information (size of black bars, human readable times) and statistics

    Die Erkennung von Wechselformaten (Multi Format Videos), d.h. Filme deren Seitenverhältnis sich während des Films verändern, war doch etwas schwieriger. Den Aspect Ratio (AR) Algorithmus habe ich komplett neu designt und jetzt klappt das ganz gut bei mir. Besonders hartnäckig ist "First Man", weil dort nur wenige Szenen im "hohen" 16:9 Bildformat enthalten sind. Diese Szenen haben auch noch sehr viel schwarzen Inhalt, der sich nicht von den schwarzen Balken des "breiten" 21:9 Formats abhebt. Deshalb habe ich einen Plausibilitäts-Check neu eingebaut, der unsinnig erkannte Samples verwirft und es ein Stück weiter vorne im Film nochmal probiert.


    Wichtig für die Multi Format Erkennung ist, dass die Anzahl der Samples (Minimum number of samples per video) auf >30 und "Length of each sample" auf 2 Sekunden oder mehr gesetzt werden, damit bei der Analyse schwieriger Filme überhaupt genügend aussagekräftige Formatwechsel-Stellen getroffen werden. Bei erkannten Multiformat Videos wird das neues Tag _MFxxx angehängt.


    Mit zwei neuen Optionen könnt ihr nun entscheiden, ob und wie Multi Format Videos erkannt werden:

    • Multi Format Video (MFV) Erkennung abgeschaltet (d.h. alles ist wie bisher)
    • Multiformat-Erkennung ein: Das _ARxxx Tag im Dateinamen bekommt den AR, der im Film am häufigsten vorkommt und - sofern erkannt - wird das zweite Format des Multi Format Films in ein neues Tag geschrieben:_MFxxx (xxx ist das zweite Aspect Ratio ohne Dezimalstelle, MF steht für Multi Format).
    • MFV-Erkennung ein, das _ARxxx Tag bekommt das "breitere" Format, _MFxxx das "höhere" Format (gut für Cinemascope-Leinwände: Der Projektor-Zoom sollte dann so eingestellt werden, dass die maximale Leinwandbreite ausgefüllt ist. Die Bereiche oberhalb und unterhalb des "breiten" Bildes sollten im Projektor maskiert werden. Es ist dann ein durchgängiger Breitwandfilm ohne Formatwechsel zu sehen.)
    • MFV-Erkennung ein, das _ARxxx Tag bekommt das "höhere" Format, _MFxxx das "breitere" (sinnvoll für 16:9-Leinwände, damit oben und unten keine Maskierung vor die Leinwand fährt. Per Zoom sollte in einer "hohen" Szene die gesamte Leinwandhöhe ausgefüllt werden. Die Formatwechsel sind dann sichtbar und bei "breiten" Szenen im Film erscheinen oben und unten schwarze Balken. Bei "hohen" Szenen sind die Balken links und rechts)

    Die andere Option ist ein Schwellwert (MFV detection threshold), ab der ein Video als Multi Format erkannt wird: Wenn der am zweit-häufigsten vorkommende AR größer als der Schwellwert ist, handelt es ein Multi Format Video. Je größer dieser Wert ist, desto mehr Samples müssen in einem zweiten AR vorliegen, damit das Video als Multi Format erkannt wird. Wenn kein Multiformat-Film erkannt wird, wird auch kein _MFxxx-Tag geschrieben.


    Ich besitze allerdings nur 4 Filme mit variablem AR, deshalb konnte ich nicht so viel testen. Vielleicht hab ihr ja die ein oder andere Scheibe von dieser Liste und könnt das neue Feature mal ausprobieren:

    https://www.avsforum.com/forum…ratio-movies-blu-ray.html


    Viele Grüße,

    Alex

  • Hallo Alex, das ist ja ein sehr umfangreiches Update. Ab wieviel Prozent entscheidet sich das Programm für den Anteil der am häufigsten vorkommt. Wirklich 50,1% bei zwei Formaten?

    Auf meiner 21:9 Leinwand bevorzuge ich es schon auch in 21:9 zu schauen. Ich habe 9 Filme der Liste als 2D UHD im Angebot, dazu anbei auch das entsprechende Ergebnis. In der Zusammenfassung am Ende fänd ich es gut, wenn auch die Prozentsätze der einzelnen Formate im jeweiligen Film mit angeführt werden. Bei 40Samples ergab dieses bei mir folgendes Ergebnis:


    Aquaman (y) 1.78 70% 2.4 30%

    Aufbruch zum Mond (y) 1.78 9,3% 2.4 90,7%

    Dark Knight (y) 1.78 12.5% 2.4 87,5%

    Dark Knight Rises (y) 1.78 45% 2.4 55%

    Dunkirk (y) 1.78 72,5% 2.2 27.5%

    Ghostbusters (n) 1.78 2,4% 2.4 97,6%

    Interstellar (y) 1.78 40% 2.4 60%

    Mission: Impossible - Fallout (y) 1.85 12,5% 2.4 87,5%

    Star Trek: Into Darkness (y) 1.78 25% 2.4 75%


    Im ersten Anlauf habe ich mich immer für das flachere Format entschieden. Wenn ich mir allerdings nun Aquaman mit 70% Bildanteil in 1.78 oder Dunkirk anschaue, geht da schon echt einiges verloren. Ich werde daher wohl zum meist vorkommenden Format greifen. Bis auf Ghostbusters wurden auch alle erkannt. Ich habe ehrlich gesagt nicht erwartet, dass zum Teil so viele Bildinhalte dann im höheren Format vorhanden sind. Z.B. Aquaman hat mich zwar genervt beim Umschalten mit madvr aber an so viel 1.78 kann ich mich da nicht erinnern.

    Dateien

    auch gewerblich als User "Speaker Base" unterwegs

    Einmal editiert, zuletzt von Moe ()

  • Hi Moe,


    ja, erstmal ist der häufigste AR (+/- 0.15) der AR_PrimaryRaw und der zweithäufigste AR der AR_SecondaryRaw. Mit den 4 MFV Optionen kannst du dann steuern, welcher von beiden im _ARxxx Tag und welcher im _MFxxx Tag benutzt wird. Die Grenze ist also bei 50%.


    Mit dem Export-Button kannst du die Prozente in Excel ansehen und dort auch sortieren, filtern etc. Öffne dazu mal das angehängte Excel-Import-Template. Dann erscheint erstmal eine Fehlermeldung (weil die Datei nicht gefunden wird), die du ignorierst. Wähle die csv-Datei so aus und klicke danach einmal bei Daten auf "Alle aktualisieren":


    Bei deinen Videos sieht das dann so aus, sortiert nach dem Anteil des zweiten ARs (AR_SecondaryPct):


    Aquaman hat da übrigens 70% Anteil im breiten Format und 30% im hohen.


    Ich habe ja auch eine 21:9 Leinwand und bevorzuge da grundsätzlich das breite Format, aber du hast schon recht, dass einem bei Filmen wie The Dark Knight Rises oder Interstellar einiges entgeht.


    Der Algorithmus könnte auch so arbeiten:

    Nehme den breiteren AR wenn mehr als x% der Samples im breiten Format vorliegen und nehme ansonsten den höheren AR.


    mit x = 70% würden The Dark Knight Rises, Interstellar und Aquaman dann in 1.78 erkannt werden. (Im aktuellen Algorithmus ist x = 50%)

  • Meine Automatisierung habe ich jetzt zum Laufen bekommen. Am Ende habe ich das Kodi JVC Interface genutzt. Hier brauchte ich nur die Projektor Ausgabe entfernen und meine HTTP Steuerung hinzuzufügen.

    Es funktioniert hervorragend, auch in Kombination mit meinem externen Player und Kodi 18.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!