Netflix Plugin für Carola

Die Spatzen pfeifen es vermutlich schon von den Dächern, ich habe mir einen lang gehegten Traum soweit das ging erfüllt: Netflix mit Carola steuern 😀

Netflix Plugin für Carola

Es war richtig cool als Carola die eigenen Videos managen konnte, aber jetzt kann man auch Netflix basismäßig  ansteuern.Das ganze ist zwar noch ein bisschen Beta, weil die Sprachkommandos noch ein bisschen ausgefeilt werden müssen, so daß man eine Menge von sinnvollen Sätzen sagen kann ums an Ziel zu kommen, aber es geht schon ganz braucht.

Ihr könnt Euch sicher vorstellen, daß man dazu einen Browser braucht. Ich habe wie viele von euch Firefox genommen, weil der mit dem Kioskmodus genau die richtige Funktion für das satte Netflixerlebnis hat. Natürlich geht es auch im Windowmodus, aber das ist nicht die beste Wahl, weil das Plugin mit dem Wechsel zwischen Vollbild und Fenster klar kommen muß, was nicht ganz einfach ist. Es gibt auch so schon einige Hindernisse an denen das ganze „scheitert“, da müssen wir uns nicht noch mehr Ärger ins Haus holen.

Für alle Fälle gibt es im Repo auch eine Config für den Fenstermodus. Der hängt aber stark von den eingeblendeten Elementen von Firefox ab und erfordert daher sehr viel Arbeit von Euch. Ich empfehle den Kiosk zu benutzen.

Wir brauchen

Ein paar Tools brauchen wir und wenn Ihr kein X habt, sondern Wayland, braucht Ihr eh eine Alternative zum xdotool. Also: xdotool, wmctrl und sed sind Pflicht und ein eigenes Netflix Profil im Firefox macht alles sehr viel einfacher 😉 Fangen wir damit an

Terminal aufmachen
firefox –profilemanager
Neues Profil erzeugen: Netflix
mit dem Profil starten
das NetFlix 1080p Plugin installieren
das Widevine Plugin installieren
Netflix als Startseite setzen
und raus

Jetzt habt Ihr ein Problem: Firefox hat Netflix jetzt als Default Profile gespeichert. Ergo müßt Ihr jetzt wieder den firefox –profilemanager starten und das beheben! Ansonsten ist jeder Firefoxstart ein Alptraum 😉

Nehmen wir an Ihr habt das geschafft, dann braucht Ihr die Konfiguration:

app:“netflix“,“xdotool mousemove 960 540x:x/usr/bin/firefox -P netflix –kiosk –new-instance“

# you need wmctrl, grep, sed and xdotool installed to make this work.

command:“netflix|home“,“NETFLIXHOME“,““
command:“netflix|vorspulen“,“NETFLIXFORWARD“,““
command:“netflix|zurückspulen“,“NETFLIXBACKWARDS“,““
command:“netflix|meine|liste“,“NETFLIXMYLIST“,““
command:“netflix|suche“,“NETFLIXSEARCH“,““
command:“netflix|spiele“,“NETFLIXSEARCH“,““
command:“netflix|ich|will|sehen“,“NETFLIXSEARCH“,““
command:“netflix|zurück“,“NETFLIXRETURN“,““
command:“netflix|pause“,“NETFLIXPAUSE“,““
command:“netflix|abspielen“,“NETFLIXPAUSE“,““
command:“netflix|überspringen“,“NETFLIXSKIPINTRO“,““
command:“netflix|vollbild|an“,“NETFLIXFULLSCREEN“,““
command:“netflix|vollbild|aus“,“NETFLIXFULLSCREEN“,““

# WARNING: THESE VALUES NEED TO BE ADJUSTED TO YOUR PRIVATE BROWSER IN USE!!!
# FULLSCREEN KIOSK MODE

netflix:“offset“,“0″
netflix:“pos_fullscreen_on“,“1873,1020″
netflix:“pos_fullscreen_off“,“1873,1020″
netflix:“pos_mylist“,“560,36″
netflix:“pos_search“,“1728,36″
netflix:“pos_back“,“50,50″
netflix:“pos_play“,“30,1023″
netflix:“pos_backwards“,“116,1023″
netflix:“pos_forward“,“210,1023″
netflix:“pos_start“,“232,36″
netflix:“pos_firstentry“,“170,270″
netflix:“pos_miniplay“,“170,270″
netflix:“pos_emptyspace“,“1222,36″
netflix:“pos_skipintro“,“1764,915″

