Nvvideoconvert plugin not available in Deepstream docker image

Please provide complete information as applicable to your setup.

• GForce GTX 1080Ti
• DeepStream Version 5.1
• TensorRT Version 7.2.3
• NVIDIA GPU Driver Version 455
• Issue Type( questions, new requirements, bugs) Question

I am trying to run a c++ code inside a deep stream container which will invoke below pipeline

filesrc location=“example.mp4” ! qtdemux ! h264parse ! nvv4l2decoder ! video/x-raw(memory:NVMM) ! videorate ! video/x-raw(ANY),framerate=1/1 ! nvvideoconvert ! video/x-raw,format=(string)BGRx ! jpegenc ! appsink name=sink emit-signals=true sync=true max-buffers=1 drop=false"

but while running I am receiving "could not construct pipeline: no element “nvvideoconvert”

When executed the command “gst-inspect-1.0” inside docker image of deepstream it says no “No such element or plugin 'nvvideoconvert”

I used both

  1. docker pull nvcr.io/nvidia/deepstream:5.1-21.02-base
  2. docker pull nvcr.io/nvidia/deepstream:5.1-21.02-devel

but both are not working for me

Can you run the command of “gst-inspect-1.0 nvvideoconvert”? What is the output?

root@10762fb17972:/opt/nvidia/deepstream/deepstream-5.1# gst-inspect-1.0 nvvideoconvert
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100

(gst-plugin-scanner:15): GStreamer-WARNING **: 05:05:18.425: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so’: libtritonserver.so: cannot open shared object file: No such file or directory
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
nvbufsurftransform:cuInit failed : 100
No such element or plugin ‘nvvideoconvert’

Please check your drivers versions according to Quickstart Guide — DeepStream 5.1 Release documentation.

Based on your suggestion I looked at my nvidia driver and it is 455. There are some dependencies so I cant update driver right now. So I tired to use docker image of deepstream 4

docker pull nvcr.io/nvidia/deepstream:4.0.2-19.12-devel

When I run the docker container I could see the plugins (nvvideoconvert) available.

With that deepstream container, instead of running the original pipeline mentioned above I tried to run basic pipeline shown below

gst-launch-1.0 videotestsrc ! videoconvert ! autovideosink

I entered the pipeline command after entering the deepstream docker image with below command

docker run --privileged -it --net=host -e DISPLAY -v $HOME/.Xauthority:/root/.Xauthority nvcr.io/nvidia/deepstream:4.0.2-19.12-devel bash

The msg I am getting is show below and I am not seeing any video output

Am I missing any thing

I was able to run the simple pipeline with below run command

docker run --cap-add=SYS_PTRACE --runtime=nvidia -it -e DISPLAY=$DISPLAY --privileged --volume /tmp/.X11-unix:/tmp/.X11-unix --net=host -e NVIDIA_VISIBLE_DEVICES=all -v $HOME/.Xauthority:/root/.Xauthority -e NVIDIA_DRIVER_CAPABILITIES=compute,utility,graphics nvcr.io/nvidia/deepstream:4.0.2-19.12-devel bash

and pipeline command modified as below

gst-launch-1.0 videotestsrc ! videoconvert ! nveglglessink

Thanks @Fiona.Chen for helping me out

One more query

I see the docker image size of deepstream-5 much higher than that of deepstream-4 (more than double for both base and devel versions) Is there any reason for that (pls see Fig below)

More functions, more samples. Please refer to Welcome to the DeepStream Documentation — DeepStream 5.1 Release documentation

Thanks

@Fiona.Chen , After running the basic command gst-launch-1.0 videotestsrc ! videoconvert ! nveglglessink I tried to test below commands and not able to use nvv4l2decoder

gst-launch-1.0 filesrc location=VD19_peoplewalking.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! nvvideoconvert  ! nveglglessink

I am receiving error as show below

But when I replace nvv4l2decoder with decodebin and nvv4l2decoder with videoconvert I am able to see the video playing. (Pls see the command below)

gst-launch-1.0 filesrc location=VD19_peoplewalking.mp4 ! qtdemux ! h264parse ! decodebin ! videoconvert  ! nveglglessink

Please note that both command I ran from docker container.

I also tested the first pipeline command outside docker and it is working properly.