softhdcuvid/softhdvaapi/softhddrm with hevc and UHD

  • Nachdem ich media-libs/glm installieren musste, bekomme ich die Meldung:


    Code
    openglosd.o:/usr/local/vdr/vdr-2.4.0/PLUGINS/src/softhdcuvid-180905/codec.h:50: multiple definition of `hw_device_ctx'
    softhdcuvid.o:/usr/local/vdr/vdr-2.4.0/PLUGINS/src/softhdcuvid-180905/codec.h:50: first defined here


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • die Grab Funktion muss ich noch ausbauen. Da direkt auf der Karte gerendert wird kann man nichts mehr graben.

    Wenn ich den vdr mit vdr-plugin-vdrboblight oder vdr-plugin-seduatmo starte dann kracht er sofort, könnte mir vorstellen das die Schnittstelle auf die hier aufgesetzt wird in Richtung des grab geht.


    Was mit auch aufgefallen ist das wenn ich die osd Größe fest auf 1920 stelle ich nur noch ein weißes osd bekomme (trotz vorhandener 1920er Auflösung)


    Ansonsten sehr schick auf der gt630 hier, weiter so!


    Christian


    Edit:

    Bzw kann das auch an seduatmo oder vdrboblight liegen das die unbedingt das softhddev suchen und nicht finden?

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



    Einmal editiert, zuletzt von CKone ()

  • Scheint ja so langsam eine Alternative zu vdpau oder vaapi zu werden. Plane mir evtl auch eine GTX 1050 TI zu kaufen.

    Nur wie macht ihr das denn wenn die grab-Funktion aus dem neuen Plugin rausfliegt?

    Wie bekommt ihr dann Euer Ambilight zum laufen? Mit hyperion und externen Grabber?

  • ich hoffe ja man findet noch eine Lösung für das grab, ansonsten wird die UHD Zukunft wohl eine ohne Ambilight ;)


    Ich muss mein Statement von oben erweitern bzw. korrigieren:

    vdr-plugin-vdrboblight => vdr startet nicht ohne softhddevice

    vdr-plugin-seduatmo => vdr funktioniert normal, macht halt kein Ambilight


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Ich will noch einen scalierungsshader einbauen. Dann muss ich eh davor in ein FBO rendern. Dann könnte ich auch mal schauen ob ich daraus dann grabe.

    Das wird aber noch etwas dauern. Ich mach erstmal Urlaub :)


    PS: die fehlende Datei ist nun auch eingecheckt.


    mfg

    jojo61


    PS: da ich das plugin umbenannt habe werden die atmo sachen es wohl nicht finden. Was ja auch nicht schlimm ist weil graben eh (noch) nicht geht.

  • hyperion-x11 grabber müsste hier doch auch gehen. Bei VDPAU hat das nicht funktioniert wegen der Art der Ausgabe, aber mit cuvid sollte es eigentlich kein problem sein.

  • Naja die vdr Plugins sind da ziemlich in die softhddev Schnittstelle reinentwickelt damit das runterrechnen der Farben auf der NVIDIA Hardware geschieht und das ganze extrem Performant wird. Johns und horchi haben da lang dran gebastelt.


    Beim softhddev wird vom sedzatmo zb quasi ein Bild in der Geometrie der verbauten led angefragt, also wenn du oben 16 und an der Seite 9 led hast kommt da ein fertiges 16x9 Foto raus wo du direkt jedes Pixel einer led zuweisen kannst. Dadurch ist einmal die Datenmenge extrem klein und die Grafikkarte kann Farben sicher besser mischen als das Plugin.

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Bei hyperion schätze ich aber das smoothing sehr. Damit gibt es sehr weiche Übergänge ohne Flackern. Das grabben geschieht bei hyperion-x11 über die xRender extension was auch sehr performant ist und mit einem entsprechenden Dezimierungsfaktor ist 4K@50fps beim grabben kein Problem.


    Ich hatte mal das vdr-boblight plugin laufen mit softhddevice und war nicht wirklich begesitert von dem Ergebnis. Aktuell nutze ich deswegen meist Kodi als Frontend und hyperion-x11. Einfach mal probieren. Es muss aber hyperion.ng sein.


    EDIT: Falls es jemand testen möchte, diese beiden patches müssen noch rein

    https://github.com/hyperion-pr…23b651750c5ff916d88d5b488

    https://github.com/hyperion-pr…cdad26c17e8f34b7328ebb350

    Einmal editiert, zuletzt von tecfreak ()

  • Zitat

    Wenn UHD ruckelt liegt das sicher nicht an der HDMI anbindung, Schau mal mit top welche Last am Rechner ist. Wenn die GrKa mit einem Mining Modul angebunden ist dann ist da auch nur ein PCIe Kanal aktiv. Das ist zu wenig für UHD. Da brauchst du schon 4 Kanäle und volle PCIe Bandbreite.

    Hallo Jojo,


    das Mininig-Modul ist rausgeflogen und die Karte steckt in enem x16-Slot. Die Prozessorlast liegt bei ~5-20% pro Kern. Kann es sein, dass ein Athlon64 6000+ mit zwei Kernen trotz Hardware-Beschleunigung nicht reicht?


    Cu

    biggsmann

  • Compiliert jetzt


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

    Einmal editiert, zuletzt von jsffm ()

  • @biggsman der Athlon sollte schon reichen, das meiste wird ja auf der GPU gemacht. Nur weiterhelfen kann ich dir hier nicht. Wenn du sagst das das Bild stark ruckelt dann sieht es so aus als ob der decoder nicht hinterher kommt. Welchen NVIDIA Treiber hast du denn ? Ich nutze den 396.24.


    mfg

    jojo61

  • Der aktuelle Git-Stand funktioniert bei mir leider nicht - wenn ich das Plugin unverändert baue, bekomme ich eine Meldung beim Start des VDR, dass das Symbol hw_device_ctx nicht definiert ist.

    Code
     Sep 07 11:00:59 yavdr07 vdr[27818]: vdr: /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.0: undefined symbol: hw_device_ctx

    Ich sehe dafür nur eine Deklaration in https://github.com/jojo61/vdr-…d/blob/master/codec.h#L50 und in libavcodec/avcodec.h von ffmpeg 3.4 scheint die eigentliche Definition zu stecken (AVBufferRef *hw_device_ctx;), die er aber ignoriert.

    Wenn ich in https://github.com/jojo61/vdr-…blob/master/video.c#L2243 AVBufferRef als Typ des Pointers angebe (also AVBufferRef *hw_device_ctx = NULL; schreibe), ist das Problem mit dem fehlenden Symbol weg, dafür habe ich im Log dann Warnungen von xcb und einen Segfault:

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Wenn ich den VDR mit der Umgebungsvariablen __GL_THREADED_OPTIMIZATIONS=0 starte, ist der SIGABRT von xcb beim Start weg. Dafür ist das Video dann aber gestaucht, während das OSD normal gezeichnet wird und mit dem Skindesigner geht überhaupt nichts mehr.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Bei mir die gleiche Meldung.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Hallo jojo 61,


    den 396.24 habe ich jetzt auch (vorher .37 wenn ich nicht irre). Leider keine Änderung. In meiner Verzweiflung habe ich ffmeg mal ohne den Patch übersetzt, ändert leider nichts am Problem. Gibt es irgendwo noch eine Einstellung zum Deinterlacing? Hintergrund meiner Frage ist, dass der Astra-Demo-Kanal sich aller paar Sekunden "fängt", dann ein paar Sekunden vernünftig läuft und dann wieder diese komischen Ruckler produziert. In Log erscheint dann

    Sep 7 17:12:18 uvid vdr: get uniform colormatrix 1

    Sep 7 17:12:18 uvid vdr: get uniform colormatrix_c 2 -0,915688


    Hilft das?


    cu

    biggsmann

  • seahawk1986 compiliere mal ohne das openglosd. Dazu den Define im Makefile (-DOPENGLOSD) auskommentieren. Das Openglosd macht noch einen GL thread und da scheint es Probleme zu geben. Ich frage mich nur warum es bei mir einwandfrei läuft.


    biggsmann der Eintrag im Log erscheint wenn er den Codec neu initialisiert. Hast du evtl. Empfangsprobleme ? Übersetze doch mal mit -DDEBUG und schaue dir mal das Log an.


    mfg

    jojo61

  • Ich frage mich nur warum es bei mir einwandfrei läuft.

    Mit welcher Optimierungsstufe baust du den VDR und die Plugins? Welcher Compiler (in welcher Version) kommt bei dir zum Einsatz? Da scheint sich ja schon der Linker anders zu verhalten.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • seahawk1986 compiliere mal ohne das openglosd. Dazu den Define im Makefile (-DOPENGLOSD) auskommentieren. Das Openglosd macht noch einen GL thread und da scheint es Probleme zu geben. Ich frage mich nur warum es bei mir einwandfrei läuft.

    Damit allein baut das Plugin nicht, weil das openglosd.o weiterhin in den OBJS steht - wenn ich diese Änderungen mache baut es:

    Das Videobild ist in der Höhe ca. auf die Hälfte gestaucht und zentriert (wie in diesem Post beschrieben), während das OSD Bildschirmfüllend gerendert wird.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

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