Textoverlay plugin missing from Deepstream image

• Docker image nvcr.io/nvidia/deepstream:5.0-20.07-samples

I want to do some simple overlay on a pipeline branch without using “nvdsosd”. This should be easy with the “textoverlay” plugin which should be included in the base: https://gstreamer.freedesktop.org/documentation/pango/textoverlay.html?gi-language=c

However, the plugin is missing from the deepstream docker image:

gst-inspect-1.0 textoverlay
No such element or plugin ‘textoverlay’

Why? And how can I manually install it?

It depends on pango. so it is not enabled by default

But it’s not part of the bad plugins, it’s part of gst-plugins-base which should have all plugins enabled. It has nothing to do with whether or not they are published by deepstream, I am talking about the docker image which was built by nvidia by installing gstreamer plugins aside from the deepstream plugins. Without standard gstreamer plugins, deepstream is useless.

By the way, I think in some of the nvidia samples or forum answers there is this plugin called fpsdisplaysink, which exists but it doesn’t work because I suspect it needs textoverlay under the hood.

It depends on pango, so it is not enabled by default.
Any Gstreamer plugin is not installed by DeepStream. DeepStream only installs DeepStream plugins.
You can use “apt install” to update gstreamer plugins in docker if you think there is anything missing.
Please check with your system installation packages and GStreamer community.

For anyone else having this issue, it’s caused by missing libraries that the plugins depend on.

This is quite crappy behavior of gstreamer that doesn’t warn for missing library and gives instead the same error message as if the plugin isn’t there, when in fact the plugin exists and just fails to load due to missing runtime dependencies.

For me, installing gstreamer1.0-x package fixed it (I already had gstreamer1.0-gl and I’m not sure is necessary for pango but just to make sure).