[gelöst] [softhdcuvid] Absturz bei PIP

  • Hallo zusammen,

    beim Aufbau eines neuen VDRs für's Wohnzimmer stelle ich leider fest, dass PIP hier nicht funktioniert. Mit dem Aktivieren von PIP wird das Bild schwarz, der aktuelle Frame erscheint im kleinen PIP-Fenster als "stilles Bild" und der VDR stürzt ab. Backtrace und log sind angehängt.


    Ich nutze das aktuelle Opensuse Tumbleweed und eine GTX 1650.

    Die Versionen von Vulkan, libplacebo, nvidia-Treiber und softhdcuvid sind dabei unabhängig - ich habe einige getestet.

    Der gleiche VDR lief nach einer Installation vor einigen Monaten einwandfrei. Es liegt vermutlich an irgendeiner neueren Software-Version - meson, ninja...


    Nun hoffe ich auf Hilfe - vor allem von jojo61, dem Schaffer dieses Plugins mit dem tollen Bild 8).


    Danke!


    Stefan

    Dateien

  • Hast du mal das 'normale' softhddevice getestet, ob es damit geht

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

  • Das sieht mir nach der libplacebo aus. Ich kann das hier mit der API Version 246 reproduzieren.

    Irgend jemand löscht den Framebuffer wenn placebo das PIP da hineinrendern soll. Könnte sein das libplacebo das nicht mehr unterstützt.

    Ohne libplacebo funktioniert es einwandfrei. Also versuche mal eine ältere libplacebo oder du musst auf die libplacebo verzichten.

  • Hast du mal das 'normale' softhddevice getestet, ob es damit geht

    Mit dem neuesten Stand von Inj funktioniert PIP bei mir.


    Ohne libplacebo funktioniert es einwandfrei. Also versuche mal eine ältere libplacebo oder du musst auf die libplacebo verzichten.

    Der Absturz erfolgt leider auch ohne libplacebo - mit dem Unterschied, dass die Anzeige nicht schwarz wird, sondern das Bild bleibt stehen und das gleiche Bild wird im PIP-Fenster angezeigt, dann der Absturz.

    Wo könnte ich ansetzen?

  • Schwer zu sagen wo du ansetzen könntest. Welche nvidia Treiber version nutzt du denn und welche hattest du als es noch lief ?

    Und wie sieht es mit dem X Server aus ? Ist da evtl. nun Wayland im Einsatz ?


    Eigentlich supporte ich PIP nicht mehr weil es nie sauber lief.

  • Schwer zu sagen wo du ansetzen könntest. Welche nvidia Treiber version nutzt du denn und welche hattest du als es noch lief ?

    Und wie sieht es mit dem X Server aus ? Ist da evtl. nun Wayland im Einsatz ?


    Eigentlich supporte ich PIP nicht mehr weil es nie sauber lief.

    Wayland ist nicht im Einsatz.


    Ich habe nun von nvidia 535 auf 470 gewechselt, da funktioniert PIP ohne libplacebo so lala.


    Mit libplacebo 235 erfolgt bei 720p-Sendern auch kein Absturz mehr, das kleine PIP-Fenster erscheint und das Bild dort ist stockend, einige Frames werden wohl verschluckt. Der Rest des Fensters wird allerdings schwarz, der Ton läuft aber weiter. Beim Kanalwechsel ertönt der Ton des anderen Kanals, das Bild bleibt schwarz und das PIP-Fenster wird weiterhin stockend angezeigt.


    Anbei der Log zum Aktivieren von PIP.

    Bei SD-Sendern erfolgt gleich ein Absturz - siehe Log im Anhang.


    Wo könnte ich noch ansetzen? ;(


    Stefan

    Dateien

  • Ich denke du musst noch weiter zurück gehen mit libplacebo. Da wurde mal ein Render_Mix eingeführt um zwei Framebuffer zu rendern.

    Das habe ich nie nachgezogen und ich denke das dies die Ursache ist das das Hauptbild schwarz wird wenn ich das PIP dahinein rendere.

  • Ich denke du musst noch weiter zurück gehen mit libplacebo. Da wurde mal ein Render_Mix eingeführt um zwei Framebuffer zu rendern.

    Das habe ich nie nachgezogen und ich denke das dies die Ursache ist das das Hauptbild schwarz wird wenn ich das PIP dahinein rendere.

    Bis zurück zu libplacebo 5.229 (Okt 26, 2022) ist das Verhalten mit dem schwarzen Bild bei PIP unverändert. Mit älteren Versionen kompiliert softhdcuvid nicht mehr.


    Ich habe dann mal nach dem Render_Mix gesucht und das hier gefunden. Doch leider habe ich es nicht hinbekommen, die Änderungen aus dem libplacebo 246 herauszunehmen.

    renderer: make pl_render_image_mix work on single frames · haasn/libplacebo@86f7a56
    This can still be disabled by using `skip_caching_single_frames` to revert back to the old logic. That said, I decided to default it to enabled, effectively…
    github.com


    Ist das überhaupt die richtige Stelle?


    Danke!


    Stefan

  • Ich habe den Fehler nun im Git korrigiert. Und es sollte wieder PIP gehen.

    Aber wie gesagt es ist unstabil und ich entwickle es nicht weiter.

    Vielen Dank jojo61! :tup :]


    Das Bild wird nicht mehr schwarz, sondern das Fernsehbild bleibt - soweit der VDR nicht abstürzt :wand . Bei ARD 720p funktioniert's am Besten, bei ZDF 720p oder 576i-Sendern erfolgt der Absturz dann 1 bis 2 s nach dem Aktivieren.

    Gleiches Verhalten ohne libplacebo.


    Ist das bei anderen auch so? Oder liegt das vielleicht an meiner GTX1650, den nvidia-Treiber oder oder?


    Stefan

  • Ich denke es liegt eher daran, das kaum einer PIP nutzt, und somit nicht so auffällt.

    https://www.minidvblinux.de/forum/

    1x OctopusNet mit 8x DVB-C
    1x Raspberry 4 MLD 6.0 SATIP (softhddevice-drm )

    1x RockPi 4 MLD 6.0 SATIP (softhddevice-drm )

    1x Raspberry 3 als Client MLD 5.4

    1x Raspberry 2 als Client MLD 6.0

    1x Raspberry 1 (staubt gerade so vor sich hin) ;)
    1x Cubietruck

    1x MCC 100
    1x BananaPi

    1x Zotac CI327 MLD 6.0 SATIP (softhddevice)

  • Ich denke es liegt eher daran, das kaum einer PIP nutzt, und somit nicht so auffällt.

    Danke für Deinen Kommentar!


    Nachdem sich niemand mehr gemeldet hat, setze ich das Thema auf gelöst, auch wenn pip damit für mich nicht nutzbar ist. Aber immerhin hat jojo61 extra ein Update gemacht. Nochmals dankeschön!


    Der VDR mit softhdcuvid soll demnächst ins Wohnzimmer wandern, um dort die Bildquali am großen 4K-TV zu beurteilen und genießen. Wenn PIP dann doch wichtiger ist, dann gibt's immernoch das von Inj toll gepflegte softhddevice.


    Stefan

  • 447377

    Hat den Titel des Themas von „[softhdcuvid] Absturz bei PIP“ zu „[gelöst] [softhdcuvid] Absturz bei PIP“ geändert.
  • Ich habe nochmal eine kleine Änderung für PIP gemacht. Das sollte den Absturz verhindern. Hoffe ich zumindest.

    Die Stelle fiel mir auch auf, aber aufs Auskommentieren kam ich nicht... Ein weiteres Mal: Vielen Dank! :applaus

    Das bringt mich schon deutlich weiter.


    Zur Dokumentation:

    PIP aktivieren und auf einen anderen Kanal schalten, egal ob SD- oder HD-Sender, funktioniert.

    Was nicht funktioniert sind "PIP Kanal +/-" - mir egal.

    Was nur eingeschränkt funktioniert: PIP-Aktivierung auf einem SD-Kanal und dann Umschalten auf einen HD-Kanal bringt VDR nach etwa 10 min zum Absturz (eingefrorenes Bild, Menü geht noch kurz, dann auch nicht mehr) - im Log steht dann was von Delay Audio Drift.


    Stefan


  • Wenn du Delay Audio hast dann ist das Video zu langsam. Könnte am Rechner liegen der ja 2 Streams dekodieren muss, kann aber auch andere Ursachen haben. Ich glaube da könnte es noch ein Problem geben mit dem Sync wenn 2 Streams offen sind. Ausserdem ist meine Änderung nicht wirklich sauber.

    Evtl. schaue ich nochmal ob ich das zumindest sauber hinbekomme.

  • Wenn du Delay Audio hast dann ist das Video zu langsam. Könnte am Rechner liegen der ja 2 Streams dekodieren muss,

    Ich habe eine nvidia GTX 1650 und einen Intel G5500 (Cofee Lake).


    Ohne libplacebo übrigens gleiches Verhalten. SD-Kanal im PIP-Fenster, HD-Kanal im großen - nach etwa 10 min Absturz.


    Info: Mit libplacebo ist das PIP-Fenster sehr abgehakt. Für mich aber iO.


    Danke!


    Stefan

  • Das placebo Problem mit dem PIP habe ich nun gefunden und gefixt.

    Vielen Dank jojo61, das sieht nun sauber aus und wird immer besser :thumbup::lachen3.


    Wenn ein 720p-Sender im PIP ist und ein Interlaced-Sender (576i oder 1080i) geschaut wird, ist VDR nach spätestens 10 min nicht mehr ansprechbar. Hast Du eine Idee?

    Alle anderen Kombinationen funktionieren.


    Die CPU ist dabei zu 20 % ausgelastet.


    Stefan

  • 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.

Jetzt mitmachen!

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