[yaVDR 0.5] Gelöst: streamdev ring buffer overflows

  • Hallo!


    Ich habe seit heute folgendes Problem auf einem Client:


    Nach einigen Minuten Live-TV-Streaming (vom streamdev-server) tritt lt. Log-Files ein ring buffer overlow auf.


    Bemerkbar macht sich das Problem so, dass zuerst der Ton am Client aussetzt, dann für ca. 5 Sekunden dasin Se Bild (ohne Ton) in Zeitlupe weiter gezeigt wird, dann in einem letzten finalen Schritt wird das Bild schwarz.
    In Folge behebt ein Umschalten bzw. Neu-Schalten auf den selben Kanal das Problem (bis es in ein paar Minuten wieder auftritt).


    Beobachten konnte ich das Verhalten heute unabhängig vom dargestellten Programm: Egal ob SD, HD oder verschlüsselter ORF.


    Mein Setup ist das Folgende:
    Sowohl Server als auch Client yaVDR 0.5 mit Standard-Einstellungen (stable-Channel, aktuellste Updates).


    Abweichungen vom Standard am Client:
    Hier wurden via Web-Admin-GUI die Alsa-Optionen geändert. Anstatt des Default-Werts "Auf allen Ausgängen ausgeben" wurde gewählt, dass der Ton nur bei den analogen Stereo-Ausgängen ausgegeben wird.



    Log Server:



    Gibt es hier Lösungsansätze gegen diesen Problem?


    Gedacht habe ich schon an eine Erhöhung der Größe des Ring-Buffers (ist mittels Recompile möglich). So wirklich gefällt mir dieser Ansatz aber nicht. Denn offenbar wächst bei mir die Auslastung des Ring Buffers größer als der Inhalt von dort abgeholt wird, ergo eine Vervielfachung der Bufergröße schiebt das Problem nur zeitlich hinaus.

  • Hallo!


    Ich konnte das Problem inzwischen lösen, die Info darüber möchte ich dem Forum natürlich nicht vorenthalten:


    Die Tonausgabe des SoftHDDevice-Plugins erfolgte lt. Logs über das ALSA-Gerät "default" (im yaVDR-Webadmin ist gewählt, den Ton nur auf den Front-Lautsprechern auszugeben).


    Genau das führte zum auftretenden Problem: Der Ton konnte so scheinbar nicht ganz synchron mit dem Bild ablaufen, über die Zeit füllten sich die Puffer des Streamdev-Plugins (das dortige Material wurde langsamer abgeholt als angeliefert), und schlussendlich kam es zum Pufferüberlauf und zum Crash.


    Abhilfe schaffte, die Audio-Ausgabe nicht nach "default" zu leiten, sondern direkt zum Hardware-Device der Soundkarte: hw:0,0


    aplay -l gibt mir die verfügbaren Geräte aus:


    Der analoge Ausgang den ich benutze ist gleich der 1. Eintrag (Karte 0, Gerät 0) was ergibt: hw:0,0



    Um das SoftHDDeve-Plugin anzuweisen, dieses Gerät (anstatt "default") für die Tonausgabe zu nutzen, muss die Datei /etc/vdr/plugins/plugin.softhddevice.conf angepasst werden.


    Dafür muss am Ende dieser Datei die folgende Zeile hinzugefügt werden:

    Code
    -a hw:0,0



    Normalerweise sollte die Datei zwar so nicht geändert werden (dafür gibt es yaVDR-Config-Templates), auf die Schnelle funktioniert es aber.


    Meine Probleme mit Bildhängern und Crashes sind damit Geschichte :tup

Jetzt mitmachen!

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