# PVA Kommandos zur Mauskontrolle

netflix:“windowactivate“,“/usr/share/pva/plugins/files/activatewindow.sh“
netflix:“mousemove“,“/usr/bin/xdotoolx:xmousemovex:xXXXx:xYYY“
netflix:“clickLMB“,“/usr/bin/xdotoolx:xclickx:x1″
netflix:“linefeed“,“/usr/bin/xdotoolx:xkeyx:xLinefeed“
netflix:“escape“,“/usr/bin/xdotoolx:xkeyx:xEscape“
netflix:“type“,“/usr/bin/xdotoolx:xtypex:x<TERM1>“
netflix:“pageup“,“/usr/bin/xdotoolx:xkeyx:xPage_Up“
netflix:“pagedown“,“/usr/bin/xdotoolx:xkeyx:xPage_Down“

Die grün markierten Anweisungen braucht Ihr nicht anpassen, aber die Positionsdaten könnten, je nach Schriftart und Vergrößerungsfaktor im Browser anzupassen sein. Meine gehen von 100% Zoom aus. Wenn Ihr einen 1920×1080 FullHD Monitor habt, dürfte das so passen. Ist Euer Display größer, multipliziert die Werte einfach mit dem richtigen Faktor.

Für alle, die das mit Mathe im Kopf nicht so haben, hier eine Linuxstyle Lösung:

watch -n 0.5 „xdotool getmouselocation“

Einfach in einem eigenen Fenster im Vordergrund laufen lassen, Problem gelöst 😉

Jetzt schiebt Ihr noch das Plugin, das Fensteraktivierungs-Script in den Pluginordner, aktualisiert im Server Ordner die PVA Hauptklasse und startet PVA neu : Fertig. Kompilieren aller Komponenten nicht vergessen. Das sieht dann so aus:
(dieser Abschnitt wurde aktualisiert, da sich ein Fehler eingeschlichen hatte)

$ ls -ls /usr/share/pva/plugins/files/
insgesamt 68
4 -rwxr-xr-x. 1 root root 112 9. Mär 13:00 activatewindow.sh
8 -rw-r–r–. 1 root root 4828 9. Mär 13:14 DiskFree.class
8 -rw-r–r–. 1 root root 4484 9. Mär 13:14 LoadTask.class
8 -rw-r–r–. 1 root root 7607 9. Mär 13:14 Netflix.class
4 -rw-r–r–. 1 root root 1891 9. Mär 13:14 ‚Netflix$Position.class‘
4 -rw-r–r–. 1 root root 3474 9. Mär 13:14 SpeechGuard.class

Achtet auf die Zugriffsrechte des Scripts und alles wird gut.

Carola netflix home
Carola netflix vorspulen
Carola netflix zurückspulen
Carola netflix meine liste
Carola netflix suche
Carola netflix spiele
Carola netflix zurück
Carola netflix pause
Carola netflix abspielen
Carola netflix überspringen
Carola netflix vollbild an
Carola netflix vollbild aus

Die blauen sind Synonyme weil die Netflixbuttons nur einmal vorhanden sind. Ihr könnt also mit „Pause“ auch wieder das Video starten. Vor- und Zurückspulen ist nur drin, weil die Buttons da waren, nicht weil 10 Sekunden besonders hilfreich wären 😉 „Überspringen“ bezieht sich auf die Intro bei Serien. Wenn Ihr das Timing vergeigt, hält das Video an, weil die Netflix UI das so vorsieht 🙂

Einige Befehle sind nur dann wirksam, wenn ein Video läuft. Damit Carola das weiß, muß sie es selbst gestartet haben. Damit sie weiß, daß das Playback zu ende ist, muß sie es beenden. Also gewöhnt Euch schonmal an diese Ansagen:

Carola Netflix zurück
Carola Netflix suche <hier Film einsetzen>

Falls das Steuermodul mal nicht mehr mitkommt mit Euren manuellen Klicks, einfach Carola neu starten 😉

Update:

Ich hatte gestern abend leider vergessen Euch mitzuteilen, daß PVA.java auch aktualisiert werden muß. Das wurde oben geändert.