Аппаратный декодер H.264 от Nvidia (nvdec с Gstreamer) дает сбой

Аппаратный декодер H.264 от Nvidia (nvdec с Gstreamer) дает сбой

Я создал виртуальную машину Azure Nc6s_v3, которая предоставляет карту Nvidia V100 GPU. Я установил драйверы, следуя инструкциям здесьhttps://docs.microsoft.com/en-us/azure/virtual-machines/linux/n-series-driver-setup.

Драйвер успешно настроен, и я вижу корректные выходные данные для nvidia-smiинструмента.

Мне удалось успешно скомпилировать Video_Codec_SDK_9.0.20 и запустить примеры приложений.

Я скомпилировал кодовую базу Gstreamer, включив поддержку кодировщика/декодера Nvidia hw. Плагин кодировщика nvh264encработает нормально. Но я вижу сбой с плагином декодера (nvdec) со следующей трассировкой стека.

ошибка nvdec:

Caught SIGSEGV
#0  0x00007fa33d47720d in poll () from /lib64/libc.so.6
#1  0x00007fa33ddc5414 in g_main_context_poll (priority=2147483647, n_fds=2,
#2  g_main_context_iterate (context=0x7fa32c001660, block=block@entry=1,
#3  0x00007fa33ddc574a in g_main_loop_run (loop=0x12ef7d0) at gmain.c:4116
#4  0x00007fa33ea65387 in gst_bus_poll (bus=bus@entry=0xb76160,
#5  0x0000000000404918 in event_loop (pipeline=0xb741d0,
#6  0x000000000040388e in main (argc=15, argv=0x7ffc11cfee18)

Любая помощь здесь будет высоко оценена.

Добавляю еще несколько журналов:

Starting program: /home/autoinstall/install-1.14.5/bin/gst-launch-1.0 filesrc location=/home/autoinstall/streams/crowd_run_720p30_2300kbps_120s.mp4 \! qtdemux \! h264parse \! nvdec \! gldownload \! fakesink
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Setting pipeline to PAUSED ...
[New Thread 0x7fffea615700 (LWP 53914)]
[Thread 0x7fffea615700 (LWP 53914) exited]
[New Thread 0x7fffea414700 (LWP 53915)]
[New Thread 0x7fffea615700 (LWP 53933)]
[New Thread 0x7fffea213700 (LWP 53934)]
[New Thread 0x7fffe9e6e700 (LWP 53935)]
Pipeline is PREROLLING ...
[New Thread 0x7fffe9c6d700 (LWP 53936)]
Got context from element 'gldownloadelement0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplay\)\ gldisplay0";
[New Thread 0x7fffe949a700 (LWP 53937)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe949a700 (LWP 53937)]
0x00007fffedac5aba in gst_gl_window_x11_open (window=0x7a69b0, error=0x0) at gstglwindow_x11.c:171
171           DefaultVisual (window_x11->device, window_x11->screen_num);
Missing separate debuginfos, use: debuginfo-install glibc-2.17-260.el7_6.3.x86_64 libX11-1.6.5-2.el7.x86_64 libXau-1.0.8-2.1.el7.x86_64 libXext-1.3.3-3.el7.x86_64 libglvnd-1.0.1-0.8.git5baa1e5.el7.x86_64 libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64 libxcb-1.13-1.el7.x86_64 zlib-1.2.7-18.el7.x86_64
(gdb) bt
#0  0x00007fffedac5aba in gst_gl_window_x11_open (window=0x7a69b0, error=0x0) at gstglwindow_x11.c:171
#1  0x00007fffedaa226a in gst_gl_context_create_thread (context=0x7fffa8499090) at gstglcontext.c:1200
#2  0x00007ffff6e71390 in g_thread_proxy (data=0x7fffa8007d90) at gthread.c:784
#3  0x00007ffff6be9dd5 in start_thread () from /lib64/libpthread.so.0
#4  0x00007ffff6506ead in clone () from /lib64/libc.so.6
(gdb)

Связанный контент