Deep stream - Gstreamer NV Plugins

Please provide complete information as applicable to your setup.

• Hardware Platform (DGPU)
• DeepStream Version 6.2
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only) - 535
• Issue Type( questions, new requirements, bugs) - Gstreamer NV Plugins
• 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)

Hi,

I am able to run the Deepstream sample applications thro “./deepstream-test1-app dstest1_config.yml”.

But when I try to run thro’ Gstreamer pipeline (gst-launch-1.0 uridecodebin3 uri=“rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa” ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path=“/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt” model-engine-file=“/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine” ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false).

It throws error "WARNING: erroneous pipeline: no element “nvstreammux”

I tried to inspect the element gst-inspect-1.0 nvstreammux and got the message as “No such element or plugin ‘nvstreammux’”.
Infact none of the NV plugins are found thro Gstreamer incl nvarguscamerasrc and other nv plugins.

Do we need to install anything specific for NV plugins?

Thanks and Regards,
Prabakaran R

try

cd /opt/nvidia/deepstream/deepstream
./install.sh

It may be caused by cache.

Thanks.

Let me check that.
Btw, are we reinstalling the deepstrem here?
I am afraid I don’t want to do that from scratch.

This command just sets some environment variables and clean some caches,not reinstall.

I tried but I am still getting the same error.

When I tried different pipeline as below, I am getting error for “qtdemux” as well. I guess most of the plugins are not available.

FYI, gst-inspect-1.0 uridecodebin3 works and it is available

“gst-launch-1.0 filesrc location= streams/sample_1080p_h264.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! m.sink_0 nvstreammux name=m batch-size=1 width=1920 height=1080 ! nvinfer config-file-path= configs/deepstream-app/config_infer_primary.txt batch-size=1 unique-id=1 ! nvtracker ll-lib-file=/opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so ! nvinfer config-file-path= configs/deepstream-app/config_infer_secondary_carcolor.txt batch-size=16 unique-id=2 infer-on-gie-id=1 infer-on-class-ids=0 ! nvmultistreamtiler rows=1 columns=1 width=1280 height=720 ! nvvideoconvert ! nvdsosd ! nveglglessink”

Thanks

1.Is libnvdsgst_multistream.so and libnvdsgst_infer.so exsits at /opt/nvidia/deepstream/deepstream/lib/gst-plugins ?

2.what is the output of deepstream-app --version-all ?

3.Is the following command line run normally ?

gst-launch-1.0 -e nvstreammux name=mux batch-size=1 width=1280 height=720 ! nvinfer config-file-path=/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-test2/dstest2_pgie_config.yml ! nvvideoconvert ! "video/x-raw(memory:NVMM), format=RGBA" ! nvdsosd ! nvvideoconvert ! nv3dsink filesrc location=/opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! queue ! mux.sink_0

I can’t understand why deepstream-test1-app work fine but can’t find nvstreammux

1.Is libnvdsgst_multistream.so and libnvdsgst_infer.so exsits at /opt/nvidia/deepstream/deepstream/lib/gst-plugins ?

Yes. Both the files are present.

2.what is the output of deepstream-app --version-all ?

deepstream-app version 6.2.0
DeepStreamSDK 6.2.0
CUDA Driver Version: 12.2
CUDA Runtime Version: 12.2
TensorRT Version: 8.5
cuDNN Version: 8.7
libNVWarp360 Version: 2.0.1d3

3.Is the following command line run normally ?

It returns "WARNING: erroneous pipeline: no element “nvstreammux”

As mentioned earlier, I am able to run Deep stream sample applications like deepstream-test1-app, deepstream-test2-app, ‘deepstream-app’… and able to see the video with detected objects (like car, people…). But I am unable to run thro Gstreamer pipeline.

If you run the following command to register the path to plugin environment variables,

Can gst-inspect-1.0 nvstreammux work fine?

export  GST_PLUGIN_PATH_1_0 = /opt/nvidia/deepstream/deepstream/lib/gst-plugins

Or

Did you tried docker ?

Post export step, I executed the gst-inspect-1.0

Here is the output which I got from gst-inspect-1.0 nvstreammux (on the first attempt),

(gst-plugin-scanner:3782): GStreamer-WARNING **: 13:54:28.251: Failed to load plugin ‘/opt/nvidia/deepstream/deepstream/lib/gst-plugins/libnvdsgst_videotestsrc.so’: /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0: undefined symbol: gst_aggregator_simple_get_next_time

(gst-plugin-scanner:3782): GStreamer-WARNING **: 13:54:28.308: Failed to load plugin ‘/opt/nvidia/deepstream/deepstream/lib/gst-plugins/libgstnvvideoconvert.so’: /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0: undefined symbol: gst_aggregator_simple_get_next_time



(gst-plugin-scanner:3782): GStreamer-WARNING **: 13:54:31.491: Failed to load plugin ‘/opt/nvidia/deepstream/deepstream/lib/gst-plugins/libnvdsgst_of.so’: /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0: undefined symbol: gst_aggregator_simple_get_next_time
No such element or plugin ‘nvstreammux’

On the consecutive attempt of " gst-inspect-1.0 nvstreammux", I simple get
“No such element or plugin ‘nvstreammux’”

Thanks

Is gstreamer missed ?
try

sudo apt install \
libssl1.1 \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstreamer-plugins-base1.0-dev \
libgstrtspserver-1.0-0 \
libjansson4 \
libyaml-cpp-dev \
libjsoncpp-dev \
protobuf-compiler \
gcc \
make \
git \
python3

then

sudo ldconfig

I tired but still no luck.

FYI,
gst-launch-1.0 --gst-version
GStreamer Core Library version 1.14.0

As described in the compatibility table.

You can try update gstreamer to 1.16.3 and use the ubuntu 20.04.

By the way, you can try use docker to avoid reinstall.

Sure. Let me try these options.

Thanks.

I am now trying with Docker NGC container as per steps given Deep stream documentation

I am facing couple of issue

  1. “xhost +” returns “Invalid MIT-MAGIC-COOKIE-1 keyxhost: unable to open display ":0

  2. Without the above step, I tried running docker as below
    “sudo docker run -it --rm --net=host --gpus all -e DISPLAY=$DISPLAY --device /dev/snd -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/deepstream:6.3-samples

But it returns docker: unknown server OS: .

Am I missing anything here?

Thanks

Do you use x11-forwarding ? this is not supported. If you want run samples, try replace nveglglessink to fakesink

This is a error from docker, If sudo service docker restart not work,try reinstall docker

Now I able to run Docker with NVIDIA container “nvcr.io/nvidia/deepstream:6.2-devel”.

However, When I am executing
“./deepstream-test1-app dstest1_config.yml”, it is not progressing (and it hangs) beyond the below message

"
Added elements to bin
Using file: dstest1_config.yml
No protocol specified
No protocol specified
No protocol specified
No protocol specified
Running…

Any thought and advice would be helpful

This error means docker can’t connect to host’s X display.

Do you have a display ? You need run the following command line before docker runs.

xhost +

You can get more detail information from this link.

It worked.

Thanks for your kind support.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.