DVD Wiedergabe ruckelt am Anfang (PVR only)

  • Hallo liebe VDR-Portal-Gemeinde!
    Dies ist mein erster Beitrag in diesem Forum, und dann gleich 'n Problem. Wo soll das enden ;)
    Doch zuerst einmal ein großer "Danke!" an alle die dieses Forum hier betreiben und mit Leben füllen.


    Ich hab zwar ab und zu Linux auf meiner Platte, hab aber nie Zeit und Muße gehabt mich da ganz tief reinzuknien. Ist lang eher daß ich mal nen Kernel gebacken habe...


    So, nun das Problem:
    Ich nutze c't VDR 7 auf einem CW35-L Motherboard mit einer PVR350-Analog-TV-Karte.
    Dies ist die einzige Karte.
    CPU ist ein Coppermine Celeron mit 1GHz, FSB 100MHz, dazu 2x128MB SD-RAM.
    c't VDR an sich habe ich gemäß dieser Anleitung eingerichtet
    http://www.vdr-wiki.de/wiki/index.php/C't-VDR_-_Leitfaden_f%C3%BCr_Einsteiger
    Die PVR350 habe ich gemäß dieser Anleitung eingerichtet:
    http://thesse.de/5060.htm


    Die Installation lief nicht ganz rund, ohne extra Grafikkarte startete am Ende der ctvdr nicht. Aber mit einer 4MB ATI PCI Grafikkarte endete die Installation mit einem Bild auf dem TV. Die Karte konnte ich am Ende wieder entfernen und die Intel-Onboard-Karte aktivieren ohne etwas neu konfigurieren zu müssen. Für die Installation übers Netz hatte ich eine USB-Netzwerkkarte benutzt, die wurde automatisch erkannt. Die Bildausgabe erfolgt über die PVR350 via SCART. Da ich kein Original-Kabel besitze und es den komischen Stecker nirgends im bekannten Universum einzeln gibt habe ich die Scart-Anschlüsse auf SUB-D 9pol gelötet, und von dort auf die Karte. Die Belegung hab ich glaub ich aus Wikipedia.


    Den blinkenden Cursor oben im TV-Bild bin ich mit dem Boot-Zusatz "fbcon=vc:64-63 fbcon=map:2" los geworden. Den Tipp dazu fand ich hier im Forum.


    TV-Wiedergabe (Kabel-TV) funktioniert gut, Aufzeichnen auch.
    Wiedergabe von der Festplatte zeigt keinerlei Probleme. Die Aufnahmen sehen sogar auf unserem neuen LED-TV gut aus.


    Aber:
    Wenn ich die Aufnahme auf DVD brenne und dann wieder abspiele, ruckeln Bild und Ton, besonders am Anfang. Nach einer halben Minute ist dann alles ok, im weiteren Verlauf kommt es vereinzelt zu Rucklern. Wenn ich zurückspule um das übersprungene nochmal zu sehen dann wird es manchmal schlimmer, manchmal besser.
    Das passiert wenn ich die DVD direkt über das DVD-Plugin abspiele, aber auch denn ich über "Play Disc" den vdr raten lasse was im Laufwerk ist.
    Aktiviertes "Read ahead" verschlimmert es am Anfang extrem, und auch im weiteren Verlauf wird es im besten Fall nur genauso schlimm wie ohne Read ahead.
    Auch eine andere DVD, die ich mit Magix Studio unter Windows erstellt habe ruckelt. In einem gekauften Standalone-Player läuft sie ohne Probleme.
    Kratzer sehe ich auf keiner DVD.
    Die Festplatte hängt am ersten IDE-Kanal, der DVD-Brenner (Toshiba Samsung Storage Technology SH-S182M) hängt am 2. Kanal.
    hdparm -d /dev/hda bzw /dev/hdc melden beide using_dma = 1 (on)


    Ok, der i810 ist nicht der schnellste Chipsatz, aber der muß ja auch nicht viel tun, außer DMA, oder?
    top meldet mir während der Ruckler bis zu 20% CPU-Last für vdr, aber wenn sich die Wiedergabe "beruhigt" hat sind es weniger als 6%.


    Ich hab versuchsweise mal ein anders Mainboard verwendet, ein FSC D1215 (i815E) mit einem P3 1300 MHz und 512MB RAM. Da hat es auch geruckelt egal ob mit oder ohne 64MB geforce3-AGP-Karte.


    Hat jemand eine Idee? Ich bin für jeden Hinweis dankbar!


    Loetauge

    Elektrik ist, wenn's nach Ampere riecht!
    neuer VDR: easyVDR 3.0 auf AMD Einkerner mit Nvidia GraKa für DVB-C in HD
    Im Bastelkeller: FSC Scenic N320 Gehäuse...

    2 Mal editiert, zuletzt von Loetauge ()

  • Hallo Loetauge,


    Du bist ja schon recht weit gekommen, Respekt!


    ich bin der Entwickler des pvr350-Plugins und kenne die von Dir beschriebenen Probleme im Zusammenspiel mit dem dvd-plugin. Je nach Disc ist es mal besser oder schlechter. Ich vermute, dass das dvd-plugin zu sehr auf die FullFeature-DVB-Karten optimiert ist und die internen buffer-Größen nicht zum Hardwaredekoder der PVR350 passen.


    Ich habe eine Lösung entwickelt, um die PVR350 mittels mplayer und cvidix anzusprechen. dabei wird leider nicht der hardwaredekoder genutzt, sondern die PVR350 wie eine Grafikkarte behandelt. Damit kann man auf modernen CPUs auch divx ansehen. Für mpeg2 könnte auch eine 1GHz CPU vielleicht reichen. Aber: Das ganze script ließe sich auch so umbauen, dass man für DVD-Wiedergabe nicht den mplayer-Ausgabetreiber cvidix benutzt, sondern v4l2. Dann wird der Hardwaredekoder verwendet.


    Das ist aber nicht ganz einfach einzurichten, schon gar nicht unter ctvdr. Schau mal in die Sourcen des pvr350-Plugins in den Ordner mplayer.


    Du wirst vermutlich auch nicht drumherumkommen, mplayer und zwei Bibliotheken selbst zu kompilieren. Andererseits: wenn Du von vornherein auf die cvidix-Lösung verzichtest und nur den v4l2-Ausgabetreiber nimmst, könntest Du Glück haben und der ist vielleicht mit einkompiliert. Was sagt denn die Ausgabe von

    Code
    mplayer -vo help

    ?
    Wird da auch "v4l2 V4L2 MPEG Video Decoder Output" aufgeführt?
    Die nächste Frage wäre dann, ob der Debian-mplayer auch mit dvdnav-Unterstützung kompiliert wurde. Aber selbst wenn nicht: Für selbstgebrannte DVDs brauchst Du ja keine Menüunterstützung.

    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 Dr. Seltsam!
    Hut ab vor deinem Plugin, es läuft und läuft und läuft!


    So im Groben glaube ich zu verstehen was du mir vorschlägst.
    Die Dekodierung der DVD soll per Software erledigt werden, das dekodierte Video soll dann trotzdem über die PVR350 ausgegeben werden. Die einzelnen Details sind mir zwar noch nicht bekannt, aber Doku lesen, auch mehrmals, soll ja schon mal geholfen haben ;)


    Also...

    Code
    mplayer -vo help


    gibt mir diese Ausgabe:


    v4l2 wird aufgeführt, cvidix aber auch.
    Das muß jetzt wohl irgendwie in /etc/mplayer/mplayer.conf eingetragen werden, oder?


    Gruß,Loetauge

    Elektrik ist, wenn's nach Ampere riecht!
    neuer VDR: easyVDR 3.0 auf AMD Einkerner mit Nvidia GraKa für DVB-C in HD
    Im Bastelkeller: FSC Scenic N320 Gehäuse...

  • es ist nicht ganz so einfach.


    der Ausgabetreiber v4l2 wird wohl funktionieren, cvidix hingegen zu 99,9% nicht. Grund ist, dass beim Kompilieren standardmäßig zwar diverse cvidix-Treiber aktiviert sind, die Unterstützung für die PVR350 jedoch nicht. Deshalb fehlt das in allen Distris.


    Ich kenne mich mit Debian/ctvdr nicht aus, aber es wird dem mplayer-Plugin vermutlich ein Parameter mit übergeben, der ihm sagt, welches Script in welchem Ordner beim Aufruf einer Datei ausgeführt wird. Das Script hat dann wiederum die Aufgabe, das mplayer binary mit den richtigen Optionen auszuführen.


    Du musst erreichen, das anstelle des Standardscriptes -was nur mit FF-Karten funktioniert- das von mir entwickelte Script nebst Konfigurationsdatei verwandt wird. In letzterer setzt Du MPEG_DIRECT="true" und testet erstmal mit einer mpg2-Datei, die 720x576 hat. Dann sollte bereits der v4l2-Ausgabetreiber verwandt werden (=Hardwaredekodierung).


    Die Anpassung des Scripts, so dass auch DVDs mit v4l2 statt cvidix gestartet werden, wäre der letzte Schritt.


    Ich sage aber vorsichtshalber gleich: der Ausgabetreiber v4l2 funktioniert nur, wenn auch der Ton mp2 ist. Mit ac3-DVDs kann das nicht funktionieren. das geht nur mit cvidix, wobei der Ton dann aber über die Soundkarte laufen muss.

    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

  • Wow, Danke für die Ausführungen. Das klingt nach Arbeit, Zeit und vielen Tests. Naja, ich hab's ja so gewollt :)

    Elektrik ist, wenn's nach Ampere riecht!
    neuer VDR: easyVDR 3.0 auf AMD Einkerner mit Nvidia GraKa für DVB-C in HD
    Im Bastelkeller: FSC Scenic N320 Gehäuse...

  • Zitat

    Original von Dr. Seltsam
    Schau mal in die Sourcen des pvr350-Plugins in den Ordner mplayer.


    findest Du übrigens hier: http://drseltsam.device.name/vdr/pvr/src/pvr350/

    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

  • Vielen Dank für die Sourcen. Leider muß das noch etwas warten, denn ich hab ein viel dringenderes Problem mit der Fernbedienung entdeckt.
    Da such ich aber noch nach Antworten, bevor ich hier 'nen neuen Thread lostrete ;)

    Elektrik ist, wenn's nach Ampere riecht!
    neuer VDR: easyVDR 3.0 auf AMD Einkerner mit Nvidia GraKa für DVB-C in HD
    Im Bastelkeller: FSC Scenic N320 Gehäuse...

Jetzt mitmachen!

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