Massengeschmack.tv Kodi-Add-On

Okay, ein Workaround ist nicht mehr nötigt.
Das mit meiner ID hat jetzt meinen Ehrgeiz erweckt, sodass ich mir Python nochmal näher angesehen habe und ich denke ich bin auf eine elegante Lösung gestößen:

def playVideoStream(url, name='', art=None, streamInfo=None):
    """
    Create media player and open given stream URL.

    @type url: str
    @param url: the URL of the media file
    @type name: str
    @param name: a nice human-readable name
    @type art: dict
    @param art: dictionary as expected by xbmcgui.ListItem.setArt()
    @type streamInfo: dict
    @param streamInfo: metaData for the media file
    @type streamInfo: dict
    @param: streamInfo: technical info about the stream (such as the duration or resolution)
    """

    USER                 = ADDON.getSetting('account.username')
    PWORD                = ADDON.getSetting('account.password')
    URL_CUT              = url.replace('https://massengeschmack.tv/','')
    URL_NEW              = 'https://' + USER + ':' + PWORD + '@massengeschmack.tv/' + URL_CUT
    

    listitem = xbmcgui.ListItem(name)
    listitem.setInfo('video', streamInfo)
    if art is not None:
        listitem.setArt(art)
    playlist = xbmc.PlayList(1)
    playlist.add(URL_NEW, listitem) 
    0 
    xbmc.Player().play(playlist)
    playlist.clear()

Jetzt wird nur noch der Link der eigentlichen Datei abgerufen, die man abspielen möchte.
Über die Replace Funktion konnte ich den url-String beschneiden, sodass nur der Teil hinter der Domain übrig blieb.
Damit konnte ich dann eine neue Variable erstellen mit einer URL, die auch die Benutzerdaten enthält.
Die E-Mailadresse muss weiterhin mit „–at–“ statt „@“ geschrieben werden.
Drüber installieren und Spaß haben:
https://drive.google.com/file/d/16a2Dli3jLl0fK6dDSKJWeoozPpuSI8s2/view?usp=sharing

3 „Gefällt mir“

Von mir gibt es heute ein kleines Medien-Update zum neuen Format XStream und ein aktualisiertes FanArt zu Pantoffelkino. Klickst Du, installierst Du, guggst Du! :slight_smile:
https://drive.google.com/file/d/139RIRqGFJKkLYQu5_GKuQ6iQM-pEUNS1/view?usp=sharing

1 „Gefällt mir“

Hallo @ Die_Medienmaeuse

Fehlermeldung: failed due to an invalid struktur
LibreElec 10.0.1 x86_64

Hmm, seltsam. Ich kann keinen Fehler sehen…würde mich auch etwas wundern, denn zum einen ist das xstream.json eine angepasste Kopie von wortezummontag und zum anderen habe ich das natürlich getestet - wenige Minuten bevor ich das hier postete.
Ich verwende noch das alte 2.7.2-Plugin von oben, da die aktuellen Fixes bei mir nicht funktionieren.

Bei mir ebenfalls LibreElec 10.0.1 x86_64

Ok du benutzt dieses Massengeschmack.tv Kodi-Add-On - #254 von DerRainer

Ich das letzte von McHerold
Massengeschmack.tv Kodi-Add-On - #282 von McHerold)

Alle zuvor installiert. Ich melde mich.

Ist doch schön, wenn es mehrere Versionen von etwas gibt :smiley:

Ich hatte damals nach Zugriff auf das git repository gefragt, aber leider keine Antwort bekommen.

2 „Gefällt mir“

Hi, ihr könnt gern einfach Pullrequests an das ursprüngliche Repository senden. Ich merge die gern, hab nur nicht mehr die Zeit, das aktiv zu maintainen. Wer das übernehmen will, kann auch gern direkt Zugriff bekommen.

P.S. Habe gerade noch einen gemergt, der da schon „etwas“ länger hing (sorry). Ich habe regelmäßig über 600 aktive GitHub-Benachrichtigungen. Ich versuche, das nach Repository zu sortieren und zügig zu antworten, aber manchmal verschwindet einfach was. Dann bitte einfach nochmal nachhaken.

3 „Gefällt mir“

Habe jetzt wieder das vom Rainer genommen und deines @Die_Medienmaeuse. Gleiche Fehlermeldung
„failed due to an invalid struktur“

Spielt der bei euch die Live Sendungen und die Aufzeichnungen ab?

1 „Gefällt mir“

Moinsen!
Vorhin mal auf einem anderen HTPC getestet (ist allerdings eine Kopie des anderen), aber xstream funktioniert auch dort. Das Banner fehlt, aber das Hintergrundbild ist da. Banner baue ich also noch nach.
Live-Sendungen haben wir uns bislang noch nie angeschaut. Die Aufzeichnungen dieser funktionieren mit dem „Rainer“-Build aber nicht - ich bekomme ein „502“ von MG zurückgeliefert. Hier das Log zu „Livekommentar #48“:

