Posts by Zabrimus

    Für die Experimentierfreudigen:

    Plugin und Browser sollten Pause/Resume jetzt besser beherrschen


    Falls jemand CEF auf Chromium 84 aktualisieren will (kein Muß, die alte Version geht auch):

    Code
    1. make clean; make prepare_release; make release


    Jetzt noch an das Werbevideo und Video hinter dem OSD...

    Wobei RTL und Wetterfilme. Wir reden doch von diesem Wetter-Teil in der ersten Startleiste, oder? Powered by wetter.com? Und dann die bis zu 4 Videos? Oder gibt es noch eine andere Seite?


    Wie ich schon sagte: Jede Seite muss separat kontrolliert und manipuliert werden. Den Weg über Tagesschau, Gelb und dann Video muss ich mir anschauen.


    Dazu kommt leider auch das nach dem vorgeschalteten Werbespot hier nicht immer der „Hauptfilm“ startet...

    Das habe ich gerade beim Testen auch gesehen. Nach der Werbung kommt nix mehr.


    Aber zurück zum Wetter bzw. Video hinter dem OSD. Welcher Sender funktioniert denn nicht? Ich habe gerade auf RTL Wetter (powered by wetter.com) geschaut, und da wird das OSD ausgeblendet.

    Ähm, nur eine kleine Frage noch: tut der vdrosrbrowser noch mit vdr-2.4.4?

    Warum sollte das nicht? Ich war bisher zu faul, auf 2.4.4 zu wechseln, aber an der API hat sich doch nix geändert, oder? Und was genau sind die seahawk-2.4.3-patches?


    Dann besser etwas davor aufsetzen

    Das habe ich mir auch schon gedacht. Die Prüfung steht noch aus, ob ich an die aktuelle Videoposition komme oder ich selbst einen Timer halten muss.

    so wie es aussieht landen viele integrierte Videos ( rtl Wetter) im Hintergrund hinter dem Hauptfenster

    Guter Hinweis. Das OSD muss für jeden Sender spezifisch ausgeblendet werden. Das Problem ist immer nur, die richtigen Style an die richtigen HTML-Elemente zu kleben.

    außerdem laufen Videos nach längerer Pause nicht immer weiter.

    Da habe ich es mir zu einfach gemacht. Nach ein paar Tests mit ffmpeg muss ich die Pause anders implementieren. Ich weiß nur nicht, ob ich Sekunden-/Framegenau den Neustart nach der Pause treffen kann.

    Das vdr-osr-browser.log beglückt mich bei jedem Tastendruck mit

    "Message: Uncaught TypeError: window.cefKeyPress is not a function".

    Also wieder zurück zum 25.7. ....

    Das ist noch ein anderes Problem. Auf welchem Sender passiert das genau? Ich müsste mir dann anschauen, was mit der Seite und den Scripten passiert, die entweder verloren gehen oder gar nicht erst injiziert werden.

    Den Browser mit dem Parameter "--trace" starten könnte mir helfen und das Log bis zum ersten Fehler.

    Also z.b. in der Plugin Konfiguration:

    Code
    1. -c "--trace --user-data-dir=remote-profile --password-store=basic"

    Hi,


    das Plugin habe ich mit Log-Ausgaben geflutet. Standardmäßig sind die (sehr vielen zusätzlichen) Ausgaben im syslog ausgeschaltet.

    Einschalten kann man es in der Datei globals.h

    Code
    1. const bool HBBTV_PLUGIN_DEBUG = false;

    Den Wert einfach von "false" auf "true" ändern und das Plugin neu kompilieren.


    Aber das ist nicht mehr richtig produktionstauglich, weil es eben sehr viele Ausgaben sind. Aber bis zum Fehler würden mich die Einträge interessieren. Danach wäre ein switch wieder auf "false" sinnvoll.


    Ansonsten weiß ich nicht, ob du die Mühe auf dich nehmen willst, den Commit zu finden, der für Probleme verantwortlich sein könnte. Stichwort: Bisektion.

    Vielleicht hat es mit dem von mir verwendeten Skin nOpacity zu tun.

    Ich habe den Skin installiert und kann hier keine Probleme feststellen.

    Die Meldung schien bei jedem Tastendruck nach Aufruf irgendeines, egal ob "red button" oder "mediathek" und Wahl der betr. Mediathek, Menüpunkts auf, und das OSD reagierte nach Anzeige der Startseite nicht mehr.

    Glücklicherweise funktionierte "back" noch.


    Der Back-Button wird direkt vom Plugin abgefangen und sollte hoffentlich immer funktionieren.

    Wenn ich gdb-Sessions starte, dann passiert es manchmal, daß der Browser weiterläuft, obwohl ich den VDR abgeschossen habe. Bisher habe ich das auf eben die Debug-Sessions geschoben. Kannst Du mal schauen, ob nach Beendigung des VDRs nicht noch ein vdrosrbrowser läuft?


    Ansonsten kann ich in das Plugin jede Menge Debugausgaben (mit einem Flag) einbauen. Allerdings müsste dann das Plugin selbstkompiliert werden (nach Einschalten der Ausgaben). Ginge das? Irgendwas läuft falsch. Das muss doch zu ermitteln sein.

    Zum Thema DMAX:

    Es sind nur die beiden Plugin-Fenster sichtbar. Okay, die kann ich rausnehmen, aber auf der Seite befindet sich sonst nix aufregendes. Es gibt einen Videocontainer, der Fullscreen das TV-Bild (vom VDR) darstellt. Und das war es auch schon.


    Laut Astra HbbTV ist DMAX auch blacklistet:

    Code
    1. 000021 0027 DMAX Blacklisted (Ad-/Tracking only) DMAX HD, DMAX

    Ich verwende auch keinen skin-designer. Vielleicht hat es mit dem von mir verwendeten Skin nOpacity zu tun.

    Der Fix sollte eigentlich unabhängig vom Skin sein. Ich werde nOpacity auch noch installieren und prüfen.

    "Message: Uncaught TypeError: window.cefKeyPress is not a function".

    Welcher Sender und welche Aktionen wurden genau durchgeführt? Könntest du die Ausgabe von

    Code
    1. svdrpsend plug hbbtv geturl

    mal pasten? Die Ausgabe besteht in der aktuellen URL der Seite und die verwendeten Channel-Informationen.

    Der Browser ruft eine Javascript-Methode auf, um Tastendrücke zu simulieren. Und genau diese Funktion ist nicht vorhanden. Eigentlich wird sie in der Init-Prozedur angelegt. Hmm....


    Eben aktualisiert. Unter yavdr-ansible bionic@Frodo PPA alles in Ordnung - läuft!

    Das ist Balsam :)


    Ist es noch möglich DMAX zu integrieren?

    Ich schau mir das an.

    Soo. Version 0.0.9 wurde getagged. PPA ist für bionic/focal schon fertig.


    Den Fehler mit Skindesigner habe ich gefunden und beseitigt. Zumindest bei mir läuft es jetzt.

    Im Plugin gab es sonst keine weiteren Änderungen, im Browser habe ich die aktuelle Version committed, die versucht CORS Fehler zu verhindern und ein paar Sender müssten besser funktionieren.

    yavdr-ansible richtet xineliboutput als Ausgabedevice mit vdr-sxfe als Frontend ein

    Respekt :thumbup:Funktioniert alles ziemlich gut. Allerdings muss ich immer ein "xhost +" eingeben, ansonsten bekomme ich nur den Hinweis, daß der X-Server nicht gefunden/geöffnet/... werden kann.


    Mit LCARS funktioniert das Plugin einwandfrei. Mal abgesehen von Videos, die irgendwie nicht dargestellt werden. Das könnte aber auch an xineliboutput und vdr-sxfe liegen.

    Allerdings habe ich mit dem Skindesigner auch Probleme. Es hängt alles. Ich bekomme nichtmal per satip einen Sender.

    Ich werde den Skindesigner lokal installieren und hoffen, das dort das Problem auch auftaucht.

    Wenn ich auf skin lcars wechsel, dann funktioniert das Menü sehr verzögert. HbbTV funktioniert auch.

    Der Skin? Jetzt, wo du es sagst... Ich habe nur LCARS laufen (auf dem Dev-Rechner). Was wird denn üblicherweise verwendet? Skindesigner oder ein anderes nativer Skin?


    Meine Idee war nur solange gut, bis die Realität dazwischen kam: VDR auf Virtualbox ist nicht der Bringer. Mir fehlt ein Ausgabedevice. Alle softhd*-Varianten wollen irgendwie eine echte Grafikkarte. Sprich, ich bekomme kein Bild :(


    Das mit dem Skin muss ich versuchen. Das könnte ein guter Hinweis sein.


    Im Log ist nichts auffälliges zu bemerken. Es ist sogar eine 1:1 Kopie meines syslogs - zumindest das Plugin betreffend.

    Der Browser startet sauber (sieht zumindest so aus). Keine Fehlermeldung bzgl. Sockets. Kein nix.

    Hast du denn ein browser.log? Plugin-Parameter -l <logfile>. Oder steht etwas im CEF debug.log drin? /opt/vdr-osr-browser/debug.log


    Das OSD befindet sich im shared memory (Browser <-> Plugin), aber da gab es auch keine Fehlermeldung. Aber kannst du das mal löschen, falls es aus irgendwelchen Gründen noch vorhanden sein sollte? Vorher allerdings VDR stoppen.

    Code
    1. ipcrm -M 0xDEADC0DE

    Ich muss einfach mal fragen. Gibt es überhaupt jemanden, bei dem es einfach funktioniert??


    Ich will das mal alles nachstellen. Ubuntu Focal? Und welches ppa nutzt ihr für den VDR und die Plugins?

    Gerade wurde die 0.0.8 getagged. Das PPA (für bionic und focal) baut gerade.


    Changelog vdr-osr-browser:


    Changelog hbbtv plugin:


    Ein paar Sender-Seiten sollten jetzt besser oder überhaupt funktionieren. Das TV-Livebild wird auf verschiedenen Sendern skaliert im Fenster dargestellt. Und für ein paar Fehler habe ich endlich die Ursache gefunden und beseitigen können.


    Es gibt aber noch ein paar offene Punkte, für die ich noch keine Lösung habe:

    - Es gibt Sender, bei denen CORS-Fehler kommen und die dann nur eingeschränkt oder gar nicht bedienbar sind (ich habe mir sagen lassen Kabel1 Doku sei ein solcher Sender)

    - Manchmal (ich versuche es noch zu reproduzieren und zu fixen) schließt sich das OSD und läßt sich gar nicht mehr aufrufen. Da hilft nur ein Neustart des Browsers über das Menu. Browser und Plugin laufen noch, aber irgendwo klemmt es.

    - Ich glaube es war Pro7 oder RTL. Manche Videos lassen sich nicht abspielen. Wahrscheinlich aufgrund von DRM. Und das ist ein ziemlich schwieriges Problem, für das ich noch gar keine Idee habe.


    Ansonsten gibt es immer und überall Funktionalitäten in den Seiten, die nicht gewünscht funktionieren. Wer Interesse hat, kann sich ja die Datei TODO durchlesen ;) Meistens liegt das Problem irgendwo in der Seite, die erst einer mühsamen Untersuchung unterzogen werden muss um einen Workaround zu finden. Das ist ein Kampf gegen Windmühlen.


    Ansonsten, viel Spaß

    gez. Don Quijote

    Ich habe immer die korrespondierenden Versionen verwendet, also entweder vom git geholt und kompiliert, oder hbbtv-plugin und vdr-osr-browser aus dem Repo/ppa installiert, sollte also zusammenpassen.

    Mist. So langsam habe ich keine Ideen mehr. Außer tatsächlich die Idee von utiltiy noch weiter zu führen und immer mehr zu deaktivieren. Warum die eine Browser-Version funktioniert und die aktuellere nicht... Der Browser wird ja anscheinend gestartet und eine Seite auch geladen. Aber dann? Gibt es da vielleicht Plugins, die auch parallel am OSD spielen?

    Ich habe gerade einen ganz anderen Verdacht. Welche Version des Plugins setzt du ein? Die getaggte Version 0.0.7 oder eine aktuelle aus Github?


    Nach der 0.0.7 habe ich an der Browser-Detection/Restart/Start Mechanismus gewerkelt und ein wenig anderes geändert, damit die neuen Features des Browsers vernünftig unterstützt werden. Vielleicht beissen sich gerade das ältere Plugin mit dem neuen Browser? Ich teste immer nur die jeweils aktuelle Version und prüfe, ob die zusammenpassen.


    Mein Plan sieht vor, morgen eine neue Version zu taggen. Ich werde zwar mit Fehlerberichten (zu einzelnen Sendern oder Funktionialitäten in den Seiten) überrannt, aber die aktuelle Version beseitigt schon einige Fehler und auch Abstürze.

    Oh Mist. Kein make notwendig. Das muss noch Relikt aus älteren Zeiten sein. Das habe ich eben geändert. Im PPA sind nur noch die Binaries - allerdings könnte oder sind wahrscheinlich die Verzeichnisrechte falsch. Es könnte also noch ein

    Code
    1. sudo chown -R vdr.vdr /opt/vdr-osr-browser/

    notwendig sein.


    Ich habe einen Blick auf vdradmin-am geworfen. Und dabei das Detail übersehen, daß es ein Dämon ist, welcher nur per SVDRP kommuniziert und kein Plugin. vdradmin-am kann also nicht ursächlich ein Problem mit dem Browser/Plugin sein.

    Falls kein Log-Level angegeben wird werden nur Fehler geloggt. Sollte das Logfile also leer sein, könnte das eher ein gutes Zeichen sein. Aber das wollen wir jetzt nicht.


    Es gibt jetzt 3 Varianten:

    - vdrosrbrowser aus dem Git vom 25.7

    - vdrosrbrowser aus dem Git (aktuell)

    - vdrosrbrowser aus dem PPA


    Versuch mal in allen 3 Varianten diese Startkonfiguration.

    Code
    1. [hbbtv]
    2. -s
    3. -p /opt/vdr-osr-browser/Release/vdrosrbrowser
    4. -c "--debug --user-data-dir=remote-profile --password-store=basic"
    5. -l /var/log/vdr/vdr-osr-browser.log

    Der Wert für -p muss dabei angepasst werden. Soweit ich verstanden habe, liegt der Browser entweder in

    Code
    1. -p /opt/vdr-osr-browser/Release/vdrosrbrowser

    oder in

    Code
    1. -p /opt/vdr-osr-browser/vdrosrbrowser

    Du kannst auch evt. temporär das Verzeichnis für das Logfile ändern:

    Code
    1. -l /tmp/vdr-osr-browser.log


    Die Ports, die geöffnet werden sind seit langem identisch, also kann es daran auch nicht liegen. Ich brauche Logs aus dem Browser.

    Ansonsten versuche mal den Browser standalone zu starten:



    Die Konfiguration des Plugins sähe dann so aus:

    Code
    1. [hbbtv]

    Also ohne sonstige Parameter.


    Und parallel auf einer anderen Shell (oder besser noch vor dem Start von VDR)

    Code
    1. cd /opt/vdr-osr-browser/Release && ./vdrosrbrowser --debug
    2. oder
    3. cd /opt/vdr-osr-browser && ./vdrosrbrowser --debug

    Nach Aufruf des Plugins (Red Button) sollte schon einiges auf der Shell zu sehen sein.

    Okay. Der Reihe nach.


    Testen, warum vdradmin-am überhaupt einen Einfluß auf das Plugin oder den Browser haben sollte, steht noch an. Der Browser und das Plugin kommunizieren gar nicht über SVDRP miteinander. Vorstellen könnte ich mir einen Port-Konflikt, aber sowohl Live, als auch vdradmin-am haben Standardport jenseits der 8000, soweit ich das sehen kann. Oder gibt es noch andere Ports, die beide Plugins öffnen?

    Mein Problem ist aber, sobald der läuft, ist vdr nicht mehr bedienbar - die FB (vdrmanager) und auch Kanalwechsel über vdradmin-am reagieren nicht.

    Was ist denn damit gemeint? Funktioniert der VDR richtig, aber die Bedienung über vdadmin-am hakt? Der vdrmanager muss an mir vorbeigelaufen sein, den kannte ich so gar nicht. Wenn ich das richtig sehe, dann nutzt der kein SVDRP, sondern ein eigenes Protokoll. Auf welchem Port lauscht der denn? Ich habe auf die Schnelle nichts finden können.

    (Die Konfigurierbarkeit der Ports im Browser/Plugin stehen zwar auf der Liste, aber eher mit niedriger Priorität)


    Was mit nicht bewusst war und ich erst jetzt realisiert habe, daß in den PPA Paketen die Rechte bzw. der Besitzer auf dem Verzeichnis falsch sind oder falsch sein können. Dazu muss ich mal schauen, wie andere Pakete die Verzeichnisrechte setzen. Und ich denke vdr:vdr scheint geeignet zu sein, oder?


    Der Konfigparameter "-p /opt/vdr-osr-browser/" ist entscheidend. Der Parameter muss auf das Executable zeigen und nicht nur auf das Verzeichnis. Im Gegensatz zu "-p /opt/vdr-osr-browser/Release/vdrosrbrowser", wo vdrosrbrowser tatsächlich das Executable zu sein scheint.


    In den Logfiles müssten eigentlich eine Menge Informationen zu finden sein. Hat denn der Browser überhaupt Schreibrechte auf das File "-l /var/log/vdr/vdr-osr-browser.log"? Du kannst ja mal versuchen, das Logfile woanders schreiben zu lassen, in ein File, bei dem du sicher bist, daß es beschrieben werden kann. Als schneller Test sozusagen.


    Im aktuellen Browser-Git sind zumindest 2 segfaults und andere Video-Fehler gefixed worden.

    Der letze Commit des Browsers fixt einen segfault bei RTL2 und soll das TV-Bild im OSD skalieren. So ein paar Sender bieten das an.

    Es könnte aber ein Timing-Problem geben, weil die Seite nach der HbbTV-Analyse unterm Hintern weggezogen wird um sie mit Javascript/XMLHTTPRequest wieder neu aufzubauen. Ich habe versucht, das richtige Timing zu finden um die Analyse neu zu starten.

    Aber ich weiß nicht. ob das bei jedem richtig funktioniert. Ansonsten müsste ich den Timeout höher setzen.

    Es ist also nicht das vdr-plugin-hbbtv, sondern irgendwas im Browser-Ordner.

    Der Browser blockiert die Plugins?? Das ist ja richtig seltsam.


    Das "debug.log" wird von CEF geschrieben, allerdings habe ich noch nicht herausgefunden, wie ich das eingeschaltet haben könnte oder ich übersehe da etwas. Falls es in der Plugin-Konfiguration gesetzt wurde, dann sollte das geändert werden.


    Ich würde auch eher vermuten, daß eigentliche Logfile befindet sich in "--logfile=/var/log/vdr/vdr-plugin-hbbtv.log".

    Du kannst den Browser geschwätziger machen mit dem zusätzlichem Browserparameter "--debug". "--trace" geht zur Not auch, wenn man viele Informationen will.


    Ist denn in dem syslog oder dem /var/log/vdr/vdr-plugin-hbbtv.log irgendwas auffälliges zu sehen? Wobei ich wahrscheinlich eher von anderen Meldungen getriggert werden, als du. Hmm... Kannst du mal ein grep "hbbtv" auf das /var/log/syslog machen und mal pasten, was nach einem Neustart des VDRs so ausgegeben wird?