Ich warte mal, bis es ein Update gibt. Das mit dem Token ist zwar machbar, aber im Moment finde ich keine ruhige Minute dafür
Beiträge von Musiktoto
-
-
Ich benutze diesen Converter hier [Anzeige]. Dieser ist quasi direkt hinter dem Raspberry Pi 3B und splittet das Tonsignal direkt in die Soundpar per Optical Cable.
Funktioniert 1A! -
Du musst nur die angezeigten Schritte befolgen:
Gehe auf Deinem PC oder Handy auf die angezeigte Seite! Dort loggst Du Dich mit Deinem O2 TV Login Daten ein.
Danach wird der unter 3 angezeigte Code abgefragt. Dieses auf der Seite eingeben und schon loggt sich das Waipu Addon ein. -
Noch mal vielen Dank!
Jetzt gibt es HD pur -
Ich teste es heute Abend. Bin zur Zeit noch unterwegs!
Aber schon mal vielen Dank, das Du Dich der Sache angenommen hast! -
Mir ist noch was aufgefallen:
Unter DMAX ist es die PlayUrl unter 2, die den HD Stream liefert.
Unter Pro7 MAX ist es allerdings die 3 unter der der HD-Stream geliefert wird.Das Ganze wird dann wohl doch recht kompliziert, da man mit der AllChannel die HD-Streams ermitteln müsste und unter AllChannelDynamic die entsprechenden PlayUrls...
-
Da ja dort die PlayURLs drin sind, und andere die nutzen könnten, habe ich Dir die JSON-Dateinen auf MEGA hochgeladen und Dir eine Email gesendet.
Zur Ergäzung: Unter Nummer 46 findet man DMAX und dort die 4 PlayUrls. Dabei enstricht Nr.2 "dmax_DASH_OTT-HD-TWO_D" dem HD-Stream.
Für Alle die es nicht erwarten können, gibt es folgenden Workaround:
CodeLaßt über den Creator eine Magenta.m3u Liste erstellen. Nun öffnet im Browser die Entwicklerkosole über F12. Die Bedienung der Kosole sollte hier Vorraussetzuing sein! Nun geht auf web.magentatv.de und loggt Euch ein. Auf der Entwicklerkosole könnt Ihr nun im Bereich Netzwerk den Filter "channel" eingeben. Wählt nun die Datei "https://api.prod.sngtv.magentatv.de/EPG/JSON/AllChannelDynamic" aus und schaltet auf Vorschau. Dort klickt Ihr nun die einzelnen Punkte auf: channelDynamicList, 0 ... 99, 46 (Stream von DMAX), physicalChannels, 2 Nun findet Ihr unter "playUrl" die Netzwerkadresse zum HD-Stream von DMAX. Kopiert nun die komplette https... Adresse und ersetzt diese in der Magenta.m3u Liste unter DMAX. Und schon erscheint DMAX statt in SD in HD :-) Vergesst nun nicht, das Addon MagentaTV M3U Creator in Kodi zu de-aktivieren. Sonst wird Euch beim nächsten Neustart von Kodi die Magenta.m3u wieder überschrieben!
-
Nach meinen gewonnen Erkenntnissen ist es nun so, das generell die Playurl aus der Ebene 1 genommen wird.
Bei manchen Sender gibt es aber die 4 Ebenen (0 bis 3), Um nun die richtige Playurl zu übernehmen, benötigt man eine Abfrage die prüft, ob es Ebene 2 gibt. Falls ja (true) müsste von dort die playurl übernommen werden.
Ist ebene 2 nicht verfügbar, dann müsste die playurl aus Ebene 1 übernommen werden.Die genaue Fehlermeldung kann ich gerne hier posten:
Log-DateiUnd hier die connect.py, die alle Anpassungen die im Forum erwähnt wurden, enthält. connect.py.txt
-
Ich lasse noch nicht locker!
Neuer Ansatz:
Wahrscheinlich muss die StreamUrl schon früher aussortiert werden im Code:Code
Alles anzeigendef get_channel_list(session): """Retrieve the Live TV channel list""" url = "https://api.prod.sngtv.magentatv.de/EPG/JSON/AllChannel" data = '{"channelNamespace":"12","filterlist":[{"key":"IsHide","value":"-1"}],"metaDataVer":"Channel/1.1","properties":[{"include":"/channellist/logicalChannel/contentId,/channellist/logicalChannel/name,/channellist/logicalChannel/chanNo,/channellist/logicalChannel/externalCode,/channellist/logicalChannel/categoryIds,/channellist/logicalChannel/introduce,/channellist/logicalChannel/pictures/picture/href,/channellist/logicalChannel/pictures/picture/imageType,/channellist/logicalChannel/physicalChannels/physicalChannel/mediaId,/channellist/logicalChannel/physicalChannels/physicalChannel/definition,/channellist/logicalChannel/physicalChannels/physicalChannel/externalCode,/channellist/logicalChannel/physicalChannels/physicalChannel/fileFormat","name":"logicalChannel"}],"returnSatChannel":0}' epg_cookies = session["cookies"] header.update({"X_CSRFToken": session["cookies"]["CSRFSESSION"]}) req = requests.post(url, data=data, headers=header, cookies=epg_cookies) ch_list = {i["contentId"]: {"name": i["name"], "img": i["pictures"][0]["href"]} for i in req.json()["channellist"]} request_string = "" for i in ch_list.keys(): request_string = request_string + '{"channelId":"' + i + '","type":"VIDEO_CHANNEL"},' request_string = request_string[:-1] url = "https://api.prod.sngtv.magentatv.de/EPG/JSON/AllChannelDynamic" data = '{"channelIdList":[' + request_string + '],"channelNamespace":"12","filterlist":[{"key":"IsHide","value":"-1"}],"properties":[{"include":"/channelDynamicList/logicalChannelDynamic/contentId,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/mediaId,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/playurl,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/btvBR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/btvCR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/cpvrRecBR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/cpvrRecCR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/pltvCR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/pltvBR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/irCR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/irBR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/npvrRecBR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/npvrRecCR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/npvrOnlinePlayCR,/channelDynamicList/logicalChannelDynamic/physicalChannels/physicalChannelDynamic/npvrOnlinePlayBR","name":"logicalChannelDynamic"}]}' epg_cookies = session["cookies"] header.update({"X_CSRFToken": session["cookies"]["CSRFSESSION"]}) req = requests.post(url, data=data, headers=header, cookies=epg_cookies) for i in req.json()["channelDynamicList"]: for p in i["physicalChannels"]: if ".mpd?" in p.get("playurl", ""): ch_list[i["contentId"]]["playurl"] = p["playurl"] return ch_list
So sieht die Dateistruktur aus:
Und bei DMAX gibt es 4 Einträge:
Da ja die 1 genommen wird für die StreamUrl, deshalb ist DMAX nur in SD Qualität verfügbar.
Der Code müsste nun so angepasst werden, das er auf HD Stream prüft (bei DMAX und anderen Sendern die 2). -
Schade, irgendwie geht es so auch nicht!
Wenn ich das so übernehme dann meckert er rum wegen "ch_list[i["contentId"]]["playurl"] = q["SD"]".
Lasse ich beide else Anweisungen weg, läuft das Script durch, gibt aber leider eine leere M3U-Liste aus.Meine Ideen sind hiermit ausgeschöpft. Vielleicht hat sonst noch jemand eine Idee, wie man die HD-Streams ausfiltern kann?
-
Wer kann helfen?
Ich möchte in dieser Zeile eine Abfrage mit einbauen die den Parameter "externalCode:" auf "-HD-" abfragt:Codefor i in req.json()["channelDynamicList"]: for p in i["physicalChannels"]: if ".mpd?" in p.get("playurl", ""): ch_list[i["contentId"]]["playurl"] = p["playurl"]
So wie ich das jetzt verstehe, muss ich dazu die Zeile 154 erweitern. Ein Versuch war:
Das bringt mir als Ergebnis aber nur 6 Sender.
Also müsste das Ganze ungefähr so aussehen:Aber das geht so auch nicht. Dann kommt ein Fehler!
Weiß einer wie es von der Syntax her richtig wäre? -
Da mir ja sowas keine Ruhe läßt, habe ich mal weiter herumgebastelt und habe für mich eine Lösung gefunden, was den Magenta M3U Creator angeht.
Ich habe die Abfrageschleife unter 8.2 auf 8 Durchläufe erhöht. Voher war da nur eine 3 eingetragen.Mit dieser Änderung bekomme ich wieder eine aktuelle Senderliste! *freu*
hat noch jemand das Problem, das die Streams von Nitro, Super RTL, Tele5, n-TV, WELT nur in SD wiedergeben werden können?
Alle anderen Privaten werden in 1080P und die ÖR in 720P wiedergeben.Ja, das kann ich bestätigen. Man müsste nun im Code eine Art Abfrage einbauen, die auf HD Sender prüft und dann entsprechend den Link benutzt.
Codefor i in req.json()["channelDynamicList"]: for p in i["physicalChannels"]: if ".mpd?" in p.get("playurl", ""): ch_list[i["contentId"]]["playurl"] = p["playurl"]
Wenn ich das richtig erkenne, wird in Zeile 154 auf eine Datei mit endung.mpd geprüft. Ist das true, wird die URL als Parameter playurl gespeichert. Kann mal jemand nachschauen, ob man anhand des Dateinamens in dem .mdp? vorkommt den HD Stream erkennen kann?
-
Da ich mein Passwort geändert habe, musste ich mich neu einloggen. Seit dem geht weder der Magenta M3U Creator noch das Magenta Addon.
Irgendwas muss sich da beim log-in geändert haben.Hier habe ich ein Debug-Log.
Intersannt ist wohl dieser Abschnitt hier:
Code
Alles anzeigen2022-09-09 09:56:54.581 T:727 DEBUG <general>: CGUIMediaWindow::GetDirectory (plugin://plugin.video.magentatv/) 2022-09-09 09:56:54.581 T:727 DEBUG <general>: ParentPath = [plugin://plugin.video.magentatv/] 2022-09-09 09:56:54.582 T:876 DEBUG <general>: Thread waiting start, auto delete: false 2022-09-09 09:56:54.596 T:870 DEBUG <general>: CAddonDatabase::SetLastUsed[plugin.video.magentatv] took 15 ms 2022-09-09 09:56:54.596 T:876 DEBUG <general>: StartScript - calling plugin Magenta TV('plugin://plugin.video.magentatv/','1','','resume:false') 2022-09-09 09:56:54.597 T:877 DEBUG <general>: Thread LanguageInvoker start, auto delete: false 2022-09-09 09:56:54.597 T:877 INFO <general>: initializing python engine. 2022-09-09 09:56:54.597 T:877 DEBUG <general>: CPythonInvoker(14, /storage/.kodi/addons/plugin.video.magentatv/addon.py): start processing 2022-09-09 09:56:54.656 T:877 DEBUG <general>: -->Python Interpreter Initialized<-- 2022-09-09 09:56:54.656 T:877 DEBUG <general>: 2022-09-09 09:56:54.656 T:877 DEBUG <general>: CPythonInvoker(14, /storage/.kodi/addons/plugin.video.magentatv/addon.py): the source file to load is "/storage/.kodi/addons/plugin.video.magentatv/addon.py" 2022-09-09 09:56:54.656 T:877 DEBUG <general>: CPythonInvoker(14, /storage/.kodi/addons/plugin.video.magentatv/addon.py): setting the Python path to /storage/.kodi/addons/plugin.video.magentatv:/storage/.kodi/addons/script.module.beautifulsoup4/lib:/storage/.kodi/addons/script.module.certifi/lib:/storage/.kodi/addons/script.module.chardet/lib:/storage/.kodi/addons/script.module.idna/lib:/storage/.kodi/addons/script.module.requests/lib:/storage/.kodi/addons/script.module.soupsieve/lib:/storage/.kodi/addons/script.module.urllib3/lib:/usr/lib/python38.zip:/usr/lib/python3.8:/usr/lib/python3.8/lib-dynload:/usr/lib/python3.8/site-packages 2022-09-09 09:56:54.657 T:877 DEBUG <general>: CPythonInvoker(14, /storage/.kodi/addons/plugin.video.magentatv/addon.py): entering source directory /storage/.kodi/addons/plugin.video.magentatv 2022-09-09 09:56:54.657 T:877 DEBUG <general>: CPythonInvoker(14, /storage/.kodi/addons/plugin.video.magentatv/addon.py): instantiating addon using automatically obtained id of "plugin.video.magentatv" dependent on version 3.0.0 of the xbmc.python api 2022-09-09 09:56:54.682 T:727 DEBUG <general>: ------ Window Init (DialogBusy.xml) ------ 2022-09-09 09:56:56.291 T:877 WARNING <general>: xbmc.translatePath is deprecated and might be removed in future kodi versions. Please use xbmcvfs.translatePath instead. 2022-09-09 09:56:56.295 T:877 DEBUG <CAddonSettings[plugin.video.magentatv]>: trying to load setting definitions from old format... 2022-09-09 09:56:58.373 T:877 ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! Error Type: <class 'KeyError'> Error Contents: 'caDeviceInfo' Traceback (most recent call last): File "/storage/.kodi/addons/plugin.video.magentatv/addon.py", line 88, in <module> router(sys.argv[2]) File "/storage/.kodi/addons/plugin.video.magentatv/addon.py", line 61, in router session = connect.login_process(__login, __password) File "/storage/.kodi/addons/plugin.video.magentatv/resources/lib/connect.py", line 105, in login_process session.update({"deviceId": req.json()["caDeviceInfo"][0]["VUID"]}) # DEVICE ID KeyError: 'caDeviceInfo' -->End of Python script error report<-- 2022-09-09 09:56:58.373 T:877 DEBUG <general>: onExecutionDone(14, /storage/.kodi/addons/plugin.video.magentatv/addon.py) 2022-09-09 09:56:58.415 T:727 DEBUG <general>: ------ Window Init (DialogNotification.xml) ------ 2022-09-09 09:56:58.740 T:877 DEBUG <general>: . 2022-09-09 09:56:59.509 T:877 INFO <general>: Python interpreter stopped 2022-09-09 09:56:59.510 T:877 DEBUG <general>: Thread LanguageInvoker 1369416320 terminating 2022-09-09 09:56:59.521 T:876 ERROR <general>: GetDirectory - Error getting plugin://plugin.video.magentatv/ 2022-09-09 09:56:59.521 T:876 DEBUG <general>: Thread waiting 1224450688 terminating 2022-09-09 09:56:59.564 T:727 DEBUG <general>: ------ Window Deinit (DialogBusy.xml) ------ 2022-09-09 09:56:59.565 T:727 ERROR <general>: CGUIMediaWindow::GetDirectory(plugin://plugin.video.magentatv/) failed 2022-09-09 09:56:59.565 T:727 DEBUG <general>: CGUIMediaWindow::GetDirectory () 2022-09-09 09:56:59.565 T:727 DEBUG <general>: ParentPath = [plugin://plugin.video.magentatv/] 2022-09-09 09:56:59.572 T:878 DEBUG <general>: Thread waiting start, auto delete: false 2022-09-09 09:56:59.575 T:878 DEBUG <general>: Thread waiting 1224450688 terminating 2022-09-09 09:56:59.603 T:879 DEBUG <general>: Thread BackgroundLoader start, auto delete: false 2022-09-09 09:56:59.619 T:879 DEBUG <general>: Thread BackgroundLoader 1224450688 terminating
Sollte jemand den Fehler finden, könnte man beide Addons (Magenta TV / Magenta M3U Creator) reparieren!
-
Seit einigen Tagen funktioniert der Login nicht mehr.
Gibt es denn niemandf, der sich mit der programierung auskennt und sich dem Problem mal annehmen möchte?
Ich habe leider überhaupt keine Ahnung, wie man solche Probleme angehen kann.
Ich war so glücklich, das es endlich eine Möglichkeit gab, Magenta TV unter Kodi zu verwenden! -
Das Ganze hat sich inzwischen geklärt!
Ich hatte ein Backup von Kodi eines Fire TV Stick aufgespielt, und so mit eine falsche Version des InputStream Helper installiert.
Nachdem ich das Image nochmal neu aufgespielt hatte und alles selbst neu eingerichtet habe, hat er nun auch die richtige Widevine Version installiert.P.S.: Die Hardware ist ein Raspberry Pi 3. Damit läuft Kodi viel flüssiger als auf meinem Amazon Fire TV Stick!
-
Hallo Zusammen!
Der InputStream Helper in der Version 0.5.10+matrix.1 kann Widevine auf LibreElec 10.0.2 nicht installieren, weil das Verzeichnis /usr/lib/kodi/addons/ schreibgeschützt ist.
Wie bekomme ich denn jetzt Widevine zum Laufen, damit DAZN funktioniert?
Habe mich über Google tot gesucht und nix brauchbares gefunden -
Noch mal zum eigentlichen Thema zurück!
Gibt es inzwischen eine Lösung oder einen Grund, weshalb sich Nexus nicht öffnen läßt auf dem FireTV Stick? -
@easy4me Und wenn man Dir zur Fehlersuche einen Account zur Verfügung stellen würde, könntest Du dann nachsehen?
Ich frage einfach mal höflichHab mir den Code auch mal angeschaut, aber so wirklich schaue ich nicht durch, was man denn da ändern müsste.
-
Ich bin über das zurücksetzen auf Werkseinstellungen zum Ziel gelangt.
Danach ließ sich Kodi 19.4 wieder installieren! -
Hm, das geht irgendwie auch nicht.
Die De-Installation funktioniert. Möchte ich dann aber Kodi 19.4 installieren, kommt der gleiche Fehler wieder.Ich werde jetzt mal den Stick zurück setzen auf Werkseinstellungen.