VDR-headless Docker Container liefert ring buffer overflows bei Aufnahmen

  • Guten Morgen zusammen,


    ich bin seit einigen Tagen dabei, meinen alten VDR (basierend auf LibreElec mit VDR-Backend und DD Cine V6.5 Tuner) in einen VDR-headless Docker Container umzuziehen, den ich auf einem Unraid Server betreibe. Ich nutze dabei dieses Docker Image, das auf VDR4Arch basiert. Somit verwende ich VDR 0.2.6.1 und alle Plugins auf dem aktuellsten Stand, der im AUR verfügbar ist.


    Aktuell kämpfe ich mit dem Problem, dass Aufnahmen (z.B. von ARD HD) bereits nach wenigen Sekunden Ring Buffer Overflows verursachen und die Aufnahmen auch einige Bild- und Tonfehler aufweisen und somit ungenießbar sind. Per HTTP-Stream über den streamdev-server lassen sich die Sender am PC live ohne Probleme und Fehlermeldung in den Logs anschauen. Und das unabhängig davon, ob gleichzeitig eine Aufnahme läuft oder nicht. Daher würde ich vermuten, dass schlechter Empfang somit als Ursache ausgeschlossen werden kann. Meine Aufnahmen auf meinem alten VDR (mit deutlich schwächerer Hardware) hatten in den letzten 7 Jahren auch nie irgendwelche Fehler.


    Eine Suche nach dem besagten Fehler brachte viele sehr alte Treffer, in denen meistens die sehr alte Hardware als Flaschenhals ausgemacht werden konnte. Ich denke, das kann ich bei mir mit sehr großer Wahrscheinlichkeit ausschließen, daher bin ich für jeden Tipp dankbar.


    Einige technische Details vorab:


    - Intel i5 8400 CPU (6 Cores), ASRock B365M-HDV Mainboard, 16GB RAM

    - Unraid Version 6.9.2

    - Die DD Cine V6.5 wird von Unraid dank des DVB Driver Plugins erkannt (ich verwende die DD Treiber) und an den Docker Container weitergereicht.

    - Alle Volumes des Docker Containers befinden sich lokal auf einer NVME M2 SSD, ebenso das Aufnahmeverzeichnis.

    - Zu Testzwecken sind alle weiteren Docker Container gestoppt, d.h. es läuft lediglich der VDR Container. Es gibt keine weiteren Netzzugriffe oder Dienste auf dem Unraid Server und die CPU-Last beträgt vor Start einer Aufnahme 1%.

    - Bei Start der Aufnahme auf ARD HD steigt die CPU Last (verteilt auf alle 6 Cores) auf ca 18-25%, was gemessen an der Hardware mMn schon relativ hoch ist.

    - Der Unraid syslog ist während des Zeitraums der Aufnahme ohne Ereignisse (also z.B. keine I2C Timeouts oder Ähnliches)


    Um eines meiner verwendeten Plugins als Ursache auszuschließen, starte ich VDR nur mit den folgenden Plugins: streamdev-server, live, dvbapi.

    Im Anhang befindet sich der Log für eine 3min Testaufnahme auf ARD HD.


    Das gleiche Verhalten lässt sich auch auf anderen Sendern reproduzieren. Hat irgendjemand eine Idee, was ich denn ausprobieren könnte oder woran es liegen könnte?


    Ich bin mir leider nicht mal sicher, ob es ein Unraid/Docker Problem oder ein VDR Problem ist. Solltet ihr weitere Details und Infos benötigen, reiche ich diese natürlich sehr gerne nach.


    Danke vorab für eure Hilfe!

  • Hi,


    Es wurden hier schon öfter Probleme bei der Verwendung von virtuellen Maschinen diskutiert.

    VDR ist eine Echtzeit Anwendung, d.h. Daten müssen in Echtzeit verarbeitet werden.

    Die Puffer sind so ausgelegt, dass das bei vielen Linux Systemen funktioniert (obwohl diese Linux Systeme keine Echtzeitsysteme sind ...).

    Vermutlich bekommen unter Docker die relevanten VDR Threads einfach seltener Zeitscheiben zugewiesen.

    Eine Erhöhung der Puffergrößen könnte helfen.


    ~ Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Hi,


    generell sollte ein Headless-Server im Docker Container funktionieren, bei mir ist es ein VDR 2.6.1 auf Basis von Ubuntu 20.04.2 LTS..

    Wenn ich das richtig verstehe (meine Kenntnisse sind da sehr begrenzt) ist es der Buffer zur HD beim Speichern der Aufnahme, der da überläuft, d.h. der VDR wird die Daten nicht schnell genug an die Festplatte los. Vielleicht solltest Du daher mal in die Richtung schauen... Ich habe leider keine Ahnung von Unraid und ob das da irgendeinen Einfluss haben könnte... Ist das Aufnahmeverzeichnis eine eigene Partition auf der Disc oder spielen da noch irgendwelche anderen Tools mit rein?


    rfu

    :vdr2 Server: vdr 2.6.4 (yavdr) im Ubuntu 22.04 docker, Client: Kodi (LibreELEC)

Jetzt mitmachen!

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