Vielen Dank schon mal für Deine Unterstützung.
Momentan arbeite ich an Fixes für mein Addon aufgrund jüngster Änderungen an den Python-Bibliotheken und Amazon-Umstellungen auf DRM geschützte Songs. Im besten Fall greifen beide Themen ineinander, jedoch möchte ich erst versuchen die andere Baustelle zu schließen. D.h. es wird noch einen Moment dauern bis ich die Files zur Verfügung stellen kann.
Beiträge von spacy
-
-
Die Baustelle scheint größer zu werden...
Es gab jüngst Änderungen in den Python Bibliotheken, d.h.z.B. unter Ubuntu 18.04 verhält sich Python anders als Ubuntu 19.10 mit unterschiedlichen Fehlermeldungen. Auf jeden Fall scheint es eine verschärfte Unicode-Prüfung zu geben.
Darüber hinaus hat offensichtlich Amazon doch wieder etwas umgestellt, denn die gekauften Songs/Alben funktionieren weiterhin fehlerfrei, bei allen anderen Songs hat Amazon jetzt DRM eingeführt
...es darf ja nicht langweilig werden -
Ein erster Check ergab, dass tatsächlich schärfer geprüft wird und dies wird vermutlich mit einem kürzlichen Update von Kodi und/oder Python zusammenhängen.
Genauer gesagt übergebe ich an bestimmten Stellen 'None' und lese diesen wieder ein. In der bisherigen Verarbeitung wurde es auch als 'None', also keine Zuweisung interpretiert und daraufhin Funktionen gesteuer. Und genau das greift jetzt nicht mehr.
Dafür brauche ich mal ein paar Minuten Ruhe und muss vermutlich alle Stellen mit dieser Konstellation prüfen...vielleicht schaffe ich das noch dieses Wochenende. -
Muss ich mir mal ansehen, ich habe das gleiche Problem. Laut Fehlermeldung scheint es nichts mit Amazon zu tun zu haben. Gab es evtl. kürzlich ein Kodi-Update?
Naja, egal...es sieht zumindest nach verschärften Prüfungen aus, vielleicht sind es ja Vorboten der Python 3 Umstellung. -
'widevine' konnte ich nicht finden und ich glaube, dass der Conent gar nicht DRM geschützt ist. Das mpd-File liefert bereits alle Segmente und eine Wiedergabe mit VLC ist möglich.
D.h. ich suche eigentlich nach der richtigen Einbindung von inputstream.adaptive und des mpd-Files.Ich habe jetzt entsprechend der Anleitung das strm-File angelegt und in diesem den mpd-Link hinterlegt. Kodi meldet jetzt:
PythonERROR: Open - error probing input format, /home/<user>/.kodi/userdata/addon_data/plugin.audio.amazonmedia/strm.strm ERROR: Init: Error creating demuxer ERROR: CAudioDecoder: Unable to Init Codec while loading file /home/<user>/.kodi/userdata/addon_data/plugin.audio.amazonmedia/strm.strm
Das strm-File sieht ungefähr so aus:
Python#KODIPROP:inputstreamaddon=inputstream.mpd #KODIPROP:inputstream.adaptive.manifest_type=mpd https://<domain>/Dash.mpd?dmid=<id>&bl=48k128k256k&e=<id>&s=true&h=<id>
Edit:
Habe jetzt das mpd-File lokal liegen und im Code folgendes hinterlegt:Pythonlistitem.setProperty('inputstreamaddon', 'inputstream.adaptive') listitem.setProperty('inputstream.adaptive.manifest_type', 'mpd') listitem.setMimeType('application/dash+xml') listitem.setContentLookup(False)
...jedoch keine Änderung. Kodi mag es nicht abspielen und stürzt teilweise sogar ab...ohne Fehlermeldung.
-
Edit:
Habe den Titel aufgrund neuer Erkenntnisse geändert.Hi zusammen,
ich möchte DRM geschützten Amazon Content mit inputstream.adaptive wiedergeben, jedoch scheint mir irgendwie der letzte Schritt zu fehlen.
Das ganze findet im Kontext von meinem Addon "Amazon Media" statt mit dem Ziel "Fußball Live" künftig anbieten zu können.
Seitens Amazon erhalte ich ein mpd-File und in diesem sind mehrere Audioqualitäten als auch die "Signature" und "Key-Pair-Id" enthalten. Für die Kodi Wiedergabe steht aktuell dies bereit:Pythonli = xbmcgui.ListItem(path=song) licenseUrl= # ?!? li.setProperty('inputstreamaddon', 'inputstream.adaptive') li.setProperty('inputstream.adaptive.manifest_type', 'mpd') li.setProperty('inputstream.adaptive.license_type', 'com.widevine.alpha') li.setProperty('inputstream.adaptive.license_key', licenseUrl + '||R{SSM}|') li.setMimeType('application/dash+xml')
Als "path" ist der Link zum mpd-File hinterlegt.
Nun 'hänge' ich an der "licenseUrl" und weiß nicht so recht was ich hier anzugeben habe.
Wäre klasse wenn ihr evtl. den ein oder anderen Tipp für mich hättet. -
Sorry, da muss ich wohl passen.
Ich kenne Osmosis nicht, hatte es auch noch nie verwendet und habe auch keinen Einblick in die Funktionsweise. Das Einzige was mir auf Basis von den letzten Posts dazu einfällt ist das der Content also die Bilderchen ggf. von Amazon geschützt ist. D.h. das Osmosis vielleicht die Links zu den Bildern mal im freien Format ablegt und mal eben mit erforderlicher Authentifizierung, aber das ist wirklich nur Spekulation. -
Version 35 steht jetzt bereit. Diese beinhaltet die ersten Anpassungen an Kodi 19 / Python3 und hat darüber hinaus den aktuellen Entwicklungsstand im Bauch...auch wenn dieser (noch) nicht sichtbar ist.
Vermutlich werden für Kodi 19 noch weitere Anpassungen erforderlich sein, jedoch ist ein weiterer Test Aufgrund o.a. Fehler von Kodi 19 aktuell nicht wirklich möglich. Sollten sich jetzt Fehler eingeschlichen haben, bitte wie gewohnt wieder melden.@niog und @richyholly:
Soweit ich das verstanden habe kann ein direkter Stream der mpd-Dateien von Amazon zu Kodi nicht direkt von Kodi abgespielt werden, daher auch der Umweg über die lokale Speicherung der einzelnen Segmente. Wenn ihr hierzu eine bessere Lösung finden könntet, wäre das klasse.
Ebenso arbeite ich aktuell an der Wiedergabe von DRM-geschützen Content. Die Version 35 hat den kompletten Entwicklungsstand im Bauch, d.h. inkl. meiner Versuche mit Amazon Fußball und der damit verbundenen DRM Wiedergabe (die Menüeinträge sind auskommentiert - Zeilen 1506/1507 und ab Zeile 2221-2231 ist der Rest). Vielleicht habt ihr hierzu auch noch eine tolle Idee... -
Danke euch für den Zuspruch...bzgl. Python 3 habe ich jetzt mal das neueste Kodi Release installiert. Die ersten Fehlermeldungen konnten schnell behoben werden und dabei habe ich gesehen, dass der Code ein wenig ausgemistet werden sollte. Die weiteren Meldungen gehen tiefer...ich mache das Addon erst einmal "Python 3 ready" und auf der Basis arbeite ich an den Features weiter.
Edit:
Addon Aufruf und Amazon Anmeldung läuft bereits. Die Bibliothek "BeautifulSoup" wirft jedoch permanent Fehler und das hängt vermutlich mit dem Alpha-Status von Kodi zusammen. Wenn das Addon erneut aufgerufen wird oder auch nur ein Untermenü angezeigt werden soll, stürzt Kodi ab. Sobald "BeautifulSoup" aus der Import-Direktive entfernt wird läufts. Ich glaube da stimmt irgendeine Instanziierung noch nicht...ich werde das mal unter dem aktuellen Kodi weiter testen. -
Hi @Ronny,
ich habe mal einen "quick-and-dirty" Patch gebastelt, da ich bereits deutlich mehr Code-Änderungen in der Pipeline habe, aber damit sollte es wieder funktionieren.Grüße spacy
-
Kurzes Update:
Habe beim Testen mal wieder Anmeldeschwierigkeiten gehabt, so wie es hier im Forum auch schon des Öfteren gemeldet wurde. Ich meine eine (die?!?) Ursache identifiziert zu haben.
Amazon stellt scheinbar mind. zwei Versionen für die Anmeldung bereit. Einmal ist in der Startseite var applicationContextConfiguration = { ... } mit var appConfig = applicationContextConfiguration; window.amznMusic.appConfig = appConfig; enthalten und einmal amznMusic.appConfig = { ... }.
In der ersten Variante ist erstaunlicher Weise die "customerId": "", nicht gefüllt, in der zweiten jedoch immer.
Die "customerId" wird fast immer bei der Kommunikation mit den Amazon Servern benötigt. Vielleicht hilft das ja irgendjemanden.Sonstiger Fortschritt:
Mit dem DashManifest geht es ganz gut voran, auch wenn hierbei neue, weitere Felder vom Amazon Logon aufgenommen werden mussten. Interessant ist ein komplett neues Datenelement 'entitlementList' : [ "HAWKFIRE" ]. Woher diese Information kommt, weiß ich noch nicht...bei mir ist "HAWKFIRE" enthalten. Ob darüber hinaus weitere Einträge möglich sind wird sich zeigen müssen. Im Moment schreibe ich diesen Wert mal fest.An zwei, drei Stellen hatte der Fehlerteufel zugeschlagen, Kleinigkeiten klar, dennoch waren sie es wert behoben zu werden
Das Thema Fußball wurde noch nicht aufgegeben ( bzw. ich habe meine anfängliche Frustration überwunden
) und benötigt nach meinen Recherchen das Inputstreamer-Addon aufgrund von DRM, daran arbeite ich parallel.
Ach ja, da immer mal wieder der Punkt aufkam einen anderen Player aufgrund von mehr oder weniger häufigen kurzen Unterbrechungen zu verwenden...in meiner Umgebung (unterschiedliche Rechner) hatte ich beide Player ausgiebig getestet und konnte leichte Verbesserungen beim DVD-Player beobachten, allerdings traten auch dort Unterbrechungen auf. Gleiche Tests mit VLC hatten im Gegenzug nie Aussetzer gezeigt. Kann es daher evtl. an der Kodi-(Code-)Struktur mit den permanenten Initialisierungen zusammenhängen? D.h. Kodi fängt ja quasi immer bei Null an, wenn ein Request gefeuert wird und ein Streamingpaket (Song) besteht oftmals aus 10 Sekunden Schnipseln.
-
Also das Prime Addon konnte ich installieren, aber eine Anmeldung war mir nicht möglich. Macht aber nix...als workaround damit dieses Addon wieder lauffähig wird habe ich die Lösung vom Prime Addon übernommen. Sie erfüllt den Zweck und ist effektiv. Das gibt mir jetzt evtl. die Zeit eine andere Lösung zu finden.
getRestrictedStreamingURL wurde bisher verwendet (von Amazon für einige Bereiche abgeschaltet) und wird meiner Meinung nach nicht mehr lange "leben". getHLSManifest habe ich jetzt, wie oben beschrieben, übernommen und getDashManifestsV2 fehlt noch gänzlich.
D.h. die Playback-Funktion werde ich nach und nach dahingehend härten, dass alle drei Modi unterstützt werden. -
Hm...stimmt. Ich installiere am besten mal das Addon und checke die Funktionen. Vielleicht ergeben sich darüber neue Erkenntnisse.
-
Das Logon Problem konnte ich bei meinem Addon lösen, siehe hier. Vielleicht hilfts.
Vermutlich treten nach erfolgreichem Logon die gleichen Einschränkungen wie bei mir auf.Edit: um es konkreter zu machen...in der Logon Funktion muss wieder der folgende Code rein, dann sollte zumindest das Logon wieder fliegen.
-
Version 0.0.31 steht jetzt bereit. Mit dieser ist das Logon-Problemchen wieder gelöst, allerdings ist das Abspielen von Songs weiterhin sehr eingeschränkt.
Gekaufte Songs/Alben sollten abspielbar sein, alles andere vermutlich nicht.@niog, Danke für deine Arbeit. Chrome bietet von Haus aus bereits sehr gute Analysemöglichkeiten. Mit F12 öffnet sich die Entwicklerkonsole und man kann die Aufrufe und die Ergebnisse einsehen. Der für mich unklare Weg ist, wie man dieses Dash-Manifest sinnvoll verarbeitet. Einfach die "Initialization"-Url nehmen und Kodi geben (oder im Browser öffnen) reicht nicht. Da muss noch mehr passieren.
-
@richyholly, Unterstützung jeglicher Art ist immer willkommen
Ich hatte vor 5 Monaten keine Ahnung von Python, der Kodi-Addon-Programmierung noch von der Amazon API. Insofern halte ich es wie Pippi Langstrumpf: "Das habe ich noch nie vorher versucht, also bin ich völlig sicher, dass ich es schaffe!"Meine Recherchen gehen aktuell in folgende Richtung:
- Amazon hat jetzt den DRM Schutz aktiviert und dadurch das "Dash-Manifest" eingebaut
- Dash ist ein Industriestandard für Streaming und benötigt "Widevine"
- "Widevine" wird u.a. im "Amazon Prime Video Addon" mithilfe von "inputstreamer" verwendetWie das Ganze funktioniert und ob man "Widevine" auch direkt benutzen kann, weiß ich nicht und genau hier wäre der Aufsatzpunkt für eine mögliche Unterstützung.
Mit o.a. Erkenntnis bin ich zumindest wieder deutlich zuversichtlicher als zuvor und glaube dass das lösbar ist. -
Oh...stimmt, selbst das Logon geht nicht mehr.
Die Baustelle wird ja immer größer, d.h. einmal von vorn anfangen....reicht ja nicht, dass mein Fernseher seit heute die Amazon App nicht mehr nutzen kann.
Ok, eins nach dem anderen...jetzt schaue ich mir erst einmal das Logon an...Edit:
Den Logon Teil konnte ich schnell fixen. Amazon ist wieder zurück auf den ursprünglichen Code gegangen. Das war der einfache Teil...die Dash Thematik bereitet mir deutlich mehr Kopfzerbrechen. -
Vielen Dank für die Blumen
Wollte heute Abend wieder meine Musik genießen und siehe da Amazon hat etwas geändert und an ein Abspielen von Songs war nicht mehr zu denken. Ein erster Check offenbarte auch gleich den Mißstand...Amazon hat die API von getRestrictedStreamingURL auf getDashManifestsV2 geändert, allerdings auch die darunter liegende "Vertragskennung". Bei mir taucht jetzt z.B. "HAWKFIRE" auf was eigentlich ein "Unlimited" Vertrag wiederspiegeln sollte, den ich jedoch nicht habe.
Der zurückgelieferte Code sieht auch komplett anders aus...scheint das gleiche Abspielproblem zu werden wie beim Live-Fußball...sorry, ich befürchte, dass das länger dauern wird.
-
Macht es dann nicht mal Sinn uns die Karten zu legen? Ich meine zu prüfen, welche technischen Möglichkeiten überhaupt noch bestehen und ob eine realistische Chance besteht Amazon Video mit allen Features in Kodi zu integrieren, d.h. auch die HD/UHD Auflösungen mit entsprechendem Sound. Quasi Amazon Prime Video 2.0
Und darüber hinaus wer sich bereit erklärt daran arbeiten/mitwirken zu wollen, sei es durch Coden und/oder durch Recherchen. Ich wäre auf jeden Fall interessiert... -
Hallo @Construktor,
ich bin noch nicht umgestiegen (kannte das Angebot auch nicht). Es gibt ein 90 Tage-Gratis-Angebot und werde es in den nächsten Tagen mal ausprobieren/abschließen. Mal sehen was Amazon alles geändert hat und vor allem wie man die Details unterscheiden kann und dann kann ich versuchen das einzubauen (in der Hoffnung, dass das nicht so läuft wie beim Thema "Live Fußball")