AKTUELL: V 1.0.5
Hiermit stelle ich ein Skript für Kodi bereit, welches anhand der Dateinamen (z.B. durch Nutzung des Aspect Ratio Detectors von All-Ex) Kommandos (auch mehrere) per Ethernet-Schnittstelle an einen JVC Projektor sendet. Aktuell ist die Auswertung auf den Aspect Ratio Detector[LINK]voreingestellt.
Bitte NICHT ERSCHRECKEN!!! Es ist eine "große" Anleitung", das meiste ist allerdings selbsterklärend. Das sollte euch nicht abschrecken, das Skript einfach mal zu testen. Man kann mit dem veröffentlichten Skript nichts kaputt machen. ;)
Voraussetzungen:
- JVC Projektor
- Kodi 17 (und neuer)...
- in Verbindung mit dem internen Player
- in Verbindung mit dem DS Player (nur Kodi 17)
- in Verbindung mit einem externen Player (MPC-BE) [ACHTUNG: es werden hier aber nur der Filmstart und der Filmstop erkannt]
Kurz zur Funktion:
Funktionieren sollte das Script mit JVC Geräten der Xx0- Generation bis zur Xx900-Generation und dem JVC N5, N7 und NX9. Aktuell sind Befehle für Lens-Memory, Maskierung (bei N5, N7, NX9 nicht nötig bzw funktionslos), Bildmodus (und EIN/AUS) eingefügt.
Es können z.B., je nach erkanntem Bildformat (oder auch eingegeben HDR-Strings in Dateiname/-pfad oder beidem) alle über die Schnittstelle möglichen Kommandos an den Projektor gesendet werden. Dies geschieht nach einmaliger Konfiguration in am Anfang des Skripts selbstständig beim Start einer beliebigen VIDEO-Datei. Nach Beendigung wird der Standard Bildmodus wieder angefahren.
Zur Einbindung:
DIe Zip-Datei behinhaltet drei Ordner, jeweils für Kodi17, Kodi18 und Kodi19.
Bei Kodi 17 und Kodi 18:
Der Ordner ist zu entpacken und die Dateien/Ordner gehören ins Kodi-Homeverzeichnis (bei Windows: C:/Benutzer/"(User)"/AppData/Roaming/Kodi/). Die autoexec.py gehört also in den bereits vorhandenen "Userdata"-Ordner.
Bei Kodi 19:
Ab Kodi19 wird die autoexec.py nicht mehr automatisch genutzt. Das Ausführen der Datei muss über ein Addon erfolgen:
- der Ordner "script" gehört ins Kodi-Homeverzeichnis (bei Windows: C:/Benutzer/"(User)"/AppData/Roaming/Kodi/).
- der Inhalt des Ordners "addons" (das neue Service-Addon) gehört zu den Addons in das Kodi Installationsverzeichnis (bei Windows: C:/Programme/Kodi/addons). Nach dem kopieren des Addons muss es in Kodi unter Addons auch aktiviert werden (Service.Autoexec)
Zur Konfiguration ist die Datei ist mit einem "guten" Texteditor (z.B. PSPad, Notepad+,...) zu bearbeiten. Zu beachten ist, dass Python sehr genau auf Struktur, wie z.B. die Einrückung achtet. Ist eine Zeile falsch eingerückt, dann gibts einen Fehler. Eine Einrückung besteht auf "4 Leerzeichen", zwei Einr. sind "8 Leerzeichen",...
Kurz zu der Datei:
Ab Zeile 63 ist das "Verzeichnis" mit den JVC-Befehlen erstellt, dieses kann auf Wunsch erweitert oder verändert werden. Ein Befehl besteht immer aus einem Namen und dem zugehörigen HEX-Befehl.
Ab Zeile 106 beginnt die individuelle Konfiguration...folgende Erklärung:
lässt nach der Auswertung eine Kodi-Nachricht mit den Daten der Videodatei erscheinen (oder eben nicht)
hier wird das Standard-Bildformat eingetragen (Format: '1.78','1.85', '2.20',...) welches die Leinwand hat. So wird ggf. kein Befehl an den Beamer geschickt, wenn es nicht sein muss, außerdem wird nach Beendigung des Videos auf dieses Bildformat (MUSS in 'self.PicModeSdr' hinterlegt sein) zurückgefahren.
Eintragen der eingestellten Bildwiederholrate (Standard-Oberfläche, also Windows etc.). Hatte ich Anfangs mal gebraucht, um den Sync des Beamers abzuwarten, oder eben nicht. Mit DSPlayer funktioniert die Auswertung (ein Vergleich zwischen FPS des Videos und diesem Eintrag) nicht. Kann aber nicht schaden! ;)
Hier kann die Zeit in Millisekunden angegeben werden, wann der erste Befehl nach Videostart an den Beamer gesendet werden soll. Die Befehle werden nach diesem Delay direkt nacheinander an den Projektor verschickt. Die Routine wird bei Nichtempfang eines Signals 8 mal im Abstand von 3 Sekunden versuchen, das nicht korrekt gesendete Kommando noch einmal zu schicken. Mit der Zeit kann gespielt werden, ab 5 Sekunden bekommen auch die langsamen "Sync"er auf jeden Fall alle Signale mit.
Und jetzt zu den "wichtigen Dingen":
Die IP-Adresse des JVC Projektors...!
Dort werden alle (Standard)-Bildformate beschrieben, die in den Dateien gefunden werden können. Diesen Bildformaten werden dann die gewünschten Befehle aus der JVC-Liste zugeordnet. Die Bildformate können mit Punkten, Kommas, oder gar nicht getrennt werden. Also '178' oder '1.78' oder '1,78'. Der Liste muss dann der gwünschte Befehl /die Befehle zugeordnet werden. Besipeile hab ich ja hinteregt. Bitte GROß und kleinschreibung beachten.
HDR-Optionen:
Sollte für HDR Medien eine andere Einstellung gewünscht sein (meist der Bildmodus), kann man die HDR-Erkennung einschalten.
Es kann eine der beiden oder beide Optionen aktiviert werden. Es wird dann der angegeben "HDR-String" im Dateinamen, im Pfad oder in beidem gesucht.
Wird bei Aktivierung mindestens einer der beiden Optionen die angegebene Zeichnfolge erkannt, wird anstelle der Standrad-Bildformat Liste (self.PicModeSdr['XXX']) in der self.PicModeHdr['XXX']-Liste gesucht. Sollte das Bildformat hier nicht zu finden sein, wird in der Standard-Liste gesucht (das sollte dann aber nicht passen, weil ihr da ggf. ja kein HDR-Bildmodus eingestellt habt).
Die Zeichenfolge(n), nach der für die HDR-Erkennung gesucht werden soll! Es handelt sich ab v1.0.5 um eine Liste, es können also verschiedene HDR-Strings eingetragen werden (Beispiele in der Datei).
Siehe Standard Bildmodi. Diese Modi (und damit Befehle) werden gesendet, wenn die Suche anch der HDR-Zeichenfolge eingeschaltet ist und diese gefunden wird.
WICHTIG:Es werden auch NUR Bildformate gesucht, die in diesen Listen hinterlegt sind! Sollte eine Datei ein Tag mit *AR_123* beinhalten und dieser Tag ist bei den Listen nicht aufgeführt, wird er auch nicht erkannt. Das mache ich, damit ich nicht mit evtl. Stringkombinationen in Konflikt gerate, die gar kein Seitenverhältnis darstellen sollen.
Allgemeine Probleme, Fehler oder auch Wünsche können natürlich gerne hier im Thema gepostet werden. Ich wünsche allerdings, speziell für einige Fehler, einen Log und eine Fehlerbeschreibung (z.B. wie der Fehler reproduziert werden kann).
Für das Log muss im Kodi einfach die Logging-Funktion in den Einstellungen aktiviert werden. Das Skript logt dann für mich wichtige Sachen mit. Dieses Log bitte NICHT einfach hier posten. Manche Menschen "möchten" nicht wissen, wie eure Urlaubsvideos heißen, oder was ihr euch so anschaut! ;) Die Logs bitte per PM als Datei schicken (auch Auszüge sind möglich). Ggf. muss die "kodi.log" einfach in kodi.jpg umbenannt werden, damit sie per PM vershcikt werden kann. Ich werde die Logs vertraulich behandeln und nach Einsicht löschen!
Zum Abschluss und WICHTIG: Die Nutzung des Skripts geschieht auf eigene Gefahr, ich übernehme keine Garantie für mögliche Schäden.
Und nun...viel Spaß beim nutzen! ;)