2022-03-04 06:31:12.571 T:718 INFO : VideoPlayer::OpenFile: http://dl.massengeschmack.tv/live/30b55061db12c400b8bdb70fc9fb57e0/6221a420/54e1b47828f0875e523a5b1b/direkt-109/ad
aptive.m3u8
2022-03-04 06:31:12.682 T:718 ERROR : CCurlFile::Stat - Failed: HTTP response code said error(22) for http://dl.massengeschmack.tv/live/30b55061db12c400b8bdb70fc9fb57e0/6221a4
20/54e1b47828f0875e523a5b1b/direkt-109/adaptive.m3u8
2022-03-04 06:31:12.684 T:1322 INFO : CPythonInvoker(46, /storage/.kodi/addons/plugin.video.massengeschmack/default.py): script successfully run
2022-03-04 06:31:12.687 T:1324 INFO : Creating InputStream
2022-03-04 06:31:12.742 T:1324 ERROR : CCurlFile::FillBuffer - Failed: HTTP returned error 502
2022-03-04 06:31:12.742 T:1324 ERROR : CCurlFile::Open failed with code 502 for http://dl.massengeschmack.tv/live/30b55061db12c400b8bdb70fc9fb57e0/6221a420/54e1b47828f0875e523a
5b1b/direkt-109/adaptive.m3u8:

Da meine HTPCs vom LAN booten bin ich also flexibel und kann beliebig deren LibreELEC-Daten auf dem Server verschieben. Ich lege für die Testkiste mal ein frisches Verzeichnis an und bügel dort das Rainer-Build neu auf.

1 „Gefällt mir“

…gerade ein frisches, leeres Verzeichnis für die Testkiste angelegt, LE hochgefahren, nur das Rainer-Build als ZIP installiert, xstream läuft. Kein Fehler im Log, nichts. Banner ist auch fertig und ins json eingetragen, will aber nicht angezeigt werden rätsel

EDIT: Banner ist jetzt da. Scheinbar etwas mit dem Cache und/oder Thumbnails von LE. Ich passe das json an und lege den Kram neu ab.

https://drive.google.com/drive/folders/1lrHbzfxMoB8_xC5kmooi2JCIMGkeEVyz?usp=sharing

2 „Gefällt mir“

Der für mich interessante Punkt ist, dass das MG-Plugin bei mir eine Art Wackelkontakt hat - mal funktioniert es - häufig nicht.
Egal welches Build.

Wenn ich raten müsste - im Kontext eurer Probleme - würde ich darauf tippen, dass das PlugIn eine Inkompatibilität mit anderen, installierten PlugIns haben könnte. :thinking:
Der ursprüngliche Programmierer hatte ja mal angemerkt, dass er das Plugin nicht ganz nach den Regeln von den KODI-Entwicklern programmiert habe…
Aber wie gesagt: Nur ein Gedankengang…

…da bin ich ganz bei Dir. Das Plugin müsste wohl mal ordentlich überarbeitet werden. Jemand mit Python-Kenntnissen hier?
Wobei: Mit Rainers Build (2.7.2) auf einem aktuellen LibreELEC/Matrix habe ich keinerlei Probleme…läuft und läuft…daher auch mein Ansatz, das neue MG-Format ins Plugin zu basteln - funktionierte halt auf Anhieb. Demnächst kommen ja noch weitere neue Formate, da werde ich auch wieder loslegen. So ein json mit Bildern ist ja in wenigen Minuten gebaut.

3 „Gefällt mir“

Jo, neue Formate einzubauen ist da nicht so schwer. Hatte ich ja auch für Paddy und Wort(e) zum Montag noch gemacht.

Bin auch kein richtiger Python-Programmierer, deswegen trau ich mich da auch nicht an grössere Änderungen.

2 „Gefällt mir“

@marti Sach ma’: Welches Skin benutzt Du in LE? Wir hamm vorhin Pantoffelkino geschaut und anschließend habe ich nochmal mein xstream getestet: Läuft weiterhin…aber dabei kam mir der Gedanke, ob Dein Problem nicht vielleicht am verwendeten Skin liegt!?
Gestern beim Testen hatte ich drei Skins im Einsatz, die keine Probleme machten: Estuary (Default), Aeon Tajo und Rapier.

1 „Gefällt mir“

Jo, neue Formate einzubauen ist da nicht so schwer. Hatte ich ja auch für Paddy und Wort(e) zum Montag noch gemacht.

…aber das war doch Kay Ray und nicht Paddy, oder? Sei’s drum, Du warst da einen Tag schneller als ich mit den beiden neuen Formaten :slight_smile:

Ich habe Aeon Nox Silvo am Start. Aber da bei Dir ein Aeon-Skin funktioniert…
Ich werde vielleicht mal zum Test auf Estuary wechseln und melde mich später…

Ne, noch anders. Kay Ray und Worte. Paddy war da schon dabei.


