Hello everyone,
Using nvidia tools is new to me and I have no experience in this area. I have been facing a problem for a while now and despite the resources on the internet I can’t solve my problem.
The context is as follows. My goal is to use nvidia hardware-accelerators (like nvv4l2decoder for example) to decode an rtsp video stream. For the moment, I am doing tests with an mp4 file.
In terms of operating system, I am using ubuntu 22.04 LTS via an AWS EC2 with a 64bit-x86 architecture. For the installation, I use this nvidia documentation (here is the link Installation — DeepStream documentation) more precisely the part “dGPU Setup for Ubuntu” which is dedicated to the Ubuntu x86_64 system.
When I finished the installation, everything goes well and when I test the activation of nvv4l2decoder with the command “gst-inspect-1.0 | grep nvv4l2decoder”, I get this as result in the terminal “nvvideo4linux2: nvv4l2decoder: NVIDIA v4l2 video decoder”.
I also tested enabling nvidia drivers via “nvidia-smi” command and got this output in terminal " Tue Dec 17 07:19:26 2024
±---------------------------------------------------------------------------------------+
| NVIDIA-SMI 565.77 Driver Version: 565.77 CUDA Version: 12.7 |
|-----------------------------------------±-----------------------±---------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|============================================+========================================= |
| 0 NVIDIA L4 Off | 00000000:31:00.0 Off | 0 |
| N/A 36C P0 27W / 72W | 1MiB / 23034MiB | 0% Default |
| | | N/A |
±----------------------------------------±-----------------------±---------------------+
±------------------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|============================================================================ |
| No running processes found |
±----------------------------------------------------------------------------------------+".
I tested the correct installation of gstreamer via this command “gst-inspect-1.0 --version” and I get this “gst-inspect-1.0 version 1.20.3
GStreamer 1.20.3
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0”.
I also confirmed the correct installation of CUDA via this command “nvcc --version” and I get this in the terminal “nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Nov_18_09:45:30_PST_2021
Cuda compilation tools, release 11.5, V11.5.119
Build cuda_11.5.r11.5/compiler.30672275_0”.
When I test the decoding of my mp4 file with the commands
“export DISPLAY=:0” and
“gst-launch-1.0 filesrc location=./my_file.mp4 ! qtdemux ! queue ! h264parse ! nvh264sldec ! autovideosink”, it works well.
But When I test the decoding of my mp4 file with the commands
“export DISPLAY=:0” and
“gst-launch-1.0 filesrc location=./my_file.mp4.mp4! qtdemux! queue! h264parse! nvv4l2decoder! autovideosink” this no longer works and I get this message in the terminal
“Setting pipeline to PAUSED…
MESA-LOADER: failed to open simpledrm: /usr/lib/dri/simpledrm_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
kmsro: driver missing
Failed to query video capabilities: Invalid argument
Pipeline is PREROLLING…
Got context from element ‘autovideosink0’: gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)”(GstGLDisplayGBM)\ gldisplaygbm0";
WARNING: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: Delayed linking failed.
Additional debug info:
gst/parse/grammar.y(540): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
failed delayed linking some pad of GstQTDemux named qtdemux0 to some pad of GstQueue named queue0
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: Internal data stream error.
Additional debug info:
…/gst/isomp4/qtdemux.c(6749): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
streaming stopped, reason not-linked (-1)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
Freeing pipeline …".
Despite all my research on the internet and the solutions I have tested, I can’t solve this problem. Please, can you help me solve this problem?
I thank in advance any contribution that helps me solve the problem.