web (HbbTV, VDR*ELEC), Milestone 1 erreicht

  • Tolles Projekt, Zabrimus und rell ! Ich kompiliere gerade alles native auf meinem Radxa Zero in der chroot-Umgebung. Dazu musste ich die Build-Skripte leicht anpassen und das meson mit pip installieren. Das Plugin und der Trancoder sind schon fertig, gerade linkt der cefbrowser (hier musste ich ein -lrt ergänzen, da es sonst undefined symbols gibt). Ich werde berichten, ob das so funktioniert (dann kann man wahrscheinlich auf den Docker-Container verzichten). Außerdem muss der Parameter -j1 hinter die compiler-Aufrufe, da es sonst einen fatal error gibt (ich vermute, weil der Speicher ausgeht).


    Falls ich das hinbekomme, werde ich ein chroot-Skript veröffentlichen für die, die selbst bauen wollen.

  • Der Dank gilt Zabrimus ;)

    Docker läuft hier auch nicht, alles nativ.

  • Jetzt stehe ich ein wenig auf dem Schlauch. Das Plugin läuft, der Transcoder auch. Wenn ich aber den cefbrowser starte, kommt diese Meldung:


    DISPLAY=:0.0 LD_LIBRARY_PATH=./ ./cefbrowser  --config=/home/rudi/sockets.ini

    [0801/222038.612032:ERROR:ozone_platform_x11.cc(239)] Missing X server or $DISPLAY

    [0801/222038.612584:ERROR:env.cc(255)] The platform failed to initialize.  Exiting.



    Wenn ich in meinem chroot dann ein X starte startet der Browser zumindest. Allerdings ist VDR dann nicht mehr bedienbar. Was mache ich hier falsch? Braucht der cefbrowser ein laufendes X-Windows?

  • probiere mal

    Code
    -ozone-platform=headless
  • Danke, rell. Das sieht besser aus.

    Es erscheint bei ARD unten rechte ein rotes Rechteck mit dem Text Startleiste. Darunter steht Datenschutzhinweise.


    Im Log steht:



    Aber es passiert nichts, egal, welche Taste ich auf der Fernbedienung drücke. Ausnahme: Menü öffnet wieder das Menü des VDR, danach ist VDR wieder normal bedienbar. Muss ich das softhdodroid-Plugin noch irgendwie catchen?

  • Du kannst dich hier orientieren:

    Commits · Zabrimus/VDRSternELEC
    Contribute to Zabrimus/VDRSternELEC development by creating an account on GitHub.
    github.com

    Es gibt patches fürs skalieren und dann musst du das plugin mit -f starten.

    Und alle Versionen auf aktuellsten Stand bringen.

    Evtl. hat sich auch der browser verabschiedet. Rotes Rechteck heißt, dass browser und plugin schonmal funktionieren.

  • OK, ich habe jetzt noch hier im Thread den Parameter -f gefunden, damit sehe ich jetzt das gesamte OSD. Jetzt scheint aber der Transcoder zu hängen:




    Hat mein ffmpeg jetzt ein Problem?

  • Danke Euch, es fehlte das meson install. Jetzt funktioniert es alles auf dem Radxa Zero und die Geschwindigkeit ist echt super.

    Ich werde in den nächsten Tagen ein Skript erstellen, das alles automatisiert lädt, kompiliert und laufen lässt.

  • Ich werde berichten, ob das so funktioniert (dann kann man wahrscheinlich auf den Docker-Container verzichten).

    Docker wird tatsächlich nur für natives CoreELEC-ng benötigt. Das Problem ist die libgbm, die ich unter CoreELEC nicht compilieren/finden/erzeugen kann. Der Versuch eines Links libgbm -> libMali ging schief, weil eine Funktion in der libMali nicht vorhanden ist. Ich hatte dazu ein Ticket bei Chromium gefunden, daß bei einem Chromium Update auf genau dasselbe Problem verwies (unabhängig von libMali).

    Meine Idee, cef einfach auf eine hoffentlich funktionierende Version zu downgraden hat leider nicht funktioniert. Vielleicht könnte es klappen, wenn man die Versionen durchprobiert und eine findet, bei der es funktioniert. Aber das habe ich dann unterlassen, weil zu alte Browser wollte ich nicht einsetzen.

    Im Docker Container befindet sich mesa und alle notwendigen Libs und damit klappt dann alles. Meine Hoffnung ist, daß es vielleicht mit CoreELEC-ne (aktualisierte libMali) funktioniert. Mir fehlt aber ein System, auf dem ich das testen könnte, zumal das Ausgabedevice auch noch angepasst werden müsste (das war hier im Thread irgendwo erwähnt).
    Am Allerwichtigsten war mir, daß es überhaupt mit CE funktioniert. Ich hatte vor Beginn des Projekts überprüft, ob ich cef auf den arm Kisten (mit/ohne Docker) überhaupt starten und einsetzen kann und als das erfolgreich war, begann ich alles :)

  • Deine Arbeit hat sich gelohnt, Zabrimus, vielen Dank nochmal. Ich habe allerdings das Problem, dass das Ganze nur einmal funktioniert (z.B. Tagesschau-Video). Nach Rückkehr zum VDR und nach einem 2. Web-Aufruf ist es rein Glückssache und das Browser-Log ist voll mit:


    Code
    [2023-08-01 23:46:13.071] [cefbrowser] [error] [vdrremoteclient.cpp:43] HTTP error (ProcessOsdUpdate): Could not establish connection


    Fehlen mir da noch irgendwelche Patches (zugegeben, ich muss den Thread noch einmal komplett lesen...).


    EDIT: Oder war es der letzte Commit des web-Plugins (- device->Detach(aitFilter);)? Den hatte ich gestern noch nicht drin. Im Moment kann ich nur leider nicht testen.

  • Der Browser kommt nicht an den VDR. Ist der VDR abgeschmiert oder lief der weiter?

    Der letzte Commit löst nur ein segfault beim Beenden des VDR und sollte keine sonstigen Auswirkungen haben.


    Starte doch den Browser mit dem Parameter "-z xxxx" wobei x die Auflösung des VDR sein sollte. Z.B. mit -z 1920 für HD und lass mal -f weg. Alternativ kannst du auch -q versuchen, dann wird das Shared Memory umgangen und alle Bilder mittels qoi encoded/decoded und übertragen.

  • beta, welches Ausgabeplugin nutzt du?

  • beta: VDR und vdr-plugin-web läuft ja weiter, das passt. Wenn du OSD siehst, d.h. das vom hbbtv, dann läuft auch der cefbrowser. Wenn kein Video klappt, liegt es am transcoder/ffmpeg. Wenn teilweise Videos nicht klappen evtl. auch am Ausgabeplugin bzw. den Codecs.


    Teilweise hat sich bei mir der cefbrowser einfach mal so verabschiedet, war aber jetzt schon länger nicht mehr. Ein Neustart aller drei Komponenten war dann meist die beste Lösung und dann hats auch wieder funktioniert. Du kannst dem cefbrowser für mehr Logs ein "-l 4" mitgeben.


    Gruß

    Andreas

  • softhdodroid von jojo61


    EDIT: Ich habe alles native auf einem Radxa Zero in einer chroot-Umgebung unter CE 20 kompiliert.

    Sobald du die Scipte für ein chroot build veröffentlichst werde ich es auch mit softhdodroid testen. Welcher Film lief denn gestern bei dir nicht.

    Es könnte sein das es da noch Probleme mit der Video erkennung in meinem Plugin gibt. rell hat da auch nachgearbeitet.

Jetzt mitmachen!

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