Die hatte ich gebastelt.

1 „Gefällt mir“

Och des ist aber nett, dass du an mein Problem gedacht hast:-) Ich habe den Skin Estuary. Ich müsste mal komplett die SSD löschen, wo Libre Elec installiert ist.

Lade die Videos jetzt über das RSS Programm Lifera direkt vom NAS herunter.

Die Live-Aufzeichnungen und die Livestream schaue ich mir auf LE mit dem Chrome Browser an. Mit dem MG Add-on funktioniert das ja nicht.

Aha xstream ist ein Addon. Schau ich mir mal an.

So - ich habe jetzt mal KODI zurück gesetzt und nur das MG-PlugIn installiert.
Mit dem Ergebnis:


…die gleiche Fehlermeldung, wie ich sie auch bei meiner normalen Installation bekomme.

Ich habe hier mal einen Auszug aus dem Log:

2022-03-05 21:32:26.790 T:11416    INFO <general>: Loading skin file: DialogConfirm.xml, load type: KEEP_IN_MEMORY
2022-03-05 21:32:26.793 T:11416    INFO <general>: CVideoPlayer::CloseFile()
2022-03-05 21:32:26.793 T:11416    INFO <general>: VideoPlayer: waiting for threads to exit
2022-03-05 21:32:26.793 T:11416    INFO <general>: VideoPlayer: finished waiting
2022-03-05 21:32:36.045 T:11532    INFO <general>: initializing python engine.
2022-03-05 21:32:36.834 T:11416    INFO <general>: VideoPlayer::OpenFile: https://USERNAME@gmx.de/dl/pasch379/51fff16228f087c21f506aa2-pasch/pasch379FULLHD.mp4
2022-03-05 21:32:36.921 T:11532    INFO <general>: CPythonInvoker(4, C:\Users\Frank\AppData\Roaming\Kodi\addons\plugin.video.massengeschmack\default.py): script successfully run
2022-03-05 21:32:36.921 T:10652    INFO <general>: Creating InputStream
2022-03-05 21:32:36.937 T:11532    INFO <general>: Python interpreter stopped
2022-03-05 21:32:37.019 T:10652   ERROR <general>: CCurlFile::Open failed with code 404 for https://USERNAME@gmx.de/dl/pasch379/51fff16228f087c21f506aa2-pasch/pasch379FULLHD.mp4:
                                                   
2022-03-05 21:32:37.100 T:10652   ERROR <general>: Skipped 1 duplicate messages..
2022-03-05 21:32:37.100 T:10652   ERROR <general>: CFileCache::XFILE::CFileCache::Open - <https://USERNAME@gmx.de/dl/pasch379/51fff16228f087c21f506aa2-pasch/pasch379FULLHD.mp4> failed to open
2022-03-05 21:32:37.100 T:10652   ERROR <general>: CVideoPlayer::OpenInputStream - error opening [https://USERNAME@gmx.de/dl/pasch379/51fff16228f087c21f506aa2-pasch/pasch379FULLHD.mp4]
2022-03-05 21:32:37.101 T:10652    INFO <general>: CVideoPlayer::OnExit()
2022-03-05 21:32:37.119 T:11416    INFO <general>: CVideoPlayer::CloseFile()
2022-03-05 21:32:37.119 T:11416    INFO <general>: VideoPlayer: waiting for threads to exit
2022-03-05 21:32:37.119 T:11416    INFO <general>: VideoPlayer: finished waiting
2022-03-05 21:32:40.882 T:11416 WARNING <general>: CGUIWindowManager - CGUIWindowManager::HandleAction - ignoring action 107, because topmost modal dialog closing animation is running
2022-03-05 21:32:44.898 T:21816    INFO <general>: Skipped 2 duplicate messages..
2022-03-05 21:32:44.898 T:21816    INFO <general>: initializing python engine.

… und bevor ihr frage: Die Login-Daten stimmen. :wink:

1 „Gefällt mir“

Ein Schrittchen bin ich weiter, weshalb das Plugin bei dem einen funktioniert, bei dem anderen nicht (und nein, in gender nicht):
Das Problem liegt bei einer verwendeten Import-Funktion in resources/lib/_ init _.py (from html.parser import HTMLParser), bzw. je nach Kodi beim der verwendeten Python-Version.
Kodi als solches (Linux, wohl auch unter Windows) verwendet das installierte/mitgelieferte Python des OS und das dürfte Python 3.9.x oder 3.10.x sein. Bei LibreElec ist es aber noch Python 3.8.x und deshalb schnurrt das Plugin hier halt problemlos - aber auch nur noch solange LibreElec eben das „alte“ Python benutzt. Besagte Import-Funktion, bzw. dessen benutzte unescape-Funktion, existiert bei Python >=3.9.x schlicht nicht mehr.

Wir brauchen also Ersatz, bzw. jemanden der zumindest ein wenig Python beherrscht und das Import/unescape umbauen kann.

2 „Gefällt mir“