Using nvv4l2 for decoding, in custom docker

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) - Tesla T4
• DeepStream Version - 5.0(docker)
• JetPack Version (valid for Jetson only)
• TensorRT Version - 7.0.0(docker)
• NVIDIA GPU Driver Version (valid for GPU only) - 450.51.06
• Issue Type( questions, new requirements, bugs) - question
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

I would like to use TF with Accelerated GStreamer for RTSP/file decoding. I am currently using docker which has TF and TRT pre-installed. I have tried to installed Gstreamer using official documentation. During gst-inspect-1.0 and gst-launch-1.0 nvv4l2 plugins are missing.

I have also tried using the deepstream 5.0 docker but I’m unable to install TF-GPU on it successfully, also I do not require the complete deepstream functionality for this,. I would finally prefer to have a light docker (without extra installations) to test now as I would finally be deploying on a Jetson NX.

Have you checked whether the v4l2 driver has been installed correctly before you install gstreamer?
There is no “nvv4l2” plugin in DGpu. The document you are using is for Jetson. But you are doing the things with T4(which is dGpu). With dGpu, only v4l2 plugin is available with gstreamer if the v4l2 driver has been installed correctly.

Please do not use Jetson document for reference of dGpu.

https://developer.nvidia.com/embedded/develop/hardware

Yes v4l2 drivers were installed and checked to be working.

I was able to use this docker to run the sample apps on dGPU and it has the nvv4l2(encoder, decoder) plugins available on gst-inspect-1.0. Is there any way(any helper document/resource) I could manually install the same?

After I install v4l2 drivers, which gstreamer plugin should I use for accelerated decoding?

Please could you provide a corresponding document for dGPU.

NOTE: I am also trying out the installations on Jetson NX, will update this when I have any progress.

I see, you are talking about nvv4l2decoder , nvv4l2h264enc and nvv4l2h265enc, but not nvv4l2src.

For dGPU, you need to refer to https://docs.nvidia.com/metropolis/deepstream/dev-guide/index.html#page/DeepStream_Development_Guide/deepstream_quick_start.html#wwpID0E0VF0HA for installation.

Hi, would I require the complete deepstream installation for access to nvv4l2decoder? I already have CUDA 10.2, TensorRT 7.0, Nvidia Driver 450.51 installed in the docker.

On this docker I tried installing v4l2 drivers and gstreamer installation using command from the doc you provided. But still unable to detect nvv4l2decoder.

Please advise.

Yes, you need to install whole DeepStream.

I completed the whole deepstream installation, to test it out but I’m facing few more errors.

On running a sample app from configs/deepstream-app/source_30… :
deepstream-app: error while loading shared libraries: libjson-glib-1.0.so.0: cannot open shared object file: No such file or directory

On running ‘gst-inspect-1.0’ :
(gst-plugin-scanner:5393): GStreamer-WARNING **: 14:01:14.576: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_eglglessink.so’: libGLESv2.so.2: cannot open shared object file: No such file or directory

(gst-plugin-scanner:5393): GStreamer-WARNING **: 14:01:14.579: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_msgconv.so’: libjson-glib-1.0.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:5393): GStreamer-WARNING **: 14:01:14.583: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so’: libtrtserver.so: cannot open shared object file: No such file or directory

The gstreamer sink plugins nveglglessink and nv3dsink seem to be missing. Could please tell me how to install them, as I require this to test out my decoding pipeline.

Installing deepstream-5.0 from its SDK solved the missing nvv4l2decode plugin! I was hoping to not have install the complete bulky package, inorder to keep the docker light

1 Like

Hello guys !
Same error, anyone has a solution ?
Thanks for your time !

Here is my configuration:
Ubuntu 20.04
Nvidia GPU: NVIDIA Tesla T4
Gstreamer: 1.14.5
Nvidia Driver: 525.85.12
Cuda: 11.8
TensorRT: 8.5.2
DeepStream: 6.2

My error was:
deepstream-app: error while loading shared libraries: libjson-glib-1.0.so.0: cannot open shared object file: No such file or directory

And after I run this command to be sure that I have installed all gstreamer packages
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

I get the same error
(gst-plugin-scanner:5393): GStreamer-WARNING **: 14:01:14.576: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_eglglessink.so’: libGLESv2.so.2: cannot open shared object file: No such file or directory

(gst-plugin-scanner:5393): GStreamer-WARNING **: 14:01:14.579: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_msgconv.so’: libjson-glib-1.0.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:5393): GStreamer-WARNING **: 14:01:14.583: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so’: libtrtserver.so: cannot open shared object file: No such file or directory

result of this cmd: dpkg -l | grep TensorRT
ii libnvinfer-bin 8.5.2-1+cuda11.8 amd64 TensorRT binaries
ii libnvinfer-dev 8.5.2-1+cuda11.8 amd64 TensorRT development libraries and headers
ii libnvinfer-plugin-dev 8.5.2-1+cuda11.8 amd64 TensorRT plugin libraries
ii libnvinfer-plugin8 8.5.2-1+cuda11.8 amd64 TensorRT plugin libraries
ii libnvinfer-samples 8.5.2-1+cuda11.8 all TensorRT samples
ii libnvinfer8 8.5.2-1+cuda11.8 amd64 TensorRT runtime libraries
ii libnvonnxparsers-dev 8.5.2-1+cuda11.8 amd64 TensorRT ONNX libraries
ii libnvonnxparsers8 8.5.2-1+cuda11.8 amd64 TensorRT ONNX libraries
ii libnvparsers-dev 8.5.2-1+cuda11.8 amd64 TensorRT parsers libraries
ii libnvparsers8 8.5.2-1+cuda11.8 amd64 TensorRT parsers libraries
ii python3-libnvinfer 8.5.2-1+cuda11.8 amd64 Python 3 bindings for TensorRT
ii python3-libnvinfer-dev 8.5.2-1+cuda11.8 amd64 Python 3 development package for TensorRT

result of this cmd: dpkg -l | grep libnvinfer:
ii libnvinfer-bin 8.5.2-1+cuda11.8 amd64 TensorRT binaries
ii libnvinfer-dev 8.5.2-1+cuda11.8 amd64 TensorRT development libraries and headers
ii libnvinfer-plugin-dev 8.5.2-1+cuda11.8 amd64 TensorRT plugin libraries
ii libnvinfer-plugin8 8.5.2-1+cuda11.8 amd64 TensorRT plugin libraries
ii libnvinfer-samples 8.5.2-1+cuda11.8 all TensorRT samples
ii libnvinfer8 8.5.2-1+cuda11.8 amd64 TensorRT runtime libraries
ii python3-libnvinfer 8.5.2-1+cuda11.8 amd64 Python 3 bindings for TensorRT
ii python3-libnvinfer-dev 8.5.2-1+cuda11.8 amd64 Python 3 development package for TensorRT

Hi @bruno.zheng ,
Please file a new topic with your installation steps, thanks.

1 Like