DeepStream losing relevance because of outdated dependecies

As of now, I am running on Ubuntu 18.04 with GStreamer 1.14.5.

We are noticing that GStreamer 1.14.5 is unable to connect to newer cameras, while GStreamer 1.16.2 can. DeepStream’s dependency on the old version of GStreamer is a severely limiting factor that greatly diminishes our motivation of continuing to use DeepStream and makes us wonder whether we should start porting the platform specific components and use the newer versions of GStreamer.

I tried upgrading the GStreamer version on my laptop and I managed to connect to the Dahua RTSP camera using the same URI, but I broke the hardware decoder and encoder in the process.

This problem has been encountered at least twice so far, but apparently it hasn’t been a good enough reason for Nvidia to consider updating its dependencies:

1 Like

Currently there is no plan for upgrading gstreamer in next release. We may consider this requirementin the future.

Can you try the deepstream 6.0-triton docker DeepStream | NVIDIA NGC? It is using gstreamer 1.16

Sadly, those images are for dGPU only and the Jetson images mount libraries from the host in cheap attempt to save storage which make them unusable in production.

In the end I managed to create a custom set of Docker images for the Jetsons by compiling GStreamer 1.20.0 from source and installing it to /opt/gstreamer to prevent clashes with the system GStreamer libraries. I strongly recommend Nvidia to update the minimum GStreamer version requirement since GStreamer 1.20.0 works flawlessly on the Jetsons and only prints a warning for dGPU:

GStreamer-WARNING **: 12:48:24.975: (../subprojects/gstreamer/gst/gstinfo.c:556):gst_debug_log_valist: runtime check failed: (object == NULL || G_IS_OBJECT (object))

However, it is worth noting that the environment must be configured accordingly:

export LD_LIBRARY_PATH=/opt/gstreamer/lib/$(uname -m)-linux-gnu:${LD_LIBRARY_PATH}
export PKG_CONFIG_PATH=/opt/gstreamer/lib/$(uname -m)-linux-gnu/pkgconfig:${PKG_CONFIG_PATH}
export PATH=/opt/gstreamer/bin:${PATH}

GStreamer 1.20.0 seems to break the hardware accelerated encoder, so it does not work flawlessly as I thought. However, I managed to get the rtspsrc element to work with the Dahua camera in GStreamer 1.14.5 by setting short-header to true.

For GStreamer to pick the right plugins GST_PLUGIN_PATH must be set too.

export GST_PLUGIN_PATH="/opt/gstreamer/lib/$(uname -m)-linux-gnu/gstreamer-1.0"${GST_PLUGIN_PATH:+:${GST_PLUGIN_PATH}}

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