NVIDIA Docker nvdec / nvenc gstreamer plugin

What’s the recommended way to build the nvdec / nvenc gstreamer 1.16.0 plugins to be used in NVIDIA Docker? I downloaded the SDK and built the plugins against the headers but I get some errors when inspecting the element “undefined symbol: cuCtxDestroy_v2”, “undefined symbol: cuMemAllocPitch_v2”.

I had to install NVIDIA drivers in the containers, is that a mismatch of drivers between host and container? Or a mismatch of SDK between the latest and the gstreamer plugin?

Why do you need to build nvdec/nvenc gst-plugin? What’s SDK you downloaded ?

I want to leverage the Nvidia GPU for hardware decoding h264 video. I’ve downloaded the SDK available at https://developer.nvidia.com/nvidia-video-codec-sdk

We have deepstream SDK https://developer.nvidia.com/deepstream-sdk It has decoder gst-plugin.

How is that different from nvdec? I’m not using a Jetson or Tesla GPU, just a regular 1060/1080.

 Deepstream SDK


nvdecoder gst plugin … video codec SDK (Sample)

…\ … /

libnvcuvid.so (From nvidia driver)

Can you be more specific please? What’s the difference with nvdec? Why can’t I use it, is that deprecated?

Sure. You can use https://developer.nvidia.com/nvidia-video-codec-sdk and https://developer.nvidia.com/deepstream-sdk both.

What’s the difference with nvdec?
I am not clear your question.

There is a nvdec gst plugin in gst-plugins-bad (https://github.com/GStreamer/gst-plugins-bad/blob/bc128d610063a266a1b715e5a696ca252f2d5a74/sys/nvdec/gstnvdec.h), I’m trying to understand what’s the difference with that plugin and the one you recommended from deepstream to decode video using the GPU.

Deepstream has its own nvdec gstreamer plugin. The link you provide is not owned by Nvidia.
You can wait one or two days. deepstream SDK 4.0 will be released soon. There is decoder plugin source code in the package.

Hi bricew63kk,

We have released the DeepSteam SDK 4.0 last week, please try to move this new version for more features and supports, see https://devtalk.nvidia.com/default/topic/1057879/announcements/announcing-deepstream-sdk-4-0-/



Gstreamer 1.16 supports NVENC/NVDEC plugins: https://gstreamer.freedesktop.org/releases/1.16/

So, from NVIDIA side, is there a guide on how to build GStreamer for NVIDIA HW acceleration on x86_64 PCs? Something like the ffmpeg build instructions.

Deepstream SDK is not useful as I need hardware encoding as well.



did you find such a guide to build GStreamer with NVIDIA’s HW acceleration??
I have been days searching for something like that without luck.


This gist was what I needed to install gstreamer nvdec and enc plugins: https://gist.github.com/corenel/a615b6f7eb5b5425aa49343a7b409200