Bildruckeln: buffer usage läuft voll

  • tja, da ständig überall Baustelle ist, ist die Rückverfolgung nicht so einfach...


    Ich habe 2 Theorien:


    -es ist mit 2.6.14 besser geworden ggü. 2.6.12


    -es lag/liegt an vdr, denn meine zwischenzeitlichen Experimente mit dem alten 1.0.1-Treiber und Kernel 2.4.32 brachten nach meiner Erinnerung damals keine Besserung


    Da ich aber auch beim alten DVB-Treiber die Firmware (Dpram/Root) aktualisiert hatte, kann es natürlich auch die FW gewesen sein.


    Oder eine Kombination aus allem :rolleyes:

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hallo,


    ich kämpfe mit den gleichen Problemen!


    Zum Einsatz kommt bei mir der Kernel 2.6.14 + 2621 Firmware.
    Bei AC3 on läuft der Buffer wesentlich schneller voll, als wenn ich AC3 deaktivere.
    Aber nach ein paar Minuten ist auch bei AC3 Off ruckeln angesagt....

  • Hast Du es mal mit der Kernel boot option "elevator=anticipatory" versucht? (Tipp von rollo)

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Gerade getestet!


    Funktioniert leider nicht so recht. Jedesmal wenn das Ruckeln anfängt, beendet der VDR nun die Wiedergabe und schaltet auf das normale Fernsehen um :(


    Gruß,


    Flasher

  • hab`s trotz des Eintrages der Kerneloption heute Abend bei Pro7 gehabt. Nach einer Stunde Aufzeichnung müllt das Log voll mit buffer usage 60-70% und (gottseidank nur 1 x ) 90% und "Zwangsleerung"

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hallo,


    habe gerade die Firmware 2622 getestet.
    Das Problem scheint dort nicht mehr so stark aufzutreten. Zumindest dauert es jetzt mit aktiviertem AC3 viel länger bis das Ruckeln beginnt.


    Mit welchem Befehl fragt ihr denn den Bufferstatus ab?
    Oder schraubt ihr nur den Debuglevel des VDR's hoch und schaut im error.log nach?


    Gruß,


    Flasher

  • das schreibt sich von selbst ins log, ohne dass es irgendeines Tricks bedarf :D

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • habe das gleiche problem. System siehe Signatur. Hatt hier schon jmd. ne Lösung gefunden.
    gruß
    drops

    Alt-VDR1: Siemens D1184-B11, PIII 800Mhz, 256mb Ram, Samsung 500GB HD, DVB-S TT 2.3 full_ts,DVB-S Skystar 2, Intel PRO/1000 MT, AV-Board 1.3
    Software: easyvdr 0.6.10


    Server: Asrock Alive NF7G HD720P , 2GB RAM, Teevi s470, Technotrend S2 1600, Technotrend S2 S2 3200, yavdr0.5, Headless Streaming Server
    Client: ZBOX ID41e, 4GB RAM, SSD yavdr0.5, Pollin X10 FB, softhddevice
    Test-Client: Raspberry PI, Openelec

    Einmal editiert, zuletzt von drops ()

  • Hallo,


    nochmal zum Thema. Es muß meiner Meinung nach am Transfermode des VDR liegen, wobei die Probleme nur sichtbar werden, wenn mit hoher Bitrate empfangen wird und parallel aufgezeichnet wird (eben im Transfermode). Da ich DVB-C nutze, liegen die meisten Sender mit mehr als 4Mbit/s Datenrate an.


    Ich verwende aktuell FW2622 mit den Modifikationen in transfer.c und dvbosd.c. Damit kommt es häufig zu Rucklern und Tonaussetzern (ca. alle 5 min) und gelegentlich zu Bufferoverflows (ca. alle 30min).


    Wenn ich die Bufferreserve wieder einschalte, dann habe ich Probleme mit Ton & Bild sofort.


    Ich habe jetzt in transfer.c die "TRANSFERBUFSIZE" von (2) auf (4) MB erhöht und beobachte...


    Gruß, Ollo

  • ich hatte das Problem auch in der vdr mailing list gepostet, aber komischerweise fast keine Resonanz erhalten. Der einzige Tip war

    Zitat

    you could try commenting out the fdatasync() calls in tools.c:
    cUnbufferedFile::Write() and Close() and see if anything changes. They should
    affect directly only the thread calling Write()/Close(), but fdatasync could
    block for several seconds...


    ich muss zu meiner Schande gestehen, dass ich das noch nicht weiter verfolgt habe, da ich nicht sicher bin, was genau ich am Quellcode ändern muss...


    Die Erhöhung auf 4 MB habe ich mal in einem HDTV-Patch gesehen. Da komme ja auch größere Datenmengen- vielleicht ist das die Lösung.


    Die Kunst ist wohl, den buffer genauso schnell zu leeren (Schreibgeschwindigkeit auf Platte ?) wie er vollläuft.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Bei mir trat es auf nachdem ich Kernel 2.6.13.4 montiert habe ...


    Beim LiveTV Ruckler bei hohen Bitraten
    (gleiches Problem wie bei mplayer mit hohen Bitraten und lavc>5000)


    Beim Ansehen einer solchen Aufnahme tritt es auch auf.


    Wenn ich die Aufnahme aber auf einem PC sehe existieren die Ruckler nicht.


    Es muss also beim Transfer in die MPEG Hardware der DVB Karte passieren ... ?(


    PS: Wenn es mit 4MB Karten nicht passiert .. 8) wo kann man eine modifizierte kaufen ?? (Aber eine mit einem guten Tuner und J2)

  • ... also die 4MB allein machen es auch nicht :(


    Aber ich habe spaßenshalber mal den "laptop_mode" aktiviert (echo 1 > /proc/sys/vm/laptop_mode), der u.a. dafür sorgt, daß seltener auf die Platte geschrieben wird, dafür aber größere bursts.


    Das scheint Linderung zu bringen, keep testing....


    Die Platte ist schnell genug & DMA ist aktiv:


    # hdparm -tT /dev/hda


    /dev/hda:
    Timing cached reads: 912 MB in 2.00 seconds = 454.93 MB/sec
    Timing buffered disk reads: 138 MB in 3.02 seconds = 45.70 MB/sec



    Gruß, Ollo

  • ... ok, laptop_mode aktiviert und 4MB transferbuffer scheint erstmal eine Lösung zu sein, jedenfalls konnte ich gestern einen Film aufnehmen und parallel dazu einen anderen auf dem gleichen Transponder schauen ohne daß es dabei zu Bild- oder Tonstörungen kam :)


    Gruß, Ollo

  • ich habe zunächst mit 2MB und der von Artur Skawina in der ML vorgeschlagenen Änderung (http://www.linuxtv.org/piperma…2005-November/006393.html) getestet.


    In tools.c sieht es jetzt so aus

    sowie


    Habe dann gleichzeitig drei Aufnahmen von ZDF, 3sat und Pro7 (alle in AC3) gestartet und dabei direkt ZDF live laufen lassen. Resultat:
    Nach ca. 4 Minuten lief der buffer wieder über.


    Danach habe ich zusätzlich den buffer auf 4MB erhöht. Bei gleichen Testbedingungen liefer buffer dann nach 15 Minuten über.


    Nächster Test: vdr mit 2 MB buffer, die Änderungen in tools.c sind immer noch drin, laptop mode ist an:
    Buffer läuft nach 20 Minuten voll.


    Das gleiche nochmal mit 4MB, nun läuft der buffer wieder nach 4 Minuten voll.


    nee, das scheint alles nix zu nützen...

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • nächstes Experiment: vdr-1.3.37, normaler 2MB buffer, ohne die o.g. Änderungen in tools.c
    aber: Diesen patch http://www.linuxtv.org/piperma…2005-November/006337.html eingespielt und die Schreibstrategie auf 0 gesetzt.
    Immerhin: alle 3 Aufnahmen laufen seit einer halben Stunde, ohne dass bisher der buffer überlief.


    Da ich nicht neu gebootet habe, ist wohl der laptop-modus auch noch an...

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • ... und, wie ging's aus?


    Übrigens kann man den laptop_mode auch wieder einfach ausschalten:


    echo 0 > /proc/sys/vm/laptop_mode


    Von dem UnbufferedFile patch habe ich auch schon gelesen, scheint was vernünftiges zu sein ...


    Gruß, Ollo

  • Hi,
    mein VDR crasht auch immer wieder wenn von ARD ne Aufnahme anlaufen soll nach 1-2 Minuten. Hab das Problem nur bei ARD! Wenn der VDR vorher läuft und dann auf ARD umschaltet um dort die Aufnahme zustarten crasht er zu 99% sicher, wenn er automatisch hoch fährt um die Aufnahme zustarten klappt es zu 50% stürzt dann aber beim Beenden der Aufnahme zu 99% ab...


    Chris

  • Zitat

    Original von ollo
    ... und, wie ging's aus?


    tja, beim 2. Experiment lief der Buffer dann wieder nach 20min. über. Aber der Patch bringt offenbar schon etwas. 3 gleichzeitige Aufnahmen + Live TV sind ja auch schon extrem.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hallo,


    Ich teste auch gerade den o.g. Patch. Dazu wäre es wissenswert, was der Parameter Write Strategy (0-2) bewirkt.... ???


    Ich kann erkennen, daß bestimmte Codesequenzen über
    " && Setup.WriteStrategy!=1 "
    ausgeklammert werden, also nur bei 0/2 ausgeführt werden.


    Gibt es Infos dazu ???



    MfG

Jetzt mitmachen!

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