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

  • Bei der ARD-Mediathek in der Tagesschau-Übersicht kann ich die Videos nicht wechseln -

    Bei der Tagesschau passiert irgendwas und ich komme nicht dahinter. Die internen Server stellen komplett den Betrieb ein eine Verbindung ist nicht mehr möglich und es hilft nur ein Neustart. Ich vermute irgendwo einen Deadlock, finde den aber im Backtrace nicht.

    Ich habe nun eine Lösung gefunden. Wenn ich den cefbrowser nach dem vdr starte dann funktioniert es. Warum auch immer.

    Das ist seltsam. Vielleicht hat das etwas mit dem Shared Memory zu tun, den ich nutze um die OSD Bildchen zu übertragen. Kannst du mal den Browser mit "-q" starten, dann wird das shm nicht verwendet, sondern die Bildchen werden über das Netz übertragen. "-q" nutzt das Grafikformat qoi, das recht gut ist und rasend schnell.

    Wann nutzt du denn dash2ts zum abspielen von Videos? Bisher sehe ich immer nur den ffmpeg. Ich habe den remotetranscoder mit -a gestartet.

    Wenn ein mpeg dash abgespielt werden soll. In der ARD/ZDF Mediathek kann das z.B. mit der blauen Taste erreicht werden. Außer natürlich ein Film soll neu gestartet werden, dann geht das häufig wieder auf mp4. Woanders ist mir das noch nicht untergekommen, kann aber passieren.

    was mir noch aufgefallen ist: Wenn ein Stream/Video läuft, dann wird im Sekundentakt ein leeres OSD geschickt. Das ist sicher nicht notwendig :)

    Hmm. Ein leeres OSD? Normalerweise werden Updates nur gesendet, wenn der Browser der Meinung ist, in der Seite hätte sich etwas verändert. Das ist schon seltsam.

    Und dann habe ich auch noch einen Segfault:

    Man man man. Wie hast du das denn wieder geschafft? Vielleicht hängt das mit deinen (leeren) OSD Updates zusammen. Passiert das häufiger oder war das Zufall?

    Insgesamt gesehen denke ich, die Verwendung von Rest und der cpphttplib war ein Fehler. Die Socket-Probleme, die Tagesschau und und und. Gespielt habe ich auch zwischendurch mal mit websockets, nanomq und zeromq, aber auch da hatte ich so meine Probleme. Es wird Zeit für etwas neues und hoffentlich stabileres. Ich hatte erst grpc in Betracht gezogen, aber die Abhängigkeiten und die Build-Zeit sind furchtbar. Mein Favorit ist im Moment Apache Thrift. Die ersten Tests waren vielversprechend.
    Dabei ergeben sich auch verschiedene Optimierungspotentiale. Mal schauen.

  • Kannst du mal den Browser mit "-q" starten

    Ok das werde ich mal testen.

    Hmm. Ein leeres OSD? Normalerweise werden Updates nur gesendet, wenn der Browser der Meinung ist, in der Seite hätte sich etwas verändert.

    Das OSD wird nicht aktiviert. Es wird nur immer wieder ein leeres Image mit DrawImage eingestellt. Allerdings hat das leere Image dennoch eine Size von 1920x1080. Da werden viele Daten nutzlos geschauftelt.

    Du kannst ja mal ein Debug im web plugin einbauen wo das DrawImage abgesetzt wird.

    Wie hast du das denn wieder geschafft?

    Ich habe mich nur durch die Mediathek geklickt. Ist aber mehrmals aufgetreten und dann habe ich der VDR im gdb laufen lassen. Die coredumps sind unbrauchbar weil der Stack kaputt ist.

  • Mit -q funktioniert es auch wenn ich den cefbrowser vor dem vdr starte. Da hast du wohl wirklich noch ein Problem mit dem shared Memory.

    Das werde ich mir anschauen müssen, sobald ich die Umstellung auf Apache Thrift fertig habe.

    Die Umstellung scheint sich zu lohnen. Keine Probleme mit den Sockets, die Seiten sind schneller und das Video startet auch schneller. Also insgesamt gesehen viel flüssiger alles. Aber es gibt noch Unschönheiten, die beseitigt werden müssen :(

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!