Beiträge von Ingo-FP-Angel

    Ansonsten hab ich gerade v1.0.3 released

    • Je nach Version des "cryptography" Python Moduls auf dem Rechner lud das Plugin gar nicht mehr
    • Wenn der Login abgelaufen war und man z.B. die Watchlist abrufen oder irgendwas abspielen wollte, gab es nur den ganz generischen Error mit Hinweis, man möge ins Log gucken. Stattdessen kommt jetzt ein Dialog, der einen auffordert, sich erneut anzumelden

    Langfristig würde ich das dann noch so ergänzen, dass man dann einfach nach dem Passwort gefragt wird, statt manuell den Login über die Addon Settings zu erneuern

    Es war doch etwas mehr Arbeit als einfach nur zwei Dateien in das Plugin reinzukopieren, aber inzwischen sollte es gehen (Testen auf meinem Linux-Hauptrechner war auch noch schwierig, weil die Standard-Python-Version zu klein ist...).

    Ich hab gerade eine Version v1.0.2 in das Kodinerds-Repo hochgeladen, die neue Plugin-ID ist "plugin.video.filmfriend.de", d.h. man kann das alte "plugin.video.filmfriend" einfach deinstallieren und dann das neue installieren. Funktional gibt es keine Änderung, außer dass man nichts händisch anpassen muss, damit die Videowiedergabe funktioniert (außer der Tatsache, dass man sich ggf. erst noch eine libwidevinecdm in .kodi/cdm legen muss).

    Edit: wäre es sinnvoll, den Namen des Plugins zu erweitern, damit man das besser von dem aus dem offiziellen Kodi Repo unterscheiden kann? Angezeigt werden einem beide im Moment als "Filmfriend.de", da könnte es sinnvoll sein, die neue Fassung als "Filmfriend.de (Kodinerds)" anzuzeigen, oder?

    Ich bin mir nicht sicher, ob ich es für eine gute Idee halte, andere Skripte, von denen ich Stand jetzt keine Ahnung habe, in das Addon zu übernehmen.

    Was bedeutet denn "leider funktioniert das Add-On da nicht" konkret, d.h. an welcher Stelle klappt denn was nicht?

    Wenn das Abspielen von Videos kein ordentliches Bild liefert (würde ich aus dem Log-Auszug herauslesen), kann man das händisch korrigieren, indem man mit Notepad folgende Datei ändert:

    C:\Users\<EigenerBenutzername>\AppData\Roaming\Kodi\addons\script.module.libmediathek4\lib\libmediathek4.py

    Das sind die Zeilen 217 und folgende. Wenn man da die zwei Vorkommnisse von "listitem.setProperty('inputstreamaddon', 'inputstream.adaptive')" durch "listitem.setProperty('inputstream', 'inputstream.adaptive')" ersetzt, sollte es gehen. D.h. das "addon" aus "inputstreamaddon" entfernen.

    Wenn Du das AddOn gestartet hast, sieht man unten links "Optionen". Wenn man da drauf geht, öffnet sich links ein Menü, wo ganz unten "Addon-Einstellungen" steht, wenn Du da drauf gehst, kommt ein Fenster, wo Du auf "Login" klickst. Dann öffnet sich eine Auswahlliste mit allen Bibliotheken, die mit Filmfriend genutzt werden können (das kann etwas dauern, da die Liste erst online abgerufen werden muss). Aus der Liste wählst Du Deine Bib aus und kannst danach Nutzername und Passwort eingeben.

    Da die derzeitige v1.0.0 des Filmfriend.de Plugin von sarbes nicht mehr funktioniert und schon beim Login Fehler schmeisst, habe mir den Quelltext geschnappt und die Fehler korrigiert und dabei gleich noch mit eingebaut, dass man auf seine persönliche Watchlist zugreifen und die dort gespeicherten Einträge gucken kann.

    Getestet habe ich es mit Kodi 20 (Nexus) auf Linux mit einem Zugang über die Hamburger Bibliothek.

    Der Pull-Request https://github.com/xbmc/repo-plugins/pull/4412 mit einem Fix für das Plugin von sarbes im offiziellen Kodi-Repo dümpelt etwas vor sich hin. Keine Ahnung, ob der irgendwann akzeptiert wird. Dort besteht aber noch das Problem, dass die Version 1.0.1 noch von "script.module.libmediathek4" abhängt, die ebenfalls nicht mehr ohne weitere Anpassungen funktioniert.

    Daher ist das Add-On ab Version 1.0.2 als "Filmfriend.de (Kodinerds)" im Kodinerds-Repo verfügbar und hat die ID "plugin.video.filmfriend.de".

    Diese Fassung läuft ohne weitere Anpassungen, ggf. muss man sich die "libwidevinecdm" noch besorgen, falls man die nicht schon für andere Add-Ons eingerichtet hatte.

    Ein Weg das zu tun ist, erst das "InputStream Helper" Add-On (Kategorie "Programm-Addons") zu installieren, und dann in den dortigen Einstellungen "Widevine CDM Bibliothek (erneut) installieren" auszuwählen.

    Aktuelle Version: v1.0.14 (13.02.2025)

    Gesamtes Changelog: https://github.com/Ingo-FP-Angel/…n/changelog.txt

    Bekannte Bugs/fehlende Funktionen: https://github.com/Ingo-FP-Angel/…riend.de/issues

    Bevor man irgendwas abspielen kann, muss man in den Addon-Settings die "Login" Funktion ausführen:

    • Land und Bibliothek auswählen
    • Username und Passwort eingeben (es sei denn, die Bibliothek bietet IP basiertes Login an und es wird keine weitere Login-Methode durch das Addon unterstützt; oftmals bei Uni-Bibliotheken der Fall)
      • Das Passwort wird nicht abgespeichert (die anderen Sachen schon), d.h. man muss es nach längerer Inaktivität wieder per Hand eingeben. Wer will, kann in der "settings.xml" noch einen "password" Eintrag manuell anlegen, dann wird das zumindest vorbelegt (man muss sich aber im Klaren sein, dass das Passwort dann im Klartext auf der Festplatte steht!)
    • bei Bibliotheken mit mehrstufigem Login wie z.B. VÖBB (Berlin) oder Nürnberg wird nach der Bibliotheksauswahl die Zustimmung zur Übertragung der Altersfreigabe eingeholt

    Thread zum Plugin im Kodi-Forum: https://forum.kodi.tv/showthread.php?tid=374894

    Quelltext: https://github.com/Ingo-FP-Angel/plugin.video.filmfriend.de

    ZIP Downloads: https://github.com/Ingo-FP-Angel/…end.de/releases (falls jemand nicht das Kodinerds-Repo benutzen möchte)

    Ok, dann werde ich wohl die Tage mal das "repo-plugins" von "xbmc" klonen und da meine Änderungen machen.

    Bin auch schon mehr oder weniger so weit, die persönliche Watchlist zu unterstützen.

    Edit: was halt leider auch nicht funktioniert, ist, das access_token zu refreshen, wenn es abgelaufen ist. Es gibt da zwar eine Funktion "_getNewToken", aber die wird nirgendwo aufgerufen und ich bin mir nicht sicher, ob die durch irgendeine Plugin-Magie automatisch aufgerufen werden sollte (z.B. wenn das Token mitten im Abspielen abläuft).

    Alles klar, es war nicht die libmediathek4, sondern eine nicht mehr aktuelle URL in jsonparser.py.

    Die getVideoUrl Methode muss ersetzt werden durch:

    Code: jsonparser.py
    def getVideoUrl(videoId):
        headers = {
            'Authorization':f'Bearer {lm4utils.getSetting("access_token")}'
        }
    
        videoInfo = requests.get(f'https://api.tenant.frontend.vod.filmwerte.de/v11/{lm4utils.getSetting("tenant")}/movies/{videoId}/uri',headers=headers).json()
        url = f'{videoInfo["mpegDash"]}'
        wvheaders = '&content-type='
        licenseserverurl = f'{videoInfo["widevineLicenseServerUri"]}|{wvheaders}|R{{SSM}}|'
        return {'media':[{'url':url, 'licenseserverurl':licenseserverurl, 'type': 'video', 'stream':'DASH'}]}

    Dann brauchte ich noch die libwidevinecdm.so und jetzt kann ich Videos von Filmfriend am PC abspielen. :)

    Für den vollen Genuss fehlt aber eine Unterstützung der Merkliste.

    Ja, das stimmt schon, allein durchs Installieren landet der Quelltext ja auf der Platte. Ich wollte eigentlich darauf hinaus, dass ich gerne ein git Repository hätte, auf dem ich aufsetzen kann. Also im Sinne von, nachhaltig dafür sorgen, dass der Fix zentral irgendwo landet.

    Den Login habe ich wieder ans Laufen bekommen. Also zumindest konnte ich den für Hamburg testen. In der Hoffnung, dass das alles so allgemeingültig ist, wie es aussieht.

    Es waren ein paar Dinge zu ändern gegenüber der 1.0.0 Version des Plugins. So sieht meine login.py jetzt aus:

    Anmelden klappt dann.

    Nur das Abspielen von Videos geht dann nicht mit einem Fehler aus dem "script.module.libmediathek4" Plugin, aber ich glaube, da hatte ich aus dem Augenwinkel gesehen, dass man das durch eine neuere Version ersetzen muss.

    Bin gerade mit einer frisch per Flatpak installierten 20.2 Version von Kodi unter opensuse 15.4 unterwegs.

    Musste erst etwas suchen, bis ich das Log unter "~/.var/app/http://tv.kodi.Kodi/data/temp/[definition='1','2']kodi.log[/definition]" gefunden hatte.

    P.S.: Aber woher weiss ich denn, welche Version des libmediathek4 funktioniert und wo ich die finde?

    Folgenden Fehler kriege ich

    Ich wollte 2019 mal ausprobieren, ob ich Kodi für filmfriend im Wohnzimmer nutzen kann. Damals hab ich eingebaut, dass man sich auch an meiner Bib in HH anmelden kann. Blöderweise ging sehr kurz drauf das Abspielen den Videos nicht mehr, d.h. ich hab das nie wirklich im Einsatz gehabt und kann auch nicht behaupten, dass ich viel von der Kodi-Plugin-Entwicklung bzw. Programmierung mit Python verstehe.

    Theoretisch könnte ich mir das Login-Problem angucken, aber ich weiss gerade nicht, wo ich den aktuellen, kompletten Quelltext herkriege.

    Auf GitHub gibts den soweit ich das sehe nicht mehr.

    Da müsstest Du mal in die Error-Log Datei vom Apache Webserver gucken. Die müsste unter /var/[definition='1','0']log[/definition]/apache2/error.[definition='1','0']log[/definition] liegen.

    Ich bin mir gerade nicht sicher, wo die Fehler von php hingeloggt werden, evtl. in eine andere Datei im Verzeichnis /var/[definition='1','0']log[/definition]/apache2

    Das wäre die ersten beiden Stellen, wo ich nachgucken würde.

    Ich selber nutze nur owncloud, nicht nextcloud, aber das sollte halbwegs ähnlich sein...

    Jedenfalls findet eine Google Suche nach "Your webserver seems to be not configured to use PHP or PHP is not installed." folgenden Treffer: https://help.nextcloud.com/t/having-troub…llation/35315/7


    Dort lag es daran, dass das Paket "libapache2-mod-php7.2" nicht installiert war.


    Ich persönlich bin ja eigentlich Fan von offiziellen Installations-Anleitungen, d.h. in dem Fall https://docs.nextcloud.com/server/16/admi…stallation.html


    Demnach müssten am Anfang folgende Pakete installiert werden

    Bash
    sudo apt-get install apache2 mariadb-server libapache2-mod-php7.2
    sudo apt-get install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring
    sudo apt-get install php7.2-intl php-imagick php7.2-xml php7.2-zip

    Vieles im politischen Kabarett ist recht zeitlos :D

    Wobei das streng genommen nicht das Politbarometer von 2006 ist, sondern so ne Art Vision, wie das in 2006 hätte aussehen können.

    Ist mir aber zunächst auch nur aufgefallen, weil Frank Lüdecke da so tierisch jung aussieht ;) Außerdem wurde da Möllemann erwähnt als Chef einer der Liberalen Splitterparteien. Der ist aber seit 2003 tot.
    Und der einfachste Hinweis: die Wahl von 2006 wurde wegen Schröders Vertrauensfrage ein Jahr vorgezogen und hat 2005 stattgefunden :D

    Daher wird das Video zeitlich eher zur Wahl 2002 entstanden sein.