[gelöst] [softhdcuvid] Absturz bei PIP

  • Ich habe das Problem mit Delay Audio und anschließenden Clear Meldungen recht häufig, auch ohne Benutzung von PIP.

    Reproduzieren kann ich es wenn ich häufig von Tele5 auf Kabel1 schalte. Irgend wann tritt es dann auf und ich muss VDR neu starten.


    Hier das Log dazu:



    Kann ich irgend wie beim debuggen helfen?

    Gentoo Linux ~ VDR 2.6.6 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

  • Dann sieht das log im Falle des Fehlers so aus:


    Gentoo Linux ~ VDR 2.6.6 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

  • Da scheint mir ein Problem mit dem PTS vorzuliegen. Zumindest ist der Treiber der Ansicht das das Video zu langsam abgespielt wird und somit Video und Audio auseinanderlaufen. . Der Sender ist mit 480x576 auch etwas exotisch. Evtl. sendet der in 60 Hz.

  • Ich würde sagen, Kabel 1 sendet in 720x576
    Nach dem das Format falsch erkannt wurde, tritt dann das Problem auf.


    Im Anhang mal ein Log, wo vor dem Clear keine Audio Delay-Meldungen kommen.


    Ohne wirklich von der Materie viel Ahnung zu haben, kann es sein, dass hier der ständige Wechsel von interlaced zu progressive eine Rolle spielt?


  • Das erkennen der Auflösung macht ffmpeg. Im Log sehe ich das beim ersten schalten auf Kabel 1 richtig die 720x576 erkannt werden. Bei Tele 5 stimmt es auch noch und dann ist es bei Kabel 1 falsch. Das sind aber alles interlaced Sender. Also kein umschalten zw. interlaced und non-interlaced.

    Welche ffmpeg Version nutzt du denn ? UNd welchen NVIDIA Treiber ?

  • Welche ffmpeg Version nutzt du denn ? UNd welchen NVIDIA Treiber ?


    ffmpeg 6.0

    nvidia-drivers 535.113.01



    Nachtrag:

    Die Probleme habe ich schon länger, also auch mit älteren Versionen der Treiber und von ffmpeg.

    Ich würde ausschließen, dass es damit zusammen hängt.


    Das sind aber alles interlaced Sender. Also kein umschalten zw. interlaced und non-interlaced.


    Das stimmt leider nicht mehr, siehe obigen Faden.


    Hier noch mal ein markad-log von einer Test-Aufnahme von Kabel 1.


    Gentoo Linux ~ VDR 2.6.6 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

    Einmal editiert, zuletzt von heifisch ()

  • Das stimmt leider nicht mehr, siehe obigen Faden.

    Tja das liegt dann aber immer noch an ffmpeg oder genauer an dem Schrott den Kabel 1 sendet. Ich kann da nichts tun. Selbst wenn ich die 480 ignoriere und 720 annehme, dann kommen falsche Frames vom ffmpeg decoder in 480.

    Evtl. kannst du mal dem NVIDIA Treiber auf 425 zurücknehmen. Der 535er hat ja wohl auch Probleme mit dem deinterlacing.

  • Evtl. kannst du mal dem NVIDIA Treiber auf 425 zurücknehmen. Der 535er hat ja wohl auch Probleme mit dem deinterlacing.

    Kann ich machen, bzw, geht auch 470.199.02?

    Unter Gentoo gibt es dann nur noch 390.157 allerdings hardmasked.


    Ich muss dazu allerdings den Kernel downgraden...


    Übrigens hatte zillerbaer auch ein Problem mit diesen Wechseln und konnte das in seinem Ausgabeplugin lösen.

    Gentoo Linux ~ VDR 2.6.6 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

  • Da habe ich leider keine Idee. Das Delay Audio lässt darauf schliessen das kein Video mehr kommt oder nicht mehr verarbeitet werden kann.

    Es ist aber nichts zu sehen warum das so ist. Evtl. kommen die beiden parallelen decoder durcheinander. Da müsste man mal ffmpeg mit debug laufen lassen. Das kanst du in codec.c in Zeile 353 einschalten und dann die Zeile 354 auskommentieren. Das müllt aber das Log ganz schön zu.

    Eben habe ich nun wieder den Absturz von 576i als PIP und 720p als laufender Sender mit der Anpassung in codec.c nachgestellt - siehe log in der Anlage.


    Der Speicher der Grafikkarte läuft tatsächlich voll und dann der Absturz - siehe Screenshot von der Grafikkarte.


    Das passiert auch nur in der Kombination 720p als laufender Sender und 576i im PiP.


    Hilft das weiter?


    Danke!


    Stefan

    Bilder

    Dateien

  • Das passiert auch nur in der Kombination 720p als laufender Sender und 576i im PiP.

    Das Problem scheint mir beim mpeg2 decoder zuliegen. Zumindest gehen dem die Surfaces aus. Du könntest mal die Anzahl der Surfaces für mpeg2 erhöhen. Dazu musst du in codec.c in Zeile 315 folgendes ändern:

    Code
     if (av_opt_set_int(decoder->VideoCtx->priv_data, "surfaces", 13, 0) < 0) {

    Also aus 9 eine 13 machen. Ob das aber hilft kann ich nicht sagen. Wenn es tatsächlich ein Speicherfehler in ffmpeg gibt dann wird es nicht helfen.

  • Nachtrag:


    Die Probleme habe ich schon länger, also auch mit älteren Versionen der Treiber und von ffmpeg.


    Ich würde ausschließen, dass es damit zusammen hängt.

    Ich habe nun mal versucht das mit Kabel 1 nachzustellen. Aber leider ohne Erfolg. Egal wie oft ich auf Kabel 1 schalte es wird immer als 720x576 erkannt.

    Ich habe cuda 12.2 und den Treiber 535.104.05. und ffmpeg 5.1.3

  • Ich habe nun mal versucht das mit Kabel 1 nachzustellen. Aber leider ohne Erfolg. Egal wie oft ich auf Kabel 1 schalte es wird immer als 720x576 erkannt.

    Ich habe cuda 12.2 und den Treiber 535.104.05. und ffmpeg 5.1.3

    Danke für das Testen.

    Ich kann das reproduzieren, wenn ich zwischen Tele5 und Kabel 1 hin und her schalte. (jeweils SD)


    Das Problem besteht auch schon länger, also auch mit älteren Treiber/ffmpeg/Cuda Varianten.


    Ich habe jetzt mal mit softhddevice cuda getestet, konnte dort aber den Fehler bisher nicht reproduzieren.


    Den Downgrade des Kernel und Treibers müsste ich noch machen.


    Wenn Du eine Idee hast, was ich für mehr Debug-Informationen einfügen kann, dann würde ich das gerne übernehmen.

    Gentoo Linux ~ VDR 2.6.6 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

  • Ich habe jetzt mal mit softhddevice cuda getestet, konnte dort aber den Fehler bisher nicht reproduzieren.

    Ich wüsste im Moment nicht was ich noch tun kann. Wenn mir ffmpeg die "falsche" Auflösung meldet dann bin ich machtlos.

    Ich vermute das passiert auch wenn du bei SD den YADIF deinterlacer aktivierst ?

    Mit welchem deinterlacer hast du denn softhddevice cuda getestet ?

  • Evtl. kannst du mal dem NVIDIA Treiber auf 425 zurücknehmen. Der 535er hat ja wohl auch Probleme mit dem deinterlacing.

    Meintest Du 525?


    Mit welchem deinterlacer hast du denn softhddevice cuda getestet ?

    Bei dem ersten Test war Adaptive eingestellt. Soll ich etwas anderes probieren?


    Ich vermute das passiert auch wenn du bei SD den YADIF deinterlacer aktivierst ?

    Das müsste ich noch einmal probieren. Da erinnere ich mich gerade nicht, ob ich das schon getestet habe.

    Gentoo Linux ~ VDR 2.6.6 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

  • Ich vermute das passiert auch wenn du bei SD den YADIF deinterlacer aktivierst ?


    Mit YADIF passiert es auch.


    Hier das log dazu:

    Gentoo Linux ~ VDR 2.6.6 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

  • Wenn das umschalten im Log ab Sekunde 42 beginnt dann ist es faul. Der Callback von ffmepg kommt 3 mal. Beim ersten mal ist er richtig mit 720x576 und beim zweiten und dritten mal ist er falsch mit 480x576. Dazwischen erkennt der Treiber einen unerwarteten Stream change.

    Ohne das ich es hier reproduzieren kann komme ich da nicht weiter.

  • Wenn das umschalten im Log ab Sekunde 42 beginnt dann ist es faul. Der Callback von ffmepg kommt 3 mal. Beim ersten mal ist er richtig mit 720x576 und beim zweiten und dritten mal ist er falsch mit 480x576. Dazwischen erkennt der Treiber einen unerwarteten Stream change.

    Ohne das ich es hier reproduzieren kann komme ich da nicht weiter.

    Ist schon klar.


    Irgendwie sind wir schon länger Offtopic. Wollen wir trotzdem hier weiter machen?


    Wo kann das her kommen, vom satip-Plugin?

    Bei softhddevice ist mir aufgefallen, dass ich auch häufig nach dem Umschalten Bildfehler habe, die aber nicht zu obigen Verhalten führen.

    Dafür habe ich beim Umschalten von Kabel1 auf Tele5, Fragmente von Pro7MAXX gesehen. Der Sender liegt ja mit auf der gleichen Frequenz wie Kabel1.

    Ob es hier eine Problem mit einem Puffer gibt?

    Gentoo Linux ~ VDR 2.6.6 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

  • Ja könnte sein das beim umschalten noch reste vom alten Stream kommen. Das sollte der VDR Kernel aber verhindern.

    Ich nutze auch SatIP und da passiert das definitiv nicht. Wie ist denn dein SatIP konfiguriert ? Hast du Fronted Reuse auf yes stehen ?

  • Ich nutze auch SatIP und da passiert das definitiv nicht. Wie ist denn dein SatIP konfiguriert ? Hast du Fronted Reuse auf yes stehen ?


    Weil ich häufig Fehler in den Aufnahmen hatte, hatte ich es deaktiviert.

    Habe immer noch Fehler in den Aufnahmen, aber häufig am Anfang, so dass sie weg geschnitten werden.

    Die LAN-Verkabelung kann ich ausschließen, da ich den Fehler auch mit einem kurzem nagelneuen Patchkabel reproduzieren kann.


    Code
    vdr ~ # grep satip /etc/vdr/setup.conf 
    satip.CICAM = 0 0
    satip.DisabledFilters = 
    satip.DisabledSources = 
    satip.EnableCIExtension = 0
    satip.EnableEITScan = 1
    satip.EnableFrontendReuse = 0
    satip.OperatingMode = 3
    satip.TransportMode = 2

    Gentoo Linux ~ VDR 2.6.6 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

Jetzt mitmachen!

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