...nicht mehr lauffähig... Amazon Prime Instant Video (US/UK/DE)

  • also ich hab aus dem out/Release ordner ein tar.gz archive gemacht

    piet: Habe ich genauso gemacht. Und auch mit no-sandbox gestartet. Ich bekomme da allerdings dann oben im Browser einen gelben Balken
    "You are using an unsupported command-line flag: --no-sandbox. Stability and security will suffer" Bekommst Du das auch?
    Ich starte den Browser im Entpack-Verzeichnis mit ./chrome --no-sandbox
    In den Plugins habe ich internal-nacl-plugin und Chromium PDF Viewer. Aber kein widevine. Obwohl die Libs auch im Release-Ordner schlummern.
    Bei mir heißen die libs libwidevinecdmadapter.so und libwidevinecdm.so 117k bzw. 4,9M

    @peak: Könntest Du mir die ganze Commandozeile des ninja-befehls schreiben und welche Dateien bzw. Verzeichnisse Du dann auf die Runtime-Maschine legst?

  • chromium-browser --use-gl=egl --gpu-no-context-lost --user-agent="Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"

    Die erstgenannten parameter sind zum aktivieren der H/W beschleunigung (GLES und 2DCanvas), ob die beim RPI erforderlich sind weiss ich nicht

    17680 Okt 31 21:37 chrome-sandbox* habe ich wie gesagt selbst gebaut mit dem ninja befehl wie beim chrome bauen halt nur chrome_sandboc anstelle chrome.

    5122508 Okt 31 21:44 libwidevinecdm.so ist deutlich fetter als deine - ich muss dazu sagen, dass ich mind. 4 Tage x versch. Versionen geprüft habe, bis ich diese hatte (und ich weiss nicht mehr wo die hier herkommt).
    Die Dateigröße deiner Datei lässt mich vermuten, dass sie nur funktioniert, wenn du das pepperflash plugin ebenfalls installierst (mit installieren meine ich auch einfach in den Ordner legen) und irgendwelche argumente beim Start mit übergeben - das findest du aber in google recht flott.

    Aber: bist du sicher, dass du enable-widevine=1 wirklich in den buld GYPT Parametern angegeben hast?
    Haat dein build die libwidevinecdmadapter.so erzeugt?

  • zu meinen ergebnissen:

    hab den chromium mit imx6 video beschleunigung jetzt soweit am laufen, dass man SD-videos in vernünftiger qualität abspielen kann.

    Ist bei deinem System denn unter chrome://gpu 2D Canvas auf H/W acceleration?
    So wie ich den source gelesen habe wird unter linux by default gesagt dass der context verloren gehen kann.

    --gpu-no-context-lost hebt das auf und gerade 2DCanvas h/w hat bei mir einen recht grossen Unterschied gemacht....

  • also meine libwidevinecdm.so ist auch 4.9 M groß, ich hab kein pepper flash aktiv und mit der geht es.

    @peak:
    bei mir ist 2d canvas nicht hw-beschleinigt, allerdings video und einige anndere punkte. starte chromium auch mit --use-gl=egl da die imx6 hw beschleunigung nur egl unterstützt.
    hast du bei dir mal versucht serien in HD abzuspielen? zumindest ein paar (big bang theorie) funktionieren auch ohne hdcp, sin bei mir aber so stotternd in HD, das der player gleich wieder in SD zurück schaltet.
    auch mit dem --gpu-no-context-lost parameter ist in HD keine besserung :(

    update:
    bei mir läuft in der chromium version, bei der ich zusätzlich noch die imx6 hw beschleunigung reingepatched habe laut chromium graphics features alles bis auf "canvas 2d" und "rasterization" mit hw-beschleunigung. hab gerade aber festgestellt, dass die nicht mit dem imx6 gepatchte chromium version auch die SD videos in brauchbarer qualität abspielt, in der version wird bei den graphics features dann auch das feature "video decode" nicht mit hw-beschleunigung angezeigt. versteh grad nicht, was da bei der hw-beschleunigung nicht klappt....

    Einmal editiert, zuletzt von piet (11. November 2015 um 19:58)

  • ohne gefakten user agent geht bei mir gar nix.
    Welche chromium version nehmt ihr denn? Ich habe den aktuellen Entwicklungsstand genommen (48.x oder so)

    Mein orginaler User Agent ist:
    "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2551.0 Safari/537.36"
    Wenn ich das richtig sehe, wird der interne Flash Player damit verwendet, und nicht HTML5.

    Ich habe in der Serie auch erstmal HD, plötlich ist HD dann aber weg und nicht mehr herstellbar bis ich die Browserdaten gelöscht habe.

    Chromium zeigt einen recht merkwürdigen [definition='1','0']log[/definition] output:

    ** Message: Remote error from secret service: org.freedesktop.Secret.Error.IsLocked: Cannot get secret of a locked object[3834:3873:1111/210513:ERROR:native_backend_libsecret.cc(599)] Unable to load secret itemCannot get secret of a locked object

    Und ich meine, dass dies der Zeitpunkt ist, bei dem aus HD SD wird.
    Seht ihr diesen [definition='1','0']log[/definition] Output ebenfalls?

    Einmal editiert, zuletzt von peak3d (11. November 2015 um 21:26)

  • chromium ist bei mir auch aktueller entwicklungsstand.

    wenn du auf auto gehst, schaltet es auf HD wenn deine inet-bandbreite ausreicht, und dein rechner leistungstechnisch damit klar kommt...

    bei mir schaltet er dann kurz auf HD (zu erkennen am weißen HD symbol unten links in der player steuerungs-leiste) stottert dann arg, und schaltet dann wieder auf SD (zu erkennen am grauen HD symbol unten links in der player steuerungs-leiste) und auch an der qualität des bildes merkt man den unterschied.

  • Aber: bist du sicher, dass du enable-widevine=1 wirklich in den buld GYPT Parametern angegeben hast?
    Haat dein build die libwidevinecdmadapter.so erzeugt?

    Meine GYP_DEFINES sehen so aus:
    GYP_DEFINES="target_arch=arm arm_float_abi=hard component=shared_library linux_use_gold_flags=1 ffmpeg_branding='Chrome' proprietary_codecs=1 enable_pepper_cdms=1 enable_webrtc=1"
    Es gibt während des Compilierens verschiedene Fehler in Bezug auf Widevine. Einer ist, dass er die .so vermisst. Ich habe dann beide (libwidevinecdmadapter.so und libwidevinecdm.so) in den Release-Ordner gelegt. Dann ist der Compiler durchgelaufen. Ich habe nun keinen Parameter enable-widevine=1 drin. Ich dachte, das ist mit proprietary_codecs=1 abgedeckt

    Die Dateigröße deiner Datei lässt mich vermuten, dass sie nur funktioniert, wenn du das pepperflash plugin ebenfalls installierst

    Das probiere ich mal aus.

    @peak, piet: Was habt Ihr mit der Version gemacht? In der Datei widevine_version.h (oder so) wirid gequatscht von wegen dass die Version 4 Teile hat. Ist ja im Kommentar an der Stelle auch ein Beispiel gegeben. Ist aber Käse, wei die Konstante ja ein int ist. Habt Ihr die Version dann ohne Punkte reingeschrieben?

  • @Ceres
    in der widevine_cdm_version.h steht im kommentar drin

    Code
    //  - WIDEVINE_CDM_AVAILABLE (to indicate availability), and
    //  - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available
    //    as a string, e.g., "1.0.123.456").


    du solltest in der datei also eintragen z.b.:

    Code
    #define WIDEVINE_CDM_AVAILABLE
    #define WIDEVINE_CDM_VERSION_STRING "1.0.123.456"
  • Ich hatte das auch erst so wie piet gefaked. Brauchte ich aber (fast) nicht.
    - mit --enable-widevine wird der adapter gebaut
    - es gab Kompilierungsfehler, dass die widevine Version nicht definiert ist, das habe ich an der Stelle dann behoben.
    ich denke aber, dass entweder ein GYP Define oder ein set/export von WIDEVINE_CDM_VERSION_STRING schon soweit reichen, das man gar nicht am code rumschrauben muss.

    @Ceres (>Habt Ihr die Version dann ohne Punkte reingeschrieben?)
    Da ich die Nummer nicht gefunden habe, wurde das bei mir ein Leerstring

    Einmal editiert, zuletzt von peak3d (12. November 2015 um 09:27)

  • Nur zur Info: im Chromium Packet kann man auch eine embedded version bauen (analog CEF).

    ninja -C out_arm/Release/ content_shell

    Für Linux (wahrscheinlich ChromeOS) wurden da bereits ein paar Sachen implementiert was hdcp angeht und eine Unterstützung des Linux DRM.
    Diese Implementierung findet im Ozone Layer statt. Ich versuche gerade das zum Laufen zu bekommen um ggf. die Performanceprobleme bei der Grafik auszumerzen.

    https://www.chromium.org/developers/design-documents/ozone

  • Jetzt habe ich chromium mal mit --ppapi-flash-path=path/to/PepperFlash/libpepflashplayer.so gestartet. Flash kann ich nun in den plugins sehen aber widevine immer noch nicht. :(

    Aber die neue Hypothese ist: Daddurch, dass ich den Adapter in das Release-Verzeichnis gelegt habe, wurde kein Compilat-bezogener Adapter gebaut. und der, den ich vom chrome-book Image genommen habe funktioniert dann nicht.

    Ich probier's noch mal

  • Es gibt ein Netfix Plugin für den VDR und wenn man die netfix.conf anpasst dann geht auch Amazon Prime. Schaue gerade das ich die angepasste conf bekomme, dass ich es testen kann.

    HTPC: MLD 5.4 64Bit | ASRock Q1900M | 4GB Ram | DigitalDevices DVB-S2 | SSD 64GB | HDD 2,5 500GB | 250GB Backup HDD

  • Jetzt habe ich chromium mal mit --ppapi-flash-path=path/to/PepperFlash/libpepflashplayer.so gestartet. Flash kann ich nun in den plugins sehen aber widevine immer noch nicht. :(

    Aber die neue Hypothese ist: Daddurch, dass ich den Adapter in das Release-Verzeichnis gelegt habe, wurde kein Compilat-bezogener Adapter gebaut. und der, den ich vom chrome-book Image genommen habe funktioniert dann nicht.

    Ich probier's noch mal

    Bei mir wird der libwidevinecdmadapter immer mit neu gebaut - versuchst doch wirklich mal mit enable-widevine=1

  • Es gibt ein Netfix Plugin für den VDR und wenn man die netfix.conf anpasst dann geht auch Amazon Prime. Schaue gerade das ich die angepasste conf bekomme, dass ich es testen kann.

    Ist das auch eine Lösung für unsere RPI Gemeinschaft? Dazu muss Chromium ja dann DRM in EME können.....
    Im user-agent faken ist gefühlt jeder hier schon profi.....

  • Ich habe jetzt noch einmal mit widevine-enable=1 flag gebaut.
    Außerdem den gesamten Kommentar von widevine_cdm_version.h gelesen (auf piets anreten :) ) . Da steht ja auch drin, dass man dort widevine_cdm_common.h includen muss. Ansonsten fliegt der Compiler wegen dem fehlendem widevine Adapter Namen irgendwo auf die Schnautze.

    Jetzt ist er aber durchgelaufen.
    Der Timestamp vom Adapter ist aktuell. Also wurde er auch gebaut.
    Sobald ich Zeit finde teste ich das aus und berichte

  • Ceres: Nur der Vollständigkeit halber:

    - entweder fummelst du im source rum wie piet schreibt.
    - oder du setzt das gyp define (und setzt den versionsstring / entfernst die codestelle aus dem diff)

    Es sind 2 Wege, die beide gehen. Ich fummel lieber weniger im sorce rum, wei ein update auf neuere Versionen dann teilweise einfacher ist.

  • @peak: Danke für die Klarstellung.
    Jetzt muss der Sch... einfach erst einmal laufen. Egal auf welche Art.
    Stimmt: Im Source code rumfummeln ist kritisch. Aber wird bei einer neuen Synchronisierung nicht auch das gyp-file upgedated und man muss die Änderungen wieder einführen, die man schon bei der letzten Version vornehmen musste?
    Außerdem kenne ich mich mit gyp null aus und mir fehlt leider auch die Zeit mich dort intensiver reinzuarbeiten.

    Sollte ich mal zu einem Erfolg komme, werde ich versuchen den Prozess wie ich dorthin gekommen bin zu reproduzieren und zu dokumentieren. Kochrezepte sind gut und funktionieren dann, wenn sie vollständig sind. :D
    Wenn etwas fehlt fängt das Gefrickel an ?(

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!