PVR350 only - Bild friert nach ein paar Sekunden ein

  • Hallo,


    ich versuche einen VDR mit PVR350 only zum Laufen zu bekommen.
    Installiert habe ich SuSE 9.2, VDR 1.3.17, ivtv-0.2.0-rc3d, analogtv 0.9.73 und pvr350-0.0.3.


    Funktioniert nach längerem Probieren auch endlich.
    Jedenfalls sehe ich über den TVOut der PVR350 ein Bild - allerdings nur für einige Sekunden. Dann friert das Bild ein.


    In /var/log/messages steht

    Zitat


    Jan 11 22:03:17 linux vdr[6280]: buffer usage: 70% (tid=16386)
    Jan 11 22:03:18 linux vdr[6280]: buffer usage: 80% (tid=16386)
    Jan 11 22:03:19 linux vdr[6280]: buffer usage: 90% (tid=16386)
    Jan 11 22:03:19 linux vdr[6280]: buffer usage: 100% (tid=16386)


    Anscheinend läuft da ein Puffer voll.


    Das OSD funktioniert allerdings weiterhin. Man kann auch eine Aufnahme starten.
    Wenn man allerdings die Aufnahme wiedergibt, passiert wieder das Gleiche: das Bild friert nach ein paar Sekunden ein.


    Ich habe schon bei den analogtv-Einstellungen die Video-Bitrate und Bildgröße heruntergesetzt. Das bewirkt aber nur, dass das Bild etwas später einfriert.


    Woran könnte das liegen?


    Vielen Dank,
    Klaus

  • Ich hab das gleiche Problem, allerdings verwende ich das AnalogTV-Plugin nicht, weil ich die PVR350 nur als Ausgabe-Device verwende. Somit wird mir analogtv.usePVR350 = 1 wohl nichts bringen. Das Phänomen tritt nur bei VDR 1.3.17 auf, bei 1.2.6 hatte ich das Problem nicht. Hat jemand weitere Hints für mich?


    Danke!
    Markus

    MSI-6330, AMD Athlon 1.333@1GHz, 128 MB, 40 GB, wol, nvram-wakeup, Tobi's VDR 1.3.38, dxr3, epgsearch, osdteletext

  • Hallo Markus,


    habe mich zu früh gefreut. Der Eintrag "analogtv.usePVR350 = 1" hat doch
    nicht den gewünschten Erfolg gebracht. Das Bild frierte zwar nicht mehr ein,
    aber dafür konnte man nicht mehr aufzeichnen. Die aufgezeichneten
    Dateien hatten eine Größe von 0 Byte. Und auch ansonsten wurde
    das System sehr instabil.


    Ich frage mich, ob "analogtv.usePVR350 = 1" überhaupt richtig ist. Beim
    vdr 1.2.6 ging es ja auch ohne.


    In den Sourcen von analogtv steht in "menusetup.c":

    Zitat

    #if 0 //XXX Sorry people, this was only a _test_ ... it never worked as expected!
    Add(new cMenuEditBoolItem(tr("Setup.analogTV$Use PVR350 TV-out"), &sx.usePVR350, NO, YES));
    #endif


    Scheint mir eher so, als dass man "analogtv.usePVR350 = 0" verwenden muss.
    Das PVR350-Plugin sorgt schon selbst für den TV-Out.


    Aber warum hat das mit vdr 1.2.6 funktioniert, aber nicht mit vdr 1.3.17?


    Grüße
    Klaus

  • Zitat

    Original von klaus1234


    Anscheinend läuft da ein Puffer voll.


    genau das ist das Problem. Bei mir brachte ein Wechsel von ivtv 0.1.9 zu ck100z Abhilfe. Es kommt auch auf den Mainboard-Chipsatz an.


    Ich würde zunächst auf analogtv 0.9.37 und vdr 1.3.18 updaten. Dann mal einen älteren ivtv-Treiber (z.B. aus den good old ones den 100z) ausprobieren. Danach ggf. mal auf vdr 1.3.12 downgraden. Klaus hatte ab der 13 oder 14 mit Änderungen am Transfermodus begonnen, die bei meiner dxr3/PVR250-Lösung zu Rucklen führten.

    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 habe jetzt vdr 1.3.18 und vdr 1.3.12 probiert. Bei beiden läuft
    der Buffer voll.


    Ivtv ck100z kann ich leider nicht übersetzen. Meldung beim Übersetzen:

    Zitat


    ivtv-firmware.c:106: warning: implicit declaration of function `open´
    ivtv-firmware.c:112: warning: implicit declaration of function `lseek´
    ivtv-firmware.c:123: warning: implicit declaration of function `read´
    ivtv-firmware.c:129: warning: implicit declaration of function `close´


    Das Laden des Moduls schlägt dann wegen dieser fehlenden Funktionen
    fehl.


    Mit Google habe ich herausgefunden, dass diese Version von ivtv
    anscheinend mit meinem Kernel (2.6.8-24) nicht funktioniert.


    Dann habe ich ivtv 0.3.2b versucht. Da gab's wieder den Buffer overflow.


    Jetzt guck' ich dumm aus der Wäsch'.


    Gruß
    Klaus

  • Hallo,


    bei mir läuft 1.3.17 mit folgender geänderter Routine in writer.c



    Gruss Torsten

  • kannst Du das nochmal näher erläutern? Es geht um die writer.c aus dem analogtv-plugin? welche Version? an welcher Stelle hast Du was geändert, und was bewirkt die Änderung?

    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

  • Hi,


    ich dachte, es sei eindeutig, dass es um das pvr350-Plugin geht. Die Änderung habe ich dementsprechen in PLUGINS/src/pvr350/writer.c gemacht.


    Wichtig scheint zu sein auch kleinere MPG-Packete an die Karte zu schicken. Sonst ist irgendwann der Ringbuffer voll. Dann steht die Wiedergabe.


    BTW: Hat es irgendjemand geschafft, das pvr350-Plugin in 1.3.18 zum laufen zu kriegen?

  • Hi Torsten,


    mit Deinem Patch läuft es bei mir tatsächlich auch - magic!


    Allerdings auch nur mit vdr 1.3.17. In 1.3.18 läuft der Buffer wieder voll.


    Sehe auf den ersten (und zweiten) Blick aber leider auch nicht,
    wieso es mit der 1.3.18 wieder nicht läuft. In den Sourcen hat
    sich einfach zu viel geändert, und außerdem verstehe ich von den
    VDR-Internas leider (noch) zu wenig.


    Aber trotzdem Danke für den Patch für 1.3.17!
    Klaus

  • ich habe gar kein pvr350-plugin (und auch keine PVR 350), sondern eine PVR250 zusammen mit einer dxr3 am werkeln. Bis vdr 1.3.12 läuft das prima. Bei allen späteren Versionen ruckelt das Bild. Den langsam voll laufenden buffer habe ich im log auch mehrfach gesehen. Es muss an einer veränderter Arbeitsweise von vdr und insbesondere am Transfermodus liegen. Ich glaube, Klaus S. hat das für den Betrieb von budget-Karten optimiert, also Datenfluß Richtung FF-Karte. Dass bei Ausgabe über die PVR oder eine dxr3 ein Transfermodus noch im anderen Sinne stattfindet, war dabei nicht berücksichtigt
    So mal meine laienhafte Theorie, ohne die Zusammenhänge wirklich genau zu überblicken.

    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

    2 Mal editiert, zuletzt von Dr. Seltsam ()

  • Hi Klaus,


    hab' mal ein wenig abends mit dem Plugin rumgespielt. Was ab 1.3.18 fehlt, ist eine Implementierung von PlayAudio in driver.c|h. Wenn Du das implementierst, d.h. alle Daten in den Ringbuffer schreibst und die die Länge der übergebenenen Daten als Rückgabewert zurück gibst, krieg ich zumindest das Bild von der PVR selbst zu sehen. Die Wiedergabe von DVB-Daten gelingt mir noch nicht zufriedenstellend. Mal sehen, ob ich da noch 'ne Lösung zu finde.


    Gruß


    Torsten

  • Habe es heute auch probiert, mit 0.0.3 von Tobis-Experimental ... ohne Erfolg ...


    Nach dem ich die 0.0.4pre1 selbst durch den Kompiler gejagt habe läufts nun hier!


    LG
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

Jetzt mitmachen!

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