libdev macht gerade den bug-test in seiner vm
[kodi 17] plugin.amazon.prime reloaded
-
libdev -
29. Februar 2016 um 17:50 -
Erledigt
-
-
Genau, inputstream.mpd ist im offiziellen kodi repo enthalten und wird somit immer mit ausgeliefert.
Nur wenn ihr Kodi selber kompiliert, müsst ihr inputstream.mpd auch selber kompilierenD.h., wenn ich jetzt von Kodi.tv z.B. den aktuellsten Milhouse-OE-Build für den Raspi ziehe, sollte das mit dem von dir gehosteten Addon funktionieren ? Eingefügte URL´s mal vorausgesetzt ?
Dann könnte ich mir ja die ganze Kompiliererei sparen. Vor allem, weil ich gerade eh kein Linux- System laufen habe, außer dem RasPi.
Falls ein Fehler in der Denke ist, bitte korrigieren. Solange lad ich schonmal ein aktuellen Build runterlg fuenfzigccm
-
-
Ich glaub so einfach ist des nicht. Dir fehlt dann ja immer noch der decrypter, also die dll.
Die müsstest du dann mit Cmake erzeugen, wenn ichs richtig verstanden habe -
Das befürchte ich auch.
Ich finde das Addon aber auch nicht im System. Unter: /usr/lib/kodi/addons ist aber immerhin die lib zum Addon zu finden.
Da hab ich mich wohl überschwänglich zu früh gefreut.
Falls jemand ein Tipp hat, immer gerne. Auch wenn der Thread ja eigentlich nicht für DAU's gedacht istlg fuenfzigccm
-
-
Ich glaub so einfach ist des nicht. Dir fehlt dann ja immer noch der decrypter, also die dll.
Die müsstest du dann mit Cmake erzeugen, wenn ichs richtig verstanden habeZuerst: der Decrypter kompiliert nun unter Linux. @hawkeye ist informiert.
@XsupergurkeX: Richtig. inputstream.mpd kann DASH (.mpd) dateien lesen (das ist ein xml Format) und die darin angegebenen video / audio streams an kodi schicken.
Es gibt bereits viele -mpd dateien (weil ja mehr und mehr in html5 player abgebildet wird), die nicht encryptet (damit ungeschützt) sind. Die lassen sich alle so mit inputstream.mpd abspielen.Wenn es aber um geschützten Content geht, dann müssen die Streams (video / audio) decrypted werden. Es gibt einfache verfahren (du kennst einen Schlüssel und der funktioniert immer = ClearKey) aber auch komplexere Verfahren (widevine). da geht es hin und her vom Player zur widevine lib bis man endlich die streams entschlüsseln darf. Und genau diesen recht spannenden Teil erledigt das was wir hier gerade duchboxen.
Zum kodi build: inputstream.mpd hatte bis heute mittag noch probleme beim linux und osx build und es ist recht wahrscheinlich, dass es erst morgen drin ist.
-
Kompilieren lief bei mir jetzt durch, ich musste den Pfad aber noch wie im vorherigen Post in der Makefile2 auf den absoluten Pfad ändern.
Jetzt mal schauen, wie lange das kompilieren auf nem raspberry braucht. Ist das teilen der fertig kompilierten Raspberry Version denn dann erlaubt? Die libwidevine*.so muss man sich wohl selbst besorgen, da es da wohl schwierigkeiten mit dem copyright gibt, wenn man die zum Download anbietet?
Edit:
Auch auf dem Pi musste bei mir der Pfad geändert werden, kompilieren ging dann aber in ca 10 Minuten. Also machbar. Bevor ich die Version hier anhänge warte ich erstmal ab ob das teilen der kompilierten Version ok ist. -
-
Kompilieren lief bei mir jetzt durch, ich musste den Pfad aber noch wie im vorherigen Post in der Makefile2 auf den absoluten Pfad ändern.
Jetzt mal schauen, wie lange das kompilieren auf nem raspberry braucht. Ist das teilen der fertig kompilierten Raspberry Version denn dann erlaubt? Die libwidevine*.so muss man sich wohl selbst besorgen, da es da wohl schwierigkeiten mit dem copyright gibt, wenn man die zum Download anbietet?
Edit:
Auch auf dem Pi musste bei mir der Pfad geändert werden, kompilieren ging dann aber in ca 10 Minuten. Also machbar. Bevor ich die Version hier anhänge warte ich erstmal ab ob das teilen der kompilierten Version ok ist.Stand ist:
- inputstream.mpd ist noch nicht im nightly build von heute - daher müssen wir noch warten
- libwidevine würde ich auch nicht verteilen.
- alles andere ist openSource, daher seh ich hier keine Bedenken, das zu verteilen.
- es geht wohl nur mit cmake im build ordner, wenn man windows .sln macht, alles andere muss in der Tat im Ordner gemacht werden, in dem die CmakeLists.txt liegt. Schau ich mir aber nochmal an... -
Ich habe nochmal ein bisschen geforscht, am Besten lassen wir das Thema hier erst einmal ruhen, bis inputstream.mpd korrekt ausgeliefert wird.
Für binäre addons (zu denen auch inputstream.mpd gehört) sind wohl Konzeptanpassungen für die Installation im Gange (es soll einfacher werden, juhu!).Für Entwickler, die Kodi selber kompilieren, ist es heute schon ohne Weiteres möglich, das Addon zu erstellen (xbmc/docs/Readme.linux, da gibt es eine Sektion die erklärt wie man binäre addons kompiliert, das funktioniert auch mit inputstream.mpd so, also theoretisch ist das nur ein einziger make Aufruf).
Für Nicht Entwickler ist das erstmal zu viel Gewurschtel.
Ich verfolge einfach mal wie es da so weitergeht bei kodi - wenn es etwas Neues gibt, lasse ich euch das wissen.
Bauchgefühl: Das addon wird zuerst kompiliert im win32 nightly build enthalten sein - wenn das so ist, stelle ich gerne die decryper dll für win32 hier zur Verfügung.Soweit!
-
-
Ich bin wirklich begeistert von den schnellen Fortschritten hier
Zwar werde ich mehr oder weniger zwangsweise wohl bis zu einer Final von Krypton warten müssen, bis ich das ganze nutzen kann... aber allein schon die Aussicht, dass mit den richtigen Plugins (die ja teilweise schon in Arbeit sind) dann Amazon Prime Video und die TVNow Mediatheken vermutlich auch wieder voll unter Kodi supportet werden können macht mich ganz heiß auf Krypton..
Ich denke, wenn es eine vorkompilierte Version des decrypters gibt werde ich mir mal eine meiner nicht-Kodi Maschinen schnappen und dort die Nightly installieren zum rumspielen...
-
libdev:
ich hätte mal rein interessehalber eine frage: wird die bildqualität so wie im browser dynamisch seitens amazon in abhängigkeit der verhandenen bandbreite angepasst oder kann man die qualität so wie im "alten" addon vorab festlegen/erzwingen?Der ist mir gestern im Eifer des gefechts untergegangen....
Es ist (wird) wesentlich dynamischer, aber auch fest erzwingbar (ist aber nicht mein part, sondern der Part vom inputstream.mpd Entwickler):
So wie ich das gesehen habe, ist für adaptives Bitrateswitching alles vorbereitet, laut Readme Datei jedoch noch nicht aktiviert.
Zusätzlich sind wohl Entwicklungen im gange, dass zus. zur Bandbreite auch die darstellbare Fenstergrößer herangezogen wird.Im Klartext:
- Ja, es wird (wohl bald??) die Bandbreite herangezogen (ich habe das schon mal simuluíert getestet und das ist schon ziemlich geil)
- Bei Größenänderungen der Fenster wird auch automatisch den bestmögliche Stream gewählt.
- Es können MinimalBandbreite / Maximalbandbreite angegeben werden, um bei starken Schwankungen trotzdem ein gewisses Maß beizubehalten (oder dem Rest der Familie was übrig zu lassen).Kodi ist durch die Entwicklungen der letzten Wochen (Interface / inputstream / decrypter) damit quasi ein vollwertiger HTML5 Player.
-
-
Zitat von Libdev
Bauchgefühl: Das addon wird zuerst kompiliert im win32 nightly build
enthalten sein - wenn das so ist, stelle ich gerne die decryper dll für
win32 hier zur Verfügung.Die nightly Builds werden ja (auch für Linux / ARM) beinahe Täglich aktualisiert, wirst du den passenden decrypter auch (kompilliert) zur Verfügung stellen?
Und ich verstehe das mit dieser libwidevine nicht so ganz, die ist ja auch erst seit kurzem in deiner Repo.
Also als nicht Entwickler sollte ich:
-Auf die Nightly mit integriertem inputstream.mpd warten
-Auf eine kompillierte Decrypter DLL warten (Läuft auf Linux / ARM die gleiche DLL wie auf Windows, oder überhaupt eine DLL?)
-Die DLL in den Decrypter Ordner vom (dann im Kodi integriertem) inputstream Addon packen
-Das Amazon Addon von deiner Repo ziehen
-Mich dran aufgeilen, dass ich wieder konvortabel Amazon schauen kannHab ich das so richtig verstanden, oder ist da irgendwo ein Denkfehler, oder wofür liegt ibwidevine in deiner Repo?
Und danke, dass du dir die mühe machst, und uns hier immer auf dem neuesten Stand der Dinge hälst
Edit: Ich glaub ich habs schon begriffen. Das Wvstream in deiner Repo ist der unkompillierte Decrypter, eigentlich selbst erklärend, wenn man kurz nachdenkt
-
Und ich verstehe das mit dieser libwidevine nicht so ganz, die ist ja auch erst seit kurzem in deiner Repo.
Also als nicht Entwickler sollte ich:
-Auf die Nightly mit integriertem inputstream.mpd warten
-Auf eine kompillierte Decrypter DLL warten (Läuft auf Linux / ARM die gleiche DLL wie auf Windows, oder überhaupt eine DLL?)
-Die DLL in den Decrypter Ordner vom (dann im Kodi integriertem) inputstream Addon packen
-Das Amazon Addon von deiner Repo ziehen
-Mich dran aufgeilen, dass ich wieder konvortabel Amazon schauen kannIch hoffe nicht, dass die libwidevine in meinem repo liegt! Wo hast du die denn gesehen??
Ansonsten stimmen deine Punkte, zusätzlich:
- Es werden noch einige addons wie plugin.amazon.prime kommen. Du brauchst die Decrypter Sachen dann nicht mehr nochmal machen.
mit inputstream.mpd und den decrypter hast du nun erstmal quasi einen html5 player - die "webseiten" = addons dafür müssen nun entwickelt werden.
plugin.amazon.prime ist der Anfang.- dll ist eine kompilierte shared library (unter linux enden die mit .so). es wird für jedes system eine eigene geben (anders gebaut).
Es gibt aber bereits nette User hier im Bunde, die das Verfahren deutlich vereinfachen werden. -
-
Sry, ich hab mich vertan, dachte die libwidevine gesehen zu haben, war aber nur in einem Post hier, und nicht in deiner Repo.
was ich meinte war das Wvstream, was ja der Decrypter sein wird. Ich hab das was durcheinander gebracht.Das sind ja mal gute Zukunftsaussichten
-
Bezüglich der libwidevine.
Muss diese Gerätspezifisch oder Betriebssystemspezifisch sein ?
In dem anderen Amazon- Thread haben wir die libwidevine.so und die ...adapter.so ja aus einem aktuellen Chromium-Build für arm genommen.
Wären diese dann für das Vorhaben kompatibel oder wo kriegt man die ggf. her ?lg fuenfzigccm
-
-
was ich meinte war das Wvstream, was ja der Decrypter sein wird. Ich hab das was durcheinander gebracht.
Ich mal bei gelegenheit ein Bild, sagt ja manchmal mehr als tausend worte - ich muss ja gestehen, dass die Zusammenhänge nicht soooo einfach sind.
-
Wären diese dann für das Vorhaben kompatibel oder wo kriegt man die ggf. her ?
die _adapter braucht nur chrome/chromium, das Projekt hier nicht.
Aber ja, es ist genauso wie du sagst - von dieser libwidevine reden wir. -
-
Also das kompilieren hat bei mir jetzt geklappt (hatte mir gestern abend noch Kodi kompiliert, hab aber die binary addons übersehen)
Ich bekomme nun aber Fehlermeldungen (kann aber sein das das damit zusammenhängt, dass ich momentan keinen echten Prime Account habe, bin nur übers Family Sharing eingeladen)
Geht das Plugin nur mit Accounts die vollen Zugriff haben? Ich wollte es gerade mit einer Pilot Folge der Amazon Originals testen, die kann ja eigentlich jeder gucken.
Bis Zeile 21 sieht auf den ersten Blick alles gut aus, auch die URL zur Serie stimmt, dann kommt ein Timeout. Ich müsste es nochmal mit einem Account testen der den vollen Zugriff auf instant video hat, oder sollten die frei verfügbaren Videos gehen?
Code
Alles anzeigen13:01:12 T:140366762202880 DEBUG: GetImageHash - unable to stat url /home/a/.kodi/userdata/addon_data/plugin.video.prime_instant/cache/fanart/B017AS8AY2.jpg 13:01:12 T:140366762202880 DEBUG: GetImageHash - unable to stat url /home/a/.kodi/userdata/addon_data/plugin.video.prime_instant/cache/fanart/B017AS7Y08.jpg 13:01:12 T:140366762202880 DEBUG: GetImageHash - unable to stat url /home/a/.kodi/userdata/addon_data/plugin.video.prime_instant/cache/fanart/B017E0D5U0.jpg 13:01:12 T:140366762202880 DEBUG: GetImageHash - unable to stat url /home/a/.kodi/userdata/addon_data/plugin.video.prime_instant/cache/fanart/B017AS7Y08.jpg 13:01:13 T:140368621074560 DEBUG: ------ Window Deinit (Pointer.xml) ------ 13:01:13 T:140368621074560 DEBUG: ProcessMouse: trying mouse action leftclick 13:01:13 T:140368621074560 DEBUG: CGUIMediaWindow::GetDirectory (plugin://plugin.video.prime_instant/?mode=listSeasons&name=Highston&showAll=true&thumb&url=B017AS7Y08) 13:01:13 T:140368621074560 DEBUG: ParentPath = [plugin://plugin.video.prime_instant/?mode=listOriginals&thumb&url&videoType] 13:01:13 T:140368142841600 DEBUG: Thread JobWorker start, auto delete: true 13:01:13 T:140368142841600 DEBUG: StartScript - calling plugin Amazon Prime Instant Video('plugin://plugin.video.prime_instant/','11','?mode=listSeasons&name=Highston&showAll=true&thumb&url=B017AS7Y08') 13:01:13 T:140368142841600 DEBUG: WaitOnScriptResult - waiting on the Amazon Prime Instant Video (id=18) plugin... 13:01:13 T:140367427237632 DEBUG: Thread LanguageInvoker start, auto delete: false 13:01:13 T:140367427237632 INFO: initializing python engine. 13:01:13 T:140367427237632 DEBUG: CPythonInvoker(18, /home/a/.kodi/addons/plugin.video.prime_instant-master/default.py): start processing 13:01:13 T:140367427237632 DEBUG: -->Python Interpreter Initialized<-- 13:01:13 T:140367427237632 DEBUG: CPythonInvoker(18, /home/a/.kodi/addons/plugin.video.prime_instant-master/default.py): the source file to load is "/home/a/.kodi/addons/plugin.video.prime_instant-master/default.py" 13:01:13 T:140367427237632 DEBUG: CPythonInvoker(18, /home/a/.kodi/addons/plugin.video.prime_instant-master/default.py): setting the Python path to /home/a/.kodi/addons/plugin.video.prime_instant-master:/home/a/.kodi/addons/script.module.mechanize/lib:/usr/lib/python27.zip:/usr/lib/python2.7:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/lib/python2.7/site-packages:/usr/lib/python2.7/site-packages/PIL:/usr/lib/python2.7/site-packages/gtk-2.0:/usr/lib/python2.7/site-packages/wx-3.0-gtk2 13:01:13 T:140367427237632 DEBUG: CPythonInvoker(18, /home/a/.kodi/addons/plugin.video.prime_instant-master/default.py): entering source directory /home/a/.kodi/addons/plugin.video.prime_instant-master 13:01:13 T:140367427237632 DEBUG: CPythonInvoker(18, /home/a/.kodi/addons/plugin.video.prime_instant-master/default.py): instantiating addon using automatically obtained id of "plugin.video.prime_instant" dependent on version 2.1.0 of the xbmc.python api 13:01:13 T:140366762202880 DEBUG: CAddonDatabase::SetLastUsed[plugin.video.prime_instant] took 26 ms 13:01:13 T:140367427237632 DEBUG: http://www.amazon.de/gp/product/B017AS7Y08 13:01:14 T:140368621074560 DEBUG: ------ Window Init (DialogBusy.xml) ------ 13:01:14 T:140368621074560 DEBUG: Window DialogBusy.xml was already loaded 13:01:14 T:140368621074560 DEBUG: Alloc resources: 0.09ms 13:01:16 T:140368621074560 DEBUG: Keyboard: scancode: 0x40, sym: 0x0134, unicode: 0x0000, modifier: 0x100 13:01:16 T:140368621074560 DEBUG: OnKey: alt-long-leftalt (0x104f0d4) pressed, action is 13:01:35 T:140368621074560 DEBUG: ------ Window Init (Pointer.xml) ------ 13:01:40 T:140368621074560 DEBUG: Keyboard: scancode: 0x40, sym: 0x0134, unicode: 0x0000, modifier: 0x100 13:01:40 T:140368621074560 DEBUG: OnKey: alt-long-leftalt (0x104f0d4) pressed, action is 13:01:40 T:140368621074560 DEBUG: ------ Window Deinit (Pointer.xml) ------ 13:01:43 T:140366762202880 DEBUG: Thread JobWorker 140366762202880 terminating (autodelete) 13:01:45 T:140367427237632 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! Error Type: <class 'socket.timeout'> Error Contents: timed out Traceback (most recent call last): File "/home/a/.kodi/addons/plugin.video.prime_instant-master/default.py", line 1297, in <module> listSeasons(name, url, thumb, showAll=showAllSeasons) File "/home/a/.kodi/addons/plugin.video.prime_instant-master/default.py", line 594, in listSeasons content = getUnicodePage(urlMain+"/gp/product/"+seriesID) File "/home/a/.kodi/addons/plugin.video.prime_instant-master/default.py", line 842, in getUnicodePage content = unicode(req.read(), encoding) File "/usr/lib/python2.7/socket.py", line 355, in read data = self._sock.recv(rbufsize) File "/usr/lib/python2.7/httplib.py", line 588, in read return self._read_chunked(amt) File "/usr/lib/python2.7/httplib.py", line 652, in _read_chunked value.append(self._safe_read(amt)) File "/usr/lib/python2.7/httplib.py", line 703, in _safe_read chunk = self.fp.read(min(amt, MAXAMOUNT)) File "/usr/lib/python2.7/socket.py", line 384, in read data = self._sock.recv(left) timeout: timed out -->End of Python script error report<-- 13:01:45 T:140368621074560 DEBUG: ------ Window Init (DialogNotification.xml) ------ 13:01:45 T:140368621074560 DEBUG: Window DialogNotification.xml was already loaded 13:01:45 T:140368621074560 DEBUG: Alloc resources: 0.00ms 13:01:45 T:140368164091648 INFO: CActiveAESink::OpenSink - initialize sink 13:01:45 T:140368164091648 DEBUG: CActiveAESink::OpenSink - trying to open device PULSE:Default 13:01:45 T:140368164091648 DEBUG: PulseAudio: Context authorizing 13:01:45 T:140368164091648 DEBUG: PulseAudio: Context setting name 13:01:45 T:140368164091648 DEBUG: PulseAudio: Context ready 13:01:45 T:140368164091648 DEBUG: PulseAudio: Stream ready 13:01:45 T:140368164091648 NOTICE: PulseAudio: Opened device Default in pcm mode with Buffersize 150 ms 13:01:45 T:140368164091648 DEBUG: CActiveAESink::OpenSink - PULSE Initialized: 13:01:45 T:140368164091648 DEBUG: Output Device : Default 13:01:45 T:140368164091648 DEBUG: Sample Rate : 44100 13:01:45 T:140368164091648 DEBUG: Sample Format : AE_FMT_FLOAT 13:01:45 T:140368164091648 DEBUG: Channel Count : 2 13:01:45 T:140368164091648 DEBUG: Channel Layout: FL,FR 13:01:45 T:140368164091648 DEBUG: Frames : 2205 13:01:45 T:140368164091648 DEBUG: Frame Size : 8 13:01:45 T:140367427237632 INFO: Python script stopped 13:01:45 T:140367427237632 DEBUG: Thread LanguageInvoker 140367427237632 terminating 13:01:45 T:140368142841600 DEBUG: WaitOnScriptResult - plugin exited prematurely - terminating 13:01:45 T:140368621074560 ERROR: GetDirectory - Error getting plugin://plugin.video.prime_instant/?mode=listSeasons&name=Highston&showAll=true&thumb&url=B017AS7Y08 13:01:45 T:140368621074560 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.prime_instant/?mode=listSeasons&name=Highston&showAll=true&thumb&url=B017AS7Y08) failed 13:01:45 T:140368621074560 DEBUG: CGUIMediaWindow::GetDirectory (plugin://plugin.video.prime_instant/?mode=listOriginals&thumb&url&videoType) 13:01:45 T:140368621074560 DEBUG: ParentPath = [plugin://plugin.video.prime_instant/?mode=browseTV&thumb&url&videoType] 13:01:45 T:140368621074560 DEBUG: Loading items: 12, directory: plugin://plugin.video.prime_instant/?mode=listOriginals&thumb&url&videoType sort method: 0, ascending: false 13:01:45 T:140367427237632 DEBUG: Thread BackgroundLoader start, auto delete: false 13:01:45 T:140368142841600 DEBUG: CAddonDatabase::SetLastUsed[plugin.video.prime_instant] took 17 ms 13:01:45 T:140367427237632 DEBUG: Thread BackgroundLoader 140367427237632 terminating 13:01:45 T:140368621074560 DEBUG: ------ Window Deinit (DialogBusy.xml) ------ 13:01:47 T:140368621074560 DEBUG: Keyboard: scancode: 0x40, sym: 0x0134, unicode: 0x0000, modifier: 0x100 13:01:47 T:140368621074560 DEBUG: OnKey: alt-long-leftalt (0x104f0d4) pressed, action is 13:01:50 T:140368621074560 DEBUG: ------ Window Deinit (DialogNotification.xml) ------ 13:02:15 T:140368142841600 DEBUG: Thread JobWorker 140368142841600 terminating (autodelete) 13:04:47 T:140368621074560 DEBUG: CAnnouncementManager - Announcement: OnScreensaverActivated from xbmc 13:04:47 T:140368621074560 DEBUG: GOT ANNOUNCEMENT, type: 4, from xbmc, message OnScreensaverActivated 13:04:47 T:140368621074560 DEBUG: ------ Window Init () ------ 13:04:47 T:140368621074560 DEBUG: Alloc resources: 0.00ms (0.00 ms skin load)
-
@blubbblubb würde es dir was ausmachen, die kompillierten decrypter zu uppen?
Dann wäre ich schon soweit startklar für den nightly Release mit der inputstream.mpd -
-
1.) Ich kann nur ganz wenig support im plugin geben, da python nicht mein zu Hause ist
2.) Bauchgefühl: Das plugin kommt aus einem repo von xlordkx. Wenn man aus dem repo installiert, werden wohl auch Abhängigkeiten für python mitinstalliert.
Wenn man das plugin so nimmt wie in meinem repo, fehlen diese abhängigkeiten. Muss ich mich wohl auch mal mit beschäftigen Danke für den Tipp.Abhilfe: repository von xlordkx installieren, dann das prime addon.
Danach prime addon deinstallieren, und das aus meinem repo installieren.Edit: ne, du bist ja schon weiter gekommen...
Was hast du denn schon gesehen? Login OK? Danndie Liste mit Filme / Serie?? -
Probier doch bitte erstmal "Filme" "Beliebt" oder "Serien" beliebt. Damit teste ich immer
-
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!