Ich habe bei mir einen ähnlichen Ansatz implementiert und beschreibe den hier mal. Vielleicht ergeben sich daraus sinnvolle Anforderungen für dich.
Danke für die detaillierte Beschreibung! Das ähnelt meinem Beispiel weiter oben ja sehr stark. Nur stellst du sogar noch die Lautstärke anhand der Kanalanzahl ein. An sowas hatte ich bisher nicht gedacht. Wäre aber prinzipiell auch kein Problem.
Pause/Player wird bei mir übrigens beim MPC-HC über EventGhost gemacht, der mit dem Player verbunden ist und dann ein Event bekommt. Bei MPV habe ich das im LUA-Script realisiert. Solche Player-Ereignisse sind auch das Einzige, was der MovieStarter nicht abdecken würde. Dafür braucht man also eine andere Lösung.
Ich bin inzwischen ein bisschen weiter und habe mal eine Bedingung und neue Variablen implementiert. Das sieht dann z.B. so aus:
Hier sende ich z.B. das Seitenverhältnis an EventGhost, wenn es ungleich dem konfigurierten Standard ist. Und ändere die Auflösung/Refreshrate, wenn sie ungleich dem Standard ist. Für letzteres sind getrennte Aufrufe für den Start und das Ende des Films konfiguriert.
Bisher gibt es folgende Metadaten, auf die man prüfen kann:
- Seitenverhältnis
- Bildrate
- EOTF
- Auflösung
Dann gibt es folgende Operatoren: =, !=, <, <=, > und >=.
Und weiterhin kann man mit festen Werten oder mit einigen konfigurierten Werten vergleichen. Die Variablen für die Leinwand könnte ich noch hinzufügen.
Grundsätzlich könnte ich mehrere Bedingungen unterstützen, die dann mit UND/ODER verknüpft werden. Das ist natürlich etwas Aufwand. Und die Frage ist, ob das notwendig ist, denn mit EventGhost, FHEM oder OpenHAB kann man beliebig komplexe Szenarien implementieren, wenn man sich in einem Rutsch alle Metadaten schicken lässt. Also möchte ich hier auch nicht mehr Arbeit reinstecken als notwendig.