Kannst mal versuchen &playerDebug=true hinten an die URL dranzuhängen dann im Player auf Optionen > Diagnostics > Einstellungen die Qualität hochstellen. Wenn das nicht geht, dann wird die Leitung wohl nicht reichen. (Getestet mit Chrome 44)
Beiträge von luggi
-
-
Da der Stream durch JavaScript geladen wird und mittels widevine geschützt ist denke ich mal das da nicht viel mit Hardware beschleunigen gehen wird.
-
Für armhf7 gibt es einen aktuellen chrome, ja. Aber für die älteren Raspberry PIs leider nicht mehr.
-
Für Dash.js habe ich eine eigene ContentProtection für Amazon geschrieben welche wohl funktioniert,
dennoch wurde das Linux Support ausschließlich da Chrome Widevin nicht auf Linux Unterstützt. -
Sauber! Nicht schlecht. Wie viele verschiedene Hersteller von Google TVs gibt es denn? Scheint sich ja zu lohen den Traffic von solchen alten Geräten mal mitzuschneiden.
Hatte es heute bei der Wii U und dem neuen Kindle Fire HD probiert doch beide nutzen Certificate Pinning und somit ist das leider unmöglich dort.Ansonsten, wie sieht es mit der HTML5 API aus, dort wird ja für den Chrome das Widevine DRM genutzt. Auch Support für den Edge und IE11 scheinen jetzt da zu sein, also PlayReady DRM ist auch vorhanden
Hatte es lokal mal gesteste eine Widevine CENC Datei zu decrypten bin aber leider nicht weit gekommen. Das was geht ist mittels dash.js (https://github.com/Dash-Industry-Forum/dash.js/) einen eigenen Videoplayer zu nutzten, miit einem selbstgeschriebenen EME und ContentProtection. -
@Madness
It is not possible to sniff the content anymore because they are using Certificate Pinning to only allow know certificates in the chain.Sandmann79 hat eine neue funktionierende deviceTypeID gefunden. https://github.com/Sandmann79/xbm…ib/play.py#L267
Die Funktioniert erstmal wieder.
-
@lollygag
The android app is using PlayReady DRM (Microsoft) these deviceTypIds would require to use Siliverlight (moonlight on linux).
There would also be the need to implement an OAuth2 based login system to get the session token for make requests against the GetStreamingUrlSets API. -
So, habe jetzt mal versucht an einer Wii U bzw. dem Kindle Fire HD den traffic zu sniffen doch leider nutzen beide Geräte Certificate Pinning was es so gut wie unmöglich macht mit software wie mitmproxy den traffic mitzuschneiden.
Amazon fährt hier wirklich harte Geschütze auf. Das einzige was erfolgsversprechend sein könnte ist das Widevin DRM welches vom Chrome genutzt wird zu decrypten, doch das ist mir noch nicht 100% gelungen.
Für Kodi sieht es also so aus als ob wir uns mit SD Inhalt begnügen müssten.
-
HD wird wohl erstmal nichts mehr. Ich habe mal geschaut und selbst über die neue API wird für den Google TV kein HD mehr ausgeliefert. Für das Kodi Plugin wird die deviceTypeId vom Google TV verwendet.
-
Die API rückt kein HD mehr raus. das maximum ist eine Bitrate von 2000. Schade drum...
-
DRM in KODI würde bedeuten support für widevine in ffmpeg (BUG https://trac.ffmpeg.org/ticket/1793) Es scheint ein build von Samsung zu geben welches support dafür hat aber dennoch müsste dann noch ein weg gefunden werden die Lizenz zur Wiedergabe zu bekommen.
@lordk
Ja der Stream den wir nutzten ist ein h264 Stream der scheinbar exklusiv für den Google TV zur verfügung gestellt wird. Dort scheinen irgendwelche Rahmenverträge eine Rolle zu spielen, sollte dieser Auslaufen wird Amazon das so schnell wie möglich unterbinden.@Moehre
Nein ein Headless Webkit währe nicht möglich da das widevine DRM (nur im Chrome verfügbar) genutzt wird welches, selbst das abfilmen der Inhalte unterbinden kann (keine Ahnung ob das schon gemacht wird). Dieses Browser Plugin unterbindet auch die Video Wiedergabe auf nicht HDCP fähigen Monitoren. -
@Moehre
Die HTML5 Video streams werden so ohne weiteres leider nicht in KODI Funktionieren. Das Wechseln der bitrate ist zu 100% in Javascript implementiert. Eine Möglichkeit wäre natürlich (wie es auch schon gemacht wurde) den Google Chrome zu starten und mit ein paar scripts den Stream Automatisch im Vollbild modus zu starten. Das ist natürlich ungleich langsamer und würde es nötig machen auf einem raspeberry einen Window Server laufen zu haben. -
Der HTML5 Player geht im Chrome/Safari und sollte auch im IE Edge funktionieren. Es werden drei DRM Varianten im Code unterstützt Marlin (IE ???), FairPlay (für Safari) sowie Widevine (für Chrome). Diese DRM Versionen sind kompatibel mit der W3C Spec EME (http://www.w3.org/TR/encrypted-media/) dennoch verlangen sie ein Plugin des Browsers. Die meisten dieser Verfahren Arbeiten mit dem Challenge-Response-Authentifizierung (https://de.wikipedia.org/wiki/Challenge…thentifizierung)
Das dieses Add-on irgendwelche Einstellungen aus dem IE zieht ist quatsch.
Videos konnte ich bis jetzt noch nicht decrypten. Sollte aber machbar sein.
-
Bis Kodi bzw. ffmpeg support für DASH streams hat wird das sowieso nichts auf KODI. Außerdem müssten man dann noch die Lizenzen richtig nutzten die Amazon ausgibt. Ich habe es bisher hinbekommen einen Audiostream hier lokal zu decrypten mehr aber auch nicht.
-
Ja, damit bekommt man 5.1 Sound. Hier im Chrome wird die widevine license genutzt. Bin aber noch nicht dahinter gekommen wie man mit der license die man von der API bekommt nutzen kann.
Hier mal eine Beispiel definition:Code<Representation audioSamplingRate="48000" bandwidth="256000" codecs="ec-3" id="audio_eng=256000"> <AudioChannelConfiguration schemeIdUri="urn:dolby:dash:audio_channel_configuration:2011" value="F801"> </AudioChannelConfiguration> <BaseURL>4d083a7e-bf1e-45be-a71b-c56823a3297f_audio_1.mp4</BaseURL>
Das ist nach Spec dann wohl 5.1 sound (http://dashif.org/identifiers/audio-source-data/)
-
null / lordk: den htmlPlayer kann man ganz einfach aktivieren indem man ein `&playerBeta=true` an eine Amazon URL dranhängt. Diese Einstellung wird dann in der localStorage persistiert und man kann den neuen player nutzen.
Hier ein Link zum Aktivieren http://www.amazon.de/dp/B00FZ28EN8/&playerBeta=true?tag=kodinerds04-21 [Anzeige]
Als Verschlüsselung wird hier CENC benutzt und die Videos liegen in h264 vor. Man kann über die API aber folgende DRM Versionen bekommen:
PlayReady,Widevine2,WidevineAbr,WidevinePdl,NONE,FlashAccess,WMRM,Marlin,FairPlay und eben CENC.
Als streaming technologie kann "DASH,SmoothStreaming,HLS,MP4,WMV,MPEGPS,MPEGTS" gewählt werden -
@JohnDoe2991
So wie ich das hier beobachte, hat Amazon scheinbar keine andere Möglichkeit. Sie haben einen Vertrag mit Google sodass Prime auf dem Google TV funktionieren muss und dieser kann scheinbar kein DRM. Solange Amazon also den Google TV unterstützen möchte und nicht bereit ist eine neue App dafür zu schreiben (wenn die Hardware es überhaupt hergeben würde) müssen sie diese API so wie sie im Moment vorhanden ist unterstützen.Ich kann mir auch gut vorstellen, das der Google TV einfache HTTP Streams nutzt, also genau das macht was ich mit der URL mache.
Wäre Interessant den Traffic mal zu sniffen. -
-
Ja, das geht ohne Probleme.
-
Habe hier das default.zip mal hochgeladen dort drin ist ein patch.diff und die default.py die ich nutzte. Basierend auf dem Repo auf Github.
Technisch gesehen ist es sehr einfach. Amazon scheint die Videos nicht nur über RTMP zu Stream sondern auch über http, man kann so einfach über
'http://azeufms-vodfs.fplive.net/' + url[url.find('mp4:')+4:]
sich einen einfachen http stream ziehen.Das default.py kann jetzt natürlich nochmal sehr viel mehr aufgeräumt werden, denn man braucht den SWF Path nicht mehr usw.
Viel Spaß damit.