MovieStarter

  • Hallo Nils,


    ich teste gerade meine 4-Wege-Maskierung, ich habe den MQTT-String so konfiguriert:


    X:%AR2_POSX(2000,3660) Y:%AR2_POSY(1460,1760)


    Die Min/Max Werte sind die Fahrbereiche meiner Maskierung in mm, es sieht so aus in deinem Log dass die Variablen nicht durch die X und Y Position ersetzt werden


    Log: 2023-07-13 20:37:46.988 +02:00 [INF] Notifying actor 'Kodi' (Server: 192.168.1.231, topic: Cinema/Mask, payload: X: %AR2_POSX(2000,3660) Y: %AR2_POSY(1460,1760))


    Eigentlich würde ich hier die tatsäclichen mm-Werte erwarten.


    Ersetze ich die Variablen im String durch Zahlenwerte, dann passt es.


    X:2000 Y:1460

  • Die Min/Max Werte sind die Fahrbereiche meiner Maskierung in mm, es sieht so aus in deinem Log dass die Variablen nicht durch die X und Y Position ersetzt werden

    Wenn ich das richtig sehe, ist nur der Logeintrag falsch. Da schreibe ich die ungemappte Variable raus. Ist korrigiert, bitte noch mal runterladen.


    Kommt denn das Richtige beim Empfänger an?

  • Habe es getestet, es werden die falschen Werte ausgegeben:


    2023-07-13 21:47:05.754 +02:00 [INF] Detected video format: 1920x1080 (SAR: 1), FPS: 23,976, bit depth: 8, EOTF: SDR, runtime: 131 min

    2023-07-13 21:47:05.754 +02:00 [INF] Detected audio format: Surround51, 3D Codec: None

    2023-07-13 21:47:05.754 +02:00 [WRN] Since not all information are saved to disk partial analyzing must be done on every start!

    2023-07-13 21:47:05.763 +02:00 [INF] Aspect ratios for calculation: encoded: 1,7778, content: 2,4, panel: 1,7778, projection: 1,7778, screen: 2,07, area correction: 1

    2023-07-13 21:47:05.763 +02:00 [INF] Calculated target aspect ratio: 2,4

    2023-07-13 21:47:05.764 +02:00 [INF] Calculated target resolution: 1920x800

    2023-07-13 21:47:05.765 +02:00 [INF] Calculated zoom factor X: 1,35, Y: 1,35 ==> HRH: Was bedeuten diese Werte?

    2023-07-13 21:47:05.765 +02:00 [INF] Calculated vertical movement: 0

    2023-07-13 21:47:05.771 +02:00 [INF] Notifying actor 'Kodi' (Server: 192.168.1.231, topic: Cinema/Mask, payload: X:2000 Y:1760) ===> HRH; hier sollte eigentlich X:3660 Y:1525 stehen

    2023-07-13 21:47:06.136 +02:00 [INF] Setting custom resolution: 1920x800 (base: 1920x1080@47,952)

    2023-07-13 21:47:06.564 +02:00 [INF] Waiting 6 s

    2023-07-13 21:47:12.575 +02:00 [INF] Starting player 'C:\Program Files (x86)\SVP 4\mpv64\mpv.exe'



    Noch vergessen zu fragen: Welche werte werden bei der Testfunktion ausgegeben?

  • 2023-07-13 21:47:05.765 +02:00 [INF] Calculated zoom factor X: 1,35, Y: 1,35 ==> HRH: Was bedeuten diese Werte?

    Das sind die Zoomfaktoren für MPC-HC. Wenn "Touch from inside" eingestellt ist, muss der Zoom abhängig von der Zielauflösung so korrigiert werden, dass das Bild füllend ist.


    2023-07-13 21:47:05.771 +02:00 [INF] Notifying actor 'Kodi' (Server: 192.168.1.231, topic: Cinema/Mask, payload: X:2000 Y:1760) ===> HRH; hier sollte eigentlich X:3660 Y:1525 stehen

    Dreh die Zahlen mal um. Dann kommt bei mir folgendes für einen 2,4:1-Stream raus:


    X:3660 Y:1460


    Das ist nicht exakt dein Wert (ist der genau?), aber passt das besser auch bei anderen Seitenverhältnissen?

  • Du meinst die Anordung im MQTT String?


    Statt "X:%AR2_POSX(2000,3660) Y:%AR2_POSY(1460,1760)"

    So: "X:%AR2_POSY(1460,1760) Y:%AR2_POSX(2000,3660)"


    Teste ich demnächst

  • Habe es kurz getestet: Wenn ich Min und Max vertausche stimmt die Position. Ich werde es dann in den nächsten paar Tagen testen sobald ich meine Triac-Module statt den Relais für die Motoren habe.


    Eventuell kannst du das noch tauschen damit es logischer wäre ;-)

  • Eventuell kannst du das noch tauschen damit es logischer wäre ;-)

    Ich tue mich bei der Mathematik inzwischen selbst schwer, obwohl sie eigentlich nicht so komplex ist. Das Studium ist zu lange her und die Übung fehlt. :zwinker2:


    Es kommt halt darauf an, wie man es definiert. Bedeutet der Maximalwert maximal geschlossen oder maximal offen?

  • Maximalwert wäre komplett offen

    Ich hätte es genau andersrum definiert. Also gibt es kein Richtig und Falsch. Ich kann aber die beiden Werte von min/max in boundary1/boundary2 umbenennen, dann ist das weniger missverständlich. Denn im Endeffekt ist es egal, ob der größere Wert vorne oder hinten steht. :)

  • Ich hätte es genau andersrum definiert. Also gibt es kein Richtig und Falsch. Ich kann aber die beiden Werte von min/max in boundary1/boundary2 umbenennen, dann ist das weniger missverständlich. Denn im Endeffekt ist es egal, ob der größere Wert vorne oder hinten steht. :)

    Ich gehe halt von der Größe des sichtbaren Bereichs aus, aber ja im Endeffekt ist es egal. It's up to you.



    Es sollte irgendwo definiert/beschrieben werden was genau mit Min und Max gemeint ist.


    Un das allerwichtigste: Es funktioniert soweit mit meinen 2 kurzen Tests. :thumbup:

  • Und weil ich schon lästig bin:


    Wäre es möglich den Bildschirm zu blanken wärend dem Umschaltvorgang und der Wartezeit?

    Nach dem Start vom Moviestarter den Bildschirm auf Schwarz schalten und dann Auflösung/Frequenz setzen und nach der Wartezeit den Player anzeigen.

    Keine Ahnung ob das machbar ist und ob das überhaupt dann so am Beamer erscheint, aber ich würde es dann gerne testen.

  • Hallo Nils,


    ich habe jetzt ein paar Tests gemacht mit der 4-Wege Maskierung, irgendwas stimmt noch nicht ganz


    Film in Format 1,78:1 ergibt folgende virtuelle Auflösung mit 1648x928, die Aktoren bekommen aber 3009 x 1760, was aber nicht richtig ist. Rechnerisch sollte 3133 x 1760 rauskommen.

    MQTT String: "X:%AR2_POSX(3660,2000) Y:%AR2_POSY(1760,1460)"


    Maximalwerte X: 3660mm Y: 1760mm


    Die Berechnung erfolgt wohl proportional zur Auflösung, oder sollte es zuminderstens in der Theorie.


    Das Zurückfahren geht nicht bei Ende des Films


    Log;


    2023-07-17 23:02:39.890 +02:00 [INF] Detected video format: 1920x1080 (SAR: 1), FPS: 23,976, bit depth: 8, EOTF: SDR, runtime: 106 min

    2023-07-17 23:02:39.890 +02:00 [INF] Detected audio format: Surround3D, 3D Codec: Atmos

    2023-07-17 23:02:39.890 +02:00 [WRN] Since not all information are saved to disk partial analyzing must be done on every start!

    2023-07-17 23:02:39.899 +02:00 [INF] Aspect ratios for calculation: encoded: 1,7778, content: 1,7778, panel: 1,7778, projection: 1,7778, screen: 2,07, area correction: 1

    2023-07-17 23:02:39.899 +02:00 [INF] Calculated target aspect ratio: 1,7778

    2023-07-17 23:02:39.900 +02:00 [INF] Calculated target resolution: 1648x928

    2023-07-17 23:02:39.900 +02:00 [INF] Calculated zoom factor X: 1,0011, Y: 1,0011

    2023-07-17 23:02:39.900 +02:00 [INF] Calculated vertical movement: 0

    2023-07-17 23:02:39.907 +02:00 [INF] Notifying actor 'Kodi' (Server: 192.168.1.231, topic: Cinema/Mask, payload: X:3009 Y:1760)

    2023-07-17 23:02:40.180 +02:00 [INF] Setting custom resolution: 1648x928 (base: 1920x1080@47,952)

    2023-07-17 23:02:40.617 +02:00 [INF] Waiting 6 s

    2023-07-17 23:02:46.622 +02:00 [INF] Starting player 'C:\Program Files (x86)\SVP 4\mpv64\mpv.exe'

    2023-07-17 23:05:14.892 +02:00 [INF] Player stopped. Resetting environment.

    2023-07-17 23:05:14.893 +02:00 [INF] Notifying actor 'Kodi' (Server: 192.168.1.231, topic: Cinema/Mask, payload: X:3009 Y:1760)

    2023-07-17 23:05:15.042 +02:00 [INF] Resetting custom resolution


    Die Aktorwerte kommen in meiner Steuerung auch so an.


    Settings



    Das gleiche Verhalten habe ich bei 1,33:1


    Virtuelle Auflösung 1236x928 => Aktor rechnerisch 2341x1760 => Ausgabe Aktor 2007 x 1760


    2023-07-17 23:31:47.671 +02:00 [INF] Calculated target aspect ratio: 1,3333

    2023-07-17 23:31:47.672 +02:00 [INF] Calculated target resolution: 1236x928

    2023-07-17 23:31:47.672 +02:00 [INF] Calculated zoom factor X: 1,3348, Y: 1,3348

    2023-07-17 23:31:47.672 +02:00 [INF] Calculated vertical movement: 0

    2023-07-17 23:31:47.679 +02:00 [INF] Notifying actor 'Kodi' (Server: 192.168.1.231, topic: Cinema/Mask, payload: X:2007 Y:1760)

    2023-07-17 23:31:47.953 +02:00 [INF] Setting custom resolution: 1236x928 (base: 1920x1080@59,94)

    2023-07-17 23:31:48.308 +02:00 [INF] Waiting 6 s

    2023-07-17 23:31:54.320 +02:00 [INF] Starting player 'C:\Program Files (x86)\SVP 4\mpv64\mpv.exe'

    2023-07-17 23:34:22.325 +02:00 [INF] Player stopped. Resetting environment.

    2023-07-17 23:34:22.325 +02:00 [INF] Notifying actor 'Kodi' (Server: 192.168.1.231, topic: Cinema/Mask, payload: X:2007 Y:1760)

    2023-07-17 23:34:22.475 +02:00 [INF] Resetting custom resolution

  • Das Zurückfahren geht nicht bei Ende des Films

    Das passiert nicht automatisch, weil ich nicht weiß, wen ich benachrichtigen soll. Dafür muss eine eigene Regel angelegt werden. Hast du das gemacht?


    Das gleiche Verhalten habe ich bei 1,33:1


    Virtuelle Auflösung 1236x928 => Aktor rechnerisch 2341x1760 => Ausgabe Aktor 2007 x 1760

    Hmm, das klingt für mich erstmal richtig.


    2007 entspricht ca. der minimalen Position, also für deinen Aktor ganz geschlossen. Ich gehe ja davon aus, dass der minimale Wert des Bereichs zum minimalen Seitenverhältnis (hier 1,33:1) passt. Wie errechnest du die 2341?

    Vertikal wird der maximale Wert übertragen, was für 1,33:1 ja auch passt.

  • Wegen Aktorregel:


    Da habe ich nur eine angelegt mit start/ende, ich sehe im Log das er am Ende schon was ausgibt, allerdings noch die gleichen Werte wie bei Start.



    Aktorsollwerte:


    Ich habe es so errechnet:


    1760mm / 928 x 1236 = 2341mm


    Proportional zur Auflösung


    Bei den 2007mm landed halt einiges vom Bild in der Maskierung, ist auch deutlich sichtbar

  • Da habe ich nur eine angelegt mit start/ende, ich sehe im Log das er am Ende schon was ausgibt, allerdings noch die gleichen Werte wie bei Start.

    Das reicht so leider nicht. Ich habe derzeit keine Variable für das DEFAULT_AR_POS in X und Y aufgetrennt. Das kann ich noch mal nachlegen. Auf jeden Fall muss man derzeit einen zweiten Aktor anlegen, nur auf "Ende" reagiert und immer auf die Defaultposition fährt. Das wird nicht automatisch gemacht, wenn der Aktor auf "Start/Ende" reagiert. Ich hatte das anfangs mal implementiert, aber es führte zu Problemen, an die ich mich nicht mehr erinnere. Ich muss noch mal darüber nachdenken...



    Ich habe es so errechnet:


    1760mm / 928 x 1236 = 2341mm

    Das ist zu einfach. Ich muss ja die Grenzwerte des Wertebereichs auf die Grenzwerte der Maskierung in der Konfiguration anwenden. Also z.B. :


    boundary1 = komplett geöffnet bei 2,4:1

    boundary2 = komplett geschlossen bei 1,33:1


    Die physikalischen Grenzen der Maskierung kenne ich ja nicht. Das heißt, du müsstest dir mal die Werte notieren, die deine Maskierung bei 2,4:1 und bei 1,33:1 hat. Diese Werte bestimmen dann deinen Wertebereich und dieser wird dann linear angesteuert. :)

  • Ok, meine Gedanken sind so gewesen:


    Die physikalischen Grenzen sind die Angaben im String:

    boundary1 = Fahrbereich Max der Maskierung

    boundary2 = Fahrbereich Min der Maskierung


    dann proporional gerechnet und dann den Fahrbereich begrenz auf boundary2 (Min)


    Ist halt aber Geschmacksache, viele Wege führen nach Rom :sbier:

  • Das reicht so leider nicht. Ich habe derzeit keine Variable für das DEFAULT_AR_POS in X und Y aufgetrennt. Das kann ich noch mal nachlegen. Auf jeden Fall muss man derzeit einen zweiten Aktor anlegen, nur auf "Ende" reagiert und immer auf die Defaultposition fährt. Das wird nicht automatisch gemacht, wenn der Aktor auf "Start/Ende" reagiert. Ich hatte das anfangs mal implementiert, aber es führte zu Problemen, an die ich mich nicht mehr erinnere. Ich muss noch mal darüber nachdenken...

    Kein Problem, dann setze ich halt eine zweite Regel mit fixe Werte im String

  • Hallo Nils,


    hier noch ein Feedback von mir.


    Mit diesen Einstellungen habe ich es jetzt hinbekommen:




    und dann im MQTT String die Werte angepasst an den Einstellungen für Mask Min/Max


    "X:%AR2_POSX(3660,2006) Y:%AR2_POSY(1760,1464)"


    Und getestet mit verschiedene Formate, passt jetzt. Somit macht meine 4-Wege Maskierung was sie soll.


    Edit:


    Constant Image Area geht nicht.


    2023-07-19 23:19:03.961 +02:00 [INF] Calculated target aspect ratio: 1,7778

    2023-07-19 23:19:03.961 +02:00 [INF] Calculated target resolution: 1320x742

    2023-07-19 23:19:03.962 +02:00 [INF] Calculated zoom factor X: 1, Y: 1

    2023-07-19 23:19:03.962 +02:00 [INF] Calculated vertical movement: 0

    2023-07-19 23:19:03.969 +02:00 [INF] Calculated constant area: 0,8003

    2023-07-19 23:19:03.969 +02:00 [INF] Calculated constant area: 0,8003

    2023-07-19 23:19:03.969 +02:00 [INF] Notifying actor 'MaskStart' (Server: 192.168.1.231, topic: Cinema/Mask, payload: X:2917 Y:2125)


    Die Aktorwerte passen mit der Auflösung nicht zusammen.


    Die Auflösung scheint auch nicht zu passen, das Bild ist sehr klein für einen Film mit 1,78.

    Wie wird die kontante Fläche definiert?

    Die sollte ja dann für alle Formate gleich groß sein, oder?

Jetzt mitmachen!

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