softhdcuvid/softhdvaapi/softhddrm with hevc and UHD

  • Hi,

    Es gab doch auch gute Sw Deinterlacer wie Toms MoComp... Xinelibout hat diese doch implementiert (neben denen von Vdpau).

    Mfg Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • SurfaceCleanerZ alle Deinterlacer die im Memory arbeiten sind ungeeignet für meinen Ansatz. Das würde es erfordern das Frame aus der Karte zum Speicher zu transferieren dort zu deinterlacen und dann das Ergebniss zurück auf die Karte zu kopieren. Das ist MIst. Deswegen geht derzeit nur der yadif_cuda weil da die Daten auf der Karte bleiben.


    Mir ist schon klar das NVIDIA unter Linux noch nachholbedarf hat. Mich ärgert das unter Windows alles geht was hier fehlt (10Bit HDR etc). Da kann man nur hoffen das es noch kommt. AMD ist leider auch keine alternative weil da nur VAAPI geht und die kein wirkliches 10 Bit können.


    Zu den billigen kleinen Boxen kann ich nur sagen, ja die können das alles, nur skalieren können sie nicht. Da muss man dann die Auflösung der Ausgabe auf die Auflösung des Films umschalten und dann skaliert der Fernseher. Nachteil dabei ist das das zappen sehr Mühselig ist (bei mir braucht der Beamer 5 Sekunden bis er eine neue Auflösung eingestellt hat) und außerdem ist man dann auf den skaler des Fernsehers angewiesen. Und die sind auch nicht immer so toll. Und außerdem läuft auf den Dingern kein vdr sondern nur Kodi. Selbst nach 20 Jahren VDR kann es kein anderer mit dessen Geschwindigkeit im OSD aufnehmen und das ist beim zappen extrem angenehm.


    Ich bleibe da erstmal bei NVIDIA und hoffe auf bessere Zeiten :)


    mfg

    Jojo61

  • Für LiveTV ist für mich der VDR ebenfalls unschlagbar :) und deshalb frustriert mich ja auch die schlechte Treiberentwicklung von NVIDIA für Linux. :(


    Die Chinaboxen sind übrigens besser als Ihr Ruf, wenn man das Android nicht benutzt, sondern Libreelec bzw. Coreelec einsetzt. Und man sollte nicht gerade das billigste Teil nehmen. Die von mir erwähnte ODROID-N2-Box kommt übrigens aus Korea, nicht aus China! ;)

    Sobald diese in DE erhältlich ist, werde ich mir eine kaufen und dann schaun wir mal.


    Jetzt ist es genug OffTopic und hoffen wir mal, dass NVIDIA die Linux-Treiberentwicklung doch nochmal etwas forciert.

    Denn vielleicht schon zur IFA Berlin im Herbst diesen Jahres oder Anfang nächsten Jahres werden vielleicht auch das ZDF und ARTE einen UHD-Testsender starten. Und dann wäre es doch super, wenn wir bis dahin ein vernünftiges system hätten, mit dem wir diese Sendungen auch in bester Qualität sehen könnten.


    Paul

  • Ich denke alles unter einer GT 1050 ist nicht optimal geeignet für das Plugin, auch wenn es evtl. läuft.

    Die Bildqualität der GT630 ist zumindest bei HD mit libplacebo sehr gut. Ohne Libplacebo startet das Plugin leider öfter mal nicht und der VDR braucht mehrere Anläufe bis er wirklich startet.


    Gibt es für vulkan irgendwo Testprogramme für die Overlays? Möglicherweise ist da ja tatsächlich irgendwo nur ein Bug den man nur mal nachvollziehen und dann melden müsste.

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Ich habe heute mal Dota 2 von Steam installiert und auf Vulkan umgeschaltet (https://linuxconfig.org/install-and-test-vulkan-on-linux) . Das Spiel funktioniert problemlos mit Vulkan auf der GT640. Was sagt den vulkaninfo bei einer GT1050?


    Vulkaninfo von meiner GT640 siehe Anhang.

    Dateien

    VDR 2.6.5 Kodi 18.6-Leia
    Debian GNU/Linux 12, Thermaltake DH102, ASUS PRIME N100I-D, CineS2 V6.5.
    Plugins:
    radio v1.1.0-6-g468280f , trayopenng 1.0.2, fritzbox 1.5.3, cdplayer 1.2.4, femon v2.4.0-GIT-d366856, menuorg 0.5.2, extrecmenung v2.0.4, streamdev-server v0.6.3, cecremote 1.5.0, osd2web 0.3.2, softhddevice v2.0.6-GIT97e825d

  • Hallo zusammen,


    angetan von wahnsinnigen erfolgen von softhdcuvid Plugin habe ich versucht diesen einzusetzen, allerdings bisher leider erfolglos. Ich hoffe hier Unterstützung dafür zu bekommen.

    Nvidia 1030, Arch Linux, Neuinstallation, kernel 5.3.1, libplacebo 1.18.0, nvidia 435.21, cuda 10.1

    Beim starten von vdr gibt es direkt Absturz:


    Sep 27 16:30:50 vdrmain vdr[547]: [547] setting current skin to "lcars"

    Sep 27 16:30:50 vdrmain vdr[547]: [547] loading /var/lib/vdr/themes/lcars-default.theme

    Sep 27 16:30:50 vdrmain vdr[547]: [547] starting plugin: femon

    Sep 27 16:30:50 vdrmain vdr[547]: [547] starting plugin: softhdcuvid

    Sep 27 16:30:50 vdrmain vdr[547]: video: visual 0x21 depth 24

    Sep 27 16:30:50 vdrmain vdr[547]: Create Window at 0,0

    Sep 27 16:30:50 vdrmain vdr[547]: video: window prepared

    Sep 27 16:30:50 vdrmain vdr[547]: video: screen saver extension present

    Sep 27 16:30:50 vdrmain vdr[547]: Init Placebo

    Sep 27 16:30:50 vdrmain audit[547]: ANOM_ABEND auid=4294967295 uid=1008 gid=985 ses=4294967295 pid=547 comm="vdr" exe="/usr/bin/vdr" sig=11 res=1

    Sep 27 16:30:50 vdrmain kernel: vdr[547]: segfault at 0 ip 0000000000000000 sp 00007fff52086fe8 error 14 in .glHpHelX (deleted)[419af000+2000]

    Sep 27 16:30:50 vdrmain kernel: Code: Bad RIP value.

    Sep 27 16:30:50 vdrmain kernel: audit: type=1701 audit(1569594650.654:41): auid=4294967295 uid=1008 gid=985 ses=4294967295 pid=547 comm="vdr" exe="/usr/bin/vdr" sig=11 res=1

    Sep 27 16:30:50 vdrmain systemd[1]: vdr.service: Main process exited, code=killed, status=11/SEGV


    Mit debug races habe ich die Stelle eingeschränkt, dass ist dieser Aufruf:


    p->swapchain = pl_vulkan_create_swapchain(p->vk, &(struct pl_vulkan_swapchain_params) {

    .surface = p->pSurface,

    .present_mode = VK_PRESENT_MODE_FIFO_KHR,

    .swapchain_depth = 1,

    });


    gdb zeigt:

    (gdb) stacktrace

    Undefined command: "stacktrace". Try "help".

    (gdb) bt

    #0 0x0000000000000000 in ?? ()

    #1 0x00007fffdf5f5730 in ?? () from /usr/lib/libnvidia-eglcore.so.435.21

    #2 0x00007fffdf5e94ea in ?? () from /usr/lib/libnvidia-eglcore.so.435.21

    #3 0x00007fffdf5e95a9 in ?? () from /usr/lib/libnvidia-eglcore.so.435.21

    #4 0x00007ffff4ad6b07 in pl_vulkan_create_swapchain () from /usr/lib/libplacebo.so.18

    #5 0x00007ffff69f6ba2 in InitPlacebo ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #6 0x00007ffff69f9c22 in VideoInit ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #7 0x00007ffff69f0f64 in Start () from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #8 0x00007ffff69e7243 in cPluginSoftHdDevice::Start() ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #9 0x0000555555671d2c in cPluginManager::StartPlugins() ()

    #10 0x00005555555f1211 in main ()

    (gdb)



    Was könnte das sein bzw. wie komme ich in dem Thema weiter?


    Danke im Voraus!


  • vulkaninfo zeigt 1.1.121


    Ohne libplacebo scheint es zu laufen, brauche etwas Zeit um das zu testen ...

  • Schau mal mit vulkaninfo ob die swapchain extention da ist. Hast du das aktuelle softhdcuvid von GIT ?

    swapchain muss da sein, wenn ich das richtig interpretiere:

    VK_KHR_swapchain : extension revision 70

    VK_KHR_swapchain_mutable_format : extension revision 1


    vollständige Ausgabe von vulkaninfo ist angehängt.


    softhdcuvid ist nicht der aktuellste, momentan changeset fae0d3a9bd7f941e2dd5c96b6302cda5d1170cbc, ist meiner Meinung nach der Punkt bevor der Focus sich auf VAAPI gewechselt hat. Davor habe ich mit 8682ab01c440346212d65a91c5c4639a65d6473d probiert (noch älter), das Verhalten war gleich. Ich kann aber auch die aktuellste holen wenn es irgendwie zielführend ist.


    Vielen dank, dass du dir die mühe gibst so schnell auf diese "supportprobleme" zu reagieren.

  • Da ist vermutlich mehr faul... Auch ohne libplacebo habe ich regelmäßig Probleme vdr zu starten. Das hängt mit Plugin xmltv2vdr zusammen, ohne den ist es besser. Nach einem ausschalten/einschalten des Rechners geht es meistens zumindest 1 mal gut, danach kannst auswurfeln… Z.B. jetzt: nach reboot (kein "Kaltstart") zeigt log folgendes:


    Sep 28 09:52:09 vdrmain vdr[532]: [532] starting plugin: softhdcuvid

    Sep 28 09:52:10 vdrmain vdr[532]: video: visual 0x21 depth 24

    Sep 28 09:52:10 vdrmain vdr[532]: Create Window at 0,0

    Sep 28 09:52:10 vdrmain vdr[532]: video: window prepared

    Sep 28 09:52:10 vdrmain vdr[532]: video/glx: glx version 1.4

    Sep 28 09:52:10 vdrmain vdr[532]: video/glx: GlxSwapIntervalMESA=(nil)

    Sep 28 09:52:10 vdrmain vdr[532]: video/glx: GlxSwapIntervalSGI=0x7fffe4564000

    Sep 28 09:52:10 vdrmain vdr[532]: video/glx: GlxGetVideoSyncSGI=0x7fffe48281d0

    Sep 28 09:52:10 vdrmain vdr[532]: RGB size 8:8:8

    Sep 28 09:52:10 vdrmain vdr[532]: Chosen visual ID = 0x27

    Sep 28 09:52:10 vdrmain vdr[532]: video/glx: visual 0x27 depth 24

    Sep 28 09:52:10 vdrmain vdr[532]: video/glx: default v-sync is -1

    Sep 28 09:52:10 vdrmain vdr[532]: video/glx: SGI v-sync enabled

    Sep 28 09:52:10 vdrmain vdr[532]: video/glx: GlxSetupWindow 1200003 1920x1080 context:0x55555601e1f8

    Sep 28 09:52:10 vdrmain vdr[532]: video/glx: ok

    Sep 28 09:52:10 vdrmain vdr[532]: video: screen saver extension present

    Sep 28 09:52:10 vdrmain vdr[532]: video/x11: send fullscreen message 1 149

    Sep 28 09:52:10 vdrmain vdr[532]: video/glx: osd init context 0x55555601e1f8 <-> 0x55555601e1f8

    Sep 28 09:52:10 vdrmain vdr[532]: Cuvid New HW Decoder

    Sep 28 09:52:10 vdrmain kernel: nvidia-uvm: Loaded the UVM driver, major device number 235.

    Sep 28 09:52:10 vdrmain vdr[532]: [softhddev] ready

    Sep 28 09:52:10 vdrmain vdr[532]: [532] starting plugin: xmltv2vdr

    Sep 28 09:52:10 vdrmain vdr[532]: [532] xmltv2vdr: using codeset 'UTF-8'

    Sep 28 09:52:10 vdrmain vdr[532]: [532] xmltv2vdr: using file '/srv/vdr/video/epg.db' for epg database (storage)

    Sep 28 09:52:10 vdrmain vdr[532]: [532] xmltv2vdr: using file '/tmp/epg.db' for epg database (runtime)

    Sep 28 09:52:10 vdrmain vdr[532]: [532] xmltv2vdr: using sqlite v3.29.0

    Sep 28 09:52:10 vdrmain vdr[532]: Create OSD GLX context

    Sep 28 09:52:20 vdrmain vdr[532]: [532] switching to channel 31 S19.2E-1-1111-7290 (Sky News Intl)

    Sep 28 09:52:21 vdrmain vdr[532]: [575] SVDRP vdrmain opening port 6419/tcp

    Sep 28 09:52:21 vdrmain vdr[532]: [575] SVDRP vdrmain listening on port 6419/tcp

    Sep 28 09:52:21 vdrmain vdr[532]: [577] SVDRP vdrmain opening port 6419/udp

    Sep 28 09:52:21 vdrmain vdr[532]: [577] SVDRP vdrmain listening on port 6419/udp

    Sep 28 09:52:21 vdrmain vdr[532]: Set Playmode 1

    Sep 28 09:52:21 vdrmain vdr[532]: [575] SVDRP vdrmain < 192.168.36.22:34466 client connection accepted

    Sep 28 09:52:21 vdrmain vdr[532]: [575] SVDRP vdrmain > 192.168.36.22:6419 server connection established

    Sep 28 09:52:32 vdrmain vdr[532]: video: set trick-speed 0

    Sep 28 09:52:32 vdrmain vdr[532]: video/glx: thread context (nil) <-> (nil)

    Sep 28 09:52:32 vdrmain vdr[532]: [softhddev]GetOsdSize: 1920x1080 1

    Sep 28 09:52:32 vdrmain vdr[532]: video/glx: context (nil) <-> 0x55555601e1f8

    Sep 28 09:52:32 vdrmain vdr[532]: video/glx: GlxSetupWindow 1200003 1920x1080 context:0x7fff840010b8

    Sep 28 09:52:32 vdrmain vdr[532]: video/glx: can't make glx context current


    anschließend sturzt vdr ab, sieht man in diesem syslog nicht, weil ich vdr unter gdb gestartet habe. bt in gdb:

    [New Thread 0x7fff9f7fe700 (LWP 578)]

    Thread 28 "cuvid video" received signal SIGABRT, Aborted.

    [Switching to Thread 0x7fff9f7fe700 (LWP 578)]

    0x00007ffff7855755 in raise () from /usr/lib/libc.so.6

    (gdb) bt

    #0 0x00007ffff7855755 in raise () from /usr/lib/libc.so.6

    #1 0x00007ffff7840851 in abort () from /usr/lib/libc.so.6

    #2 0x00007ffff695778c in ?? () from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #3 0x00007ffff695dba4 in ?? () from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #4 0x00007ffff7f0557f in start_thread () from /usr/lib/libpthread.so.0

    #5 0x00007ffff79170e3 in clone () from /usr/lib/libc.so.6

    (gdb)


    Der nächste Versuch:

    Sep 28 09:58:47 vdrmain vdr[586]: codec/audio: resample s16p 48000Hz *2 -> s16 48000Hz *2

    Sep 28 09:58:47 vdrmain vdr[586]: pesdemux: pes start code id 0xc0

    Sep 28 09:58:47 vdrmain vdr[586]: codec/audio: inital drift delay 96ms

    Sep 28 09:58:47 vdrmain vdr[586]: video: mpeg2 detected ID 1a

    Sep 28 09:58:48 vdrmain vdr[586]: [608] [softhddev]OglThread cleanup

    Sep 28 09:58:48 vdrmain vdr[586]: call back set video mode 1916 1039

    Sep 28 09:58:48 vdrmain vdr[586]: Set video mode 1916x1039

    Sep 28 09:58:48 vdrmain vdr[586]: video/glx: GlxSetupWindow 1200003 1916x1039 context:0x7fff900010b8

    Sep 28 09:58:48 vdrmain vdr[586]: video/glx: ok

    Sep 28 09:58:48 vdrmain vdr[586]: video/glx: no v-sync

    Sep 28 09:58:48 vdrmain vdr[586]: video/glx: no v-sync

    Sep 28 09:58:48 vdrmain vdr[586]: video/glx: no v-sync

    Sep 28 09:58:48 vdrmain vdr[586]: video/glx: no v-sync

    Sep 28 09:58:48 vdrmain vdr[586]: video: aspect defaults to 1:1

    Sep 28 09:58:48 vdrmain vdr[586]: video: aspect 11552:11547 Resolution 0

    Sep 28 09:58:48 vdrmain vdr[586]: video: normal aspect output 1040x1039+438+0 Video 1916x1039

    Sep 28 09:58:48 vdrmain vdr[586]: video/glx: osd init context 0x7fff900010b8 <-> 0x55555601d878

    Sep 28 09:58:48 vdrmain vdr[586]: video/event: MapNotify

    Sep 28 09:58:48 vdrmain vdr[586]: [softhddev]GetOsdSize: 1916x1039 0.964045

    Sep 28 09:58:49 vdrmain kernel: snd_hda_intel 0000:01:00.1: IRQ timing workaround is activated for card #1. Suggest a bigger bdl_pos_adj.

    Sep 28 09:58:49 vdrmain vdr[586]: call back set video mode 1920 1080

    Sep 28 09:58:49 vdrmain vdr[586]: Set video mode 1920x1080

    Sep 28 09:58:49 vdrmain vdr[586]: video/glx: GlxSetupWindow 1200003 1920x1080 context:0x7fff900010b8

    Sep 28 09:58:49 vdrmain vdr[586]: video/glx: ok

    Sep 28 09:58:49 vdrmain vdr[586]: video/glx: no v-sync

    Sep 28 09:58:49 vdrmain vdr[586]: video/glx: no v-sync

    Sep 28 09:58:49 vdrmain vdr[586]: video/glx: no v-sync

    Sep 28 09:58:49 vdrmain vdr[586]: video/glx: no v-sync

    Sep 28 09:58:49 vdrmain vdr[586]: video: aspect defaults to 1:1

    Sep 28 09:58:49 vdrmain vdr[586]: video: aspect 11552:11547 Resolution 0

    Sep 28 09:58:49 vdrmain vdr[586]: video/glx: osd init context 0x7fff900010b8 <-> 0x55555601d878

    Sep 28 09:58:49 vdrmain vdr[586]: ***************codec: Video Open using video codec ID 0x0002 (mpeg2video)

    Sep 28 09:58:49 vdrmain vdr[586]: codec: decoder found

    Sep 28 09:58:49 vdrmain vdr[586]: codec: video 'Nvidia CUVID MPEG2VIDEO decoder'

    Sep 28 09:58:49 vdrmain vdr[586]: Codec open 0

    Sep 28 09:58:49 vdrmain vdr[586]: Initializing cuvid hwaccel thread ID:620

    Sep 28 09:58:49 vdrmain vdr[586]: ***********CUDA API Version 3020

    Sep 28 09:58:49 vdrmain vdr[586]: video: ready --:--:--.--- 20ms/frame 459412ms

    Sep 28 09:58:49 vdrmain vdr[586]: Cuvid_get_format: codec 2 fmts:

    Sep 28 09:58:49 vdrmain vdr[586]: 0x00000077 cuda

    Sep 28 09:58:49 vdrmain vdr[586]: 0x00000017 nv12

    Sep 28 09:58:49 vdrmain vdr[586]: Cuvid_get_format: codec 2 fmts:

    Sep 28 09:58:49 vdrmain vdr[586]: 0x00000077 cuda

    Sep 28 09:58:49 vdrmain vdr[586]: video profile -99 codec id 2

    Sep 28 09:58:49 vdrmain vdr[586]: video: create decoder 16bit?=0 704x576 old 0 0

    Sep 28 09:58:49 vdrmain vdr[586]: Cuvid Clean up

    Sep 28 09:58:49 vdrmain vdr[586]: video/cuvid: CuvidCreateSurfaces: 704x576 * 9

    Sep 28 09:58:49 vdrmain vdr[586]: video/vdpau: create 9 Textures Format NV12 w 704 h 576


    gdb:

    Thread 28 "cuvid video" received signal SIGSEGV, Segmentation fault.

    [Switching to Thread 0x7fff97fff700 (LWP 620)]

    0x00007fffdb2fa129 in ?? () from /usr/lib/libnvidia-glcore.so.435.21

    (gdb) bt

    #0 0x00007fffdb2fa129 in ?? () from /usr/lib/libnvidia-glcore.so.435.21

    #1 0x00007fffdb197c89 in ?? () from /usr/lib/libnvidia-glcore.so.435.21

    #2 0x00007fffdb197d20 in ?? () from /usr/lib/libnvidia-glcore.so.435.21

    #3 0x00007fffdb151021 in ?? () from /usr/lib/libnvidia-glcore.so.435.21

    #4 0x00007fffe47fac33 in glcuR0d4nX () from /usr/lib/libGLX_nvidia.so.0

    #5 0x00007ffff3ae0dc9 in ?? () from /usr/lib/libcuda.so.1

    #6 0x00007ffff39fa83e in ?? () from /usr/lib/libcuda.so.1

    #7 0x00007ffff3b8c09a in cuGraphicsMapResources () from /usr/lib/libcuda.so.1

    #8 0x00007ffff695931e in createTextureDst ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #9 0x00007ffff6959918 in ?? () from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #10 0x00007ffff695c464 in Video_get_format ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #11 0x00007ffff5077097 in ?? () from /usr/lib/libavcodec.so.58

    #12 0x00007ffff504710c in ?? () from /usr/lib/libavcodec.so.58

    #13 0x00007fffc9af3a21 in ?? () from /usr/lib/libnvcuvid.so.1

    #14 0x00007fffc9b5245c in ?? () from /usr/lib/libnvcuvid.so.1

    #15 0x00007fffc9b23668 in ?? () from /usr/lib/libnvcuvid.so.1

    #16 0x00007fffc9b244cf in ?? () from /usr/lib/libnvcuvid.so.1

    #17 0x00007fffc9b52a08 in ?? () from /usr/lib/libnvcuvid.so.1

    #18 0x00007fffc9b52cc4 in ?? () from /usr/lib/libnvcuvid.so.1

    #19 0x00007fffc9af2498 in ?? () from /usr/lib/libnvcuvid.so.1

    #20 0x00007ffff5045a5e in ?? () from /usr/lib/libavcodec.so.58

    #21 0x00007ffff5046645 in ?? () from /usr/lib/libavcodec.so.58

    #22 0x00007ffff5075401 in ?? () from /usr/lib/libavcodec.so.58

    #23 0x00007ffff5076208 in avcodec_send_packet () from /usr/lib/libavcodec.so.58

    #24 0x00007ffff69638ef in CodecVideoDecode ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #25 0x00007ffff6953d01 in VideoDecodeInput ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #26 0x00007ffff695acfe in ?? () from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #27 0x00007ffff695db10 in ?? () from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #28 0x00007ffff7f0557f in start_thread () from /usr/lib/libpthread.so.0

    #29 0x00007ffff79170e3 in clone () from /usr/lib/libc.so.6

    (gdb)

  • Zitat

    Sep 28 09:52:10 vdrmain kernel: nvidia-uvm: Loaded the UVM driver, major device number 235.

    Lade mal den nvidia-uvm Treiber beim starten mit modprobe. Dann ist der zumindest schonmal da wenn der vdr started.

    Das plugin xmltv2vdr nutze ich nicht. Was macht das denn ? Hat das eine Oberfläche auf den Screen ?


    Übersetze das plugin mal mit DEBUG (kann man im Makefile einschalten ist etwas versteckt). Mir sieht es so aus als ob er Probleme mit dem GLX Context hat.

    Dann poste mal das Syslog.


    mfg

    jojo61


    PS: die Version die du hast ist ok. Alles neuere ist nur für vaapi.

  • Lade mal den nvidia-uvm Treiber beim starten mit modprobe. Dann ist der zumindest schonmal da wenn der vdr started.

    Das plugin xmltv2vdr nutze ich nicht. Was macht das denn ? Hat das eine Oberfläche auf den Screen ?


    Übersetze das plugin mal mit DEBUG (kann man im Makefile einschalten ist etwas versteckt). Mir sieht es so aus als ob er Probleme mit dem GLX Context hat.

    Dann poste mal das Syslog.

    Entschuldigung für meine Reaktionszeit, es hat gedauert biss ich wieder an den vdr heran kam.

    nvidia_uvm habe ich geladen, softhdcuvid mit folgender Zeile in Makefile übersetzt

    -------

    CONFIG := -DDEBUG -DOSD_DEBUG # enable debug output+functions

    -------

    xmltv2vdr ist ein Plugin um die programmdaten (EPG) in XML-Format (XMLTV um genau zu sagen) automatisch zu importieren, nützlich für TV-Kanäle die keine PEG-daten mitübertragen. Soweit ich weiss, gibt es da kein UI. Egal, habe ich erstmals deaktiviert um nicht noch mehr Verwirrung zu haben. Ich habe somit momentan folgende Plugins aktiviert: cecremote, femon, softhdcuvid.


    Beim starten zeigt vdr kurz das "schwarze fenster", anschließend verschwindet das fenster komplett, Video kann logischerweise nicht abgespielt werden bis ich vdr prozess stoppe. Syslog enthält folgendes (komplett - s. Anlage)

    --------

    Oct 03 09:00:56 vdrmain vdr[2194]: video: window prepared

    Oct 03 09:00:56 vdrmain vdr[2194]: video/glx: glx version 1.4

    Oct 03 09:00:56 vdrmain vdr[2194]: video/glx: GlxSwapIntervalMESA=(nil)

    Oct 03 09:00:56 vdrmain vdr[2194]: video/glx: GlxSwapIntervalSGI=0x7f3f441e3000

    Oct 03 09:00:56 vdrmain vdr[2194]: video/glx: GlxGetVideoSyncSGI=0x7f3f461cc1d0

    Oct 03 09:00:56 vdrmain vdr[2194]: RGB size 8:8:8

    Oct 03 09:00:56 vdrmain vdr[2194]: Chosen visual ID = 0x27

    Oct 03 09:00:56 vdrmain vdr[2194]: video/glx: visual 0x27 depth 24

    Oct 03 09:00:56 vdrmain vdr[2194]: video/glx: default v-sync is -1

    Oct 03 09:00:56 vdrmain vdr[2194]: video/glx: SGI v-sync enabled

    Oct 03 09:00:56 vdrmain vdr[2194]: video/glx: GlxSetupWindow 1200003 1920x1080 context:0x55da0b082b68

    Oct 03 09:00:56 vdrmain vdr[2194]: video/glx: ok

    Oct 03 09:00:57 vdrmain vdr[2194]: video: screen saver extension present

    Oct 03 09:00:57 vdrmain vdr[2194]: video/x11: send fullscreen message 1 149

    Oct 03 09:00:57 vdrmain vdr[2194]: video/glx: osd init context 0x55da0b082b68 <-> 0x55da0b082b68

    Oct 03 09:00:57 vdrmain vdr[2194]: Cuvid New HW Decoder

    Oct 03 09:00:57 vdrmain vdr[2194]: [softhddev] ready

    Oct 03 09:00:57 vdrmain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=vdr comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

    Oct 03 09:00:57 vdrmain kernel: audit: type=1130 audit(1570086057.150:39): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=vdr comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

    Oct 03 09:00:57 vdrmain systemd[1]: Started Video Disk Recorder.

    Oct 03 09:00:57 vdrmain vdr[2194]: Create OSD GLX context

    Oct 03 09:00:57 vdrmain vdr[2194]: [2194] switching to channel 31 S19.2E-1-1111-7290 (Sky News Intl)

    Oct 03 09:00:57 vdrmain vdr[2194]: [2216] SVDRP vdrmain opening port 6419/tcp

    Oct 03 09:00:57 vdrmain vdr[2194]: [2216] SVDRP vdrmain listening on port 6419/tcp

    Oct 03 09:00:57 vdrmain vdr[2194]: Set Playmode 1

    Oct 03 09:00:57 vdrmain vdr[2194]: [2218] SVDRP vdrmain opening port 6419/udp

    Oct 03 09:00:57 vdrmain vdr[2194]: [2218] SVDRP vdrmain listening on port 6419/udp

    Oct 03 09:00:57 vdrmain vdr[2194]: video: set trick-speed 0

    Oct 03 09:00:57 vdrmain vdr[2194]: [softhddev]GetOsdSize: 1920x1080 1

    Oct 03 09:00:57 vdrmain vdr[2194]: video/glx: thread context (nil) <-> (nil)

    Oct 03 09:00:57 vdrmain vdr[2194]: video/glx: context (nil) <-> 0x55da0b082b68

    Oct 03 09:00:57 vdrmain vdr[2194]: video/glx: GlxSetupWindow 1200003 1920x1080 context:0x7f3f000010b8

    Oct 03 09:00:57 vdrmain vdr[2194]: [2216] SVDRP vdrmain < 192.168.36.22:45504 client connection accepted

    Oct 03 09:00:57 vdrmain vdr[2194]: [2216] SVDRP vdrmain > 192.168.36.22:6419 server connection established

    Oct 03 09:00:57 vdrmain vdr[2194]: video/glx: ok

    Oct 03 09:00:57 vdrmain vdr[2194]: video/event: ReparentNotify

    Oct 03 09:00:57 vdrmain vdr[2194]: pesdemux: pes start code id 0xc0

    Oct 03 09:00:57 vdrmain vdr[2194]: pesdemux: new codec 000000 -> 0x15000

    Oct 03 09:00:57 vdrmain vdr[2194]: codec: using audio codec ID 0x15000 (mp2)

    Oct 03 09:00:57 vdrmain vdr[2194]: codec: audio 'MP2 (MPEG audio layer 2)'

    Oct 03 09:00:58 vdrmain vdr[2194]: codec/audio: format change s16p 48000Hz *2 channels PCM AC-3 E-AC-3 pass-through

    Oct 03 09:00:58 vdrmain vdr[2194]: codec/audio: resample s16p 48000Hz *2 -> s16 48000Hz *2

    Oct 03 09:00:58 vdrmain vdr[2194]: video: mpeg2 detected ID 9a

    Oct 03 09:00:58 vdrmain vdr[2194]: video: fatal i/o error

    Oct 03 09:00:59 vdrmain kernel: snd_hda_intel 0000:01:00.1: IRQ timing workaround is activated for card #1. Suggest a bigger bdl_pos_adj.

    Oct 03 09:00:59 vdrmain vdr[2194]: codec/audio: inital drift delay 1433ms

    Oct 03 09:01:00 vdrmain vdr[2194]: [2219] ERROR: oglThread thread 2214 won't end (waited 2 seconds) - canceling it...

    Oct 03 09:01:00 vdrmain vdr[2194]: call back set video mode 1916 1039

    Oct 03 09:01:00 vdrmain vdr[2194]: Set video mode 1916x1039

    Oct 03 09:01:00 vdrmain vdr[2194]: video/glx: GlxSetupWindow 1200003 1916x1039 context:0x7f3f000010b8

    Oct 03 09:01:00 vdrmain vdr[2194]: video/glx: ok

    Oct 03 09:01:07 vdrmain vdr[2194]: [softhddev]Clear: 20ms buffers 246

    Oct 03 09:01:07 vdrmain vdr[2194]: [2215] ERROR: 1 TS packet(s) not accepted in Transfer Mode

    Oct 03 09:01:08 vdrmain vdr[2194]: [softhddev]Clear: 20ms buffers 246

    Oct 03 09:01:08 vdrmain vdr[2194]: [softhddev] invalid PES video packet

    ---------------

  • Zitat

    Oct 03 09:00:58 vdrmain vdr[2194]: video: fatal i/o error

    Da ist noch einiges Faul. Versuche mal ohne OPENGLOSD zu übersetzen. Irgend etwas fehlt dir. Das Plugin kommt gar nicht dazu den Cuvid Treiber zu öffnen. Hat dein ffmpeg denn cuvid aktiviert ? Schau mal mit ffmpeg -codecs | grep cuvid Da sollten dann die Cuvid codecs angezeigt werden.

  • ffmpeg schein cuvid darin zu haben:

    ----------

    DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m h264_cuvid ) (encoders: libx264 libx264rgb h264_nvenc h264_omx h264_v4l2m2m h264_vaapi nvenc nvenc_h264 )

    DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_v4l2m2m hevc_cuvid ) (encoders: libx265 nvenc_hevc hevc_nvenc hevc_v4l2m2m hevc_vaapi )

    DEVIL. mjpeg Motion JPEG (decoders: mjpeg mjpeg_cuvid ) (encoders: mjpeg mjpeg_vaapi )

    DEV.L. mpeg1video MPEG-1 video (decoders: mpeg1video mpeg1_v4l2m2m mpeg1_cuvid )

    DEV.L. mpeg2video MPEG-2 video (decoders: mpeg2video mpegvideo mpeg2_v4l2m2m mpeg2_cuvid ) (encoders: mpeg2video mpeg2_vaapi )

    DEV.L. mpeg4 MPEG-4 part 2 (decoders: mpeg4 mpeg4_v4l2m2m mpeg4_cuvid ) (encoders: mpeg4 libxvid mpeg4_v4l2m2m )

    D.V.L. vc1 SMPTE VC-1 (decoders: vc1 vc1_v4l2m2m vc1_cuvid )

    DEV.L. vp8 On2 VP8 (decoders: vp8 vp8_v4l2m2m libvpx vp8_cuvid ) (encoders: libvpx vp8_v4l2m2m vp8_vaapi )

    DEV.L. vp9 Google VP9 (decoders: vp9 vp9_v4l2m2m libvpx-vp9 vp9_cuvid ) (encoders: libvpx-vp9 vp9_vaapi )

    -------

    Ich habe den Test ohne OPENGLOSD gemacht. Das verhalten ist in etwa gleich, s. Anlage. Ah, und ich sehe segfault wieder.


    Zweiter Versuch unter gdb:

    ------

    Thread 1 "vdr" received signal SIGSEGV, Segmentation fault.

    0x0000000000000000 in ?? ()

    (gdb) bt

    #0 0x0000000000000000 in ?? ()

    #1 0x00007ffff6962c4f in TrickSpeed ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #2 0x00007ffff6962d6c in Play ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #3 0x00007ffff6962dc9 in SetPlayMode ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #4 0x00007ffff6959abd in cSoftHdDevice::SetPlayMode(ePlayMode) ()

    from /usr/lib/vdr/plugins/libvdr-softhdcuvid.so.2.4.1

    #5 0x000055555560f910 in cDevice::AttachPlayer(cPlayer*) ()

    #6 0x0000555555670b58 in cControl::Attach() ()

    #7 0x00005555555f168a in main ()

  • avak Du nutzt den vdr 2.4.1, hat sich da etwas an der Plugin API geändert ?


    Der BT zeigt das er schon beim Attach des Players abschmiert mit einem Sprung auf 0. Das lässt darauf schliessen das eine Lib nicht richtig abgelinkt ist oder fehlt. Poste mal ein ldd von dem compilierten plugin also: ldd libvdr-softhdcuvid.so

  • ldd libvdr-softhdcuvid.so.2.4.1 zeigt folgendes:


    linux-vdso.so.1 (0x00007ffe93ad0000)

    libasound.so.2 => /usr/lib/libasound.so.2 (0x00007f31b47ec000)

    libGLEW.so.2.1 => /usr/lib/libGLEW.so.2.1 (0x00007f31b4544000)

    libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00007f31b44d3000)

    libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f31b4440000)

    libavutil.so.56 => /usr/lib/libavutil.so.56 (0x00007f31b4325000)

    libavcodec.so.58 => /usr/lib/libavcodec.so.58 (0x00007f31b2dce000)

    libxcb-screensaver.so.0 => /usr/lib/libxcb-screensaver.so.0 (0x00007f31b2dc7000)

    libxcb-dpms.so.0 => /usr/lib/libxcb-dpms.so.0 (0x00007f31b2dc2000)

    libswresample.so.3 => /usr/lib/libswresample.so.3 (0x00007f31b2da2000)

    librt.so.1 => /usr/lib/librt.so.1 (0x00007f31b2d97000)

    libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f31b2d92000)

    libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f31b2c53000)

    libxcb-icccm.so.4 => /usr/lib/libxcb-icccm.so.4 (0x00007f31b2a4c000)

    libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f31b2a22000)

    libcuda.so.1 => /usr/lib/libcuda.so.1 (0x00007f31b1892000)

    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f31b16aa000)

    libm.so.6 => /usr/lib/libm.so.6 (0x00007f31b1564000)

    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f31b154a000)

    libc.so.6 => /usr/lib/libc.so.6 (0x00007f31b1385000)

    libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f31b1380000)

    libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f31b135f000)

    /usr/lib64/ld-linux-x86-64.so.2 (0x00007f31b4933000)

    libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007f31b132c000)

    libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f31b1317000)

    libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f31b125b000)

    libva-drm.so.2 => /usr/lib/libva-drm.so.2 (0x00007f31b1254000)

    libva.so.2 => /usr/lib/libva.so.2 (0x00007f31b122f000)

    libva-x11.so.2 => /usr/lib/libva-x11.so.2 (0x00007f31b1227000)

    libvdpau.so.1 => /usr/lib/libvdpau.so.1 (0x00007f31b1222000)

    libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f31b120d000)

    libvpx.so.6 => /usr/lib/libvpx.so.6 (0x00007f31b0eeb000)

    libwebpmux.so.3 => /usr/lib/libwebpmux.so.3 (0x00007f31b0edd000)

    libwebp.so.7 => /usr/lib/libwebp.so.7 (0x00007f31b0e6d000)

    liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f31b0c47000)

    libdav1d.so.2 => /usr/lib/libdav1d.so.2 (0x00007f31b0b34000)

    libopencore-amrwb.so.0 => /usr/lib/libopencore-amrwb.so.0 (0x00007f31b0b1e000)

    libz.so.1 => /usr/lib/libz.so.1 (0x00007f31b0907000)

    libaom.so.0 => /usr/lib/libaom.so.0 (0x00007f31b04b0000)

    libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00007f31b02a4000)

    libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00007f31b002b000)

    libopencore-amrnb.so.0 => /usr/lib/libopencore-amrnb.so.0 (0x00007f31b0000000)

    libopenjp2.so.7 => /usr/lib/libopenjp2.so.7 (0x00007f31affa3000)

    libopus.so.0 => /usr/lib/libopus.so.0 (0x00007f31aff45000)

    libspeex.so.1 => /usr/lib/libspeex.so.1 (0x00007f31aff28000)

    libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0x00007f31afce9000)

    libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0x00007f31afacf000)

    libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f31af8a3000)

    libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00007f31af5fa000)

    libx264.so.157 => /usr/lib/libx264.so.157 (0x00007f31af32f000)

    libx265.so.176 => /usr/lib/libx265.so.176 (0x00007f31ae0ad000)

    libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x00007f31add9c000)

    libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f31add97000)

    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f31add8f000)

    libsoxr.so.0 => /usr/lib/libsoxr.so.0 (0x00007f31adb1b000)

    libnvidia-fatbinaryloader.so.435.21 => /usr/lib/libnvidia-fatbinaryloader.so.435.21 (0x00007f31ad8cc000)

    libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f31ad6c6000)

    libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f31ad6bb000)

    libmvec.so.1 => /usr/lib/libmvec.so.1 (0x00007f31ad68f000)

    libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00007f31ad654000)


    Bei 2.4.1 in "whatsnews" habe ich kein verweis auf Plugin interface Änderungen gefunden. 2.4.1 kommt zustande, weil ich auf AUR-Pakete für arch Linux von M-Reimer setze und das dort die aktuelle Version ist. Wenn nötig, kann ich das auch ändern.

Jetzt mitmachen!

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