I have a C++ application, that previously built a pipeline using elements from the nvcodec. I had set up h264 encode/decode, and vp9 decode. I had noticed that the docs ( nvcodec ) suggested there was also a vp8dec element, but I could never build it, and it didn’t appear in the output of gst-inspect-1.0 nvcodec so I just assumed the docs were a bit out of whack.
However, I had been successfully using cudaconvert in the pipeline until last week. This week when I tried to build it:
_video_converter = gst_element_factory_make("cudaconvert", "webrtcvideoconvert");
This line returned null, and the element is now missing from gst-inspect, which now reads as:
%gst-inspect-1.0 nvcodec
Plugin Details:
Name nvcodec
Description GStreamer NVCODEC plugin
Filename /usr/lib/gstreamer-1.0/libgstnvcodec.so
Version 1.26.6
License LGPL
Source module gst-plugins-bad
Documentation ``https://gstreamer.freedesktop.org/documentation/nvcodec/``
Source release date 2025-09-14
Binary package Arch Linux GStreamer 1.26.6-2
Origin URL ``https://www.archlinux.org/``
Info: CUDA runtime compilation library "libnvrtc.so" was not found, check CUDA toolkit package installation
cudadownload: CUDA downloader
cudaipcsink: CUDA IPC Sink
cudaipcsrc: CUDA IPC Src
cudaupload: CUDA uploader
nvautogpuh264enc: NVENC H.264 Video Encoder Auto GPU select Mode
nvautogpuh265enc: NVENC H.265 Video Encoder Auto GPU select Mode
nvh264dec: NVDEC H.264 Decoder
nvh264enc: NVENC H.264 Video Encoder CUDA Mode
nvh265dec: NVDEC H.265 Decoder
nvh265enc: NVENC H.265 Video Encoder CUDA Mode
nvjpegdec: NVDEC jpeg Video Decoder
nvjpegenc: NVIDIA JPEG Encoder
nvmpeg2videodec: NVDEC mpeg2video Video Decoder
nvmpeg4videodec: NVDEC mpeg4video Video Decoder
nvmpegvideodec: NVDEC mpegvideo Video Decoder
nvvp9dec: NVDEC VP9 Decoder
16 features:
+-- 16 elements
I think the ‘info’ line is important, I remember there being major updates around my cuda packages recently (running Arch). I have the relevant file, I just can’t get gstreamer to find it:
% find / -name libnvrtc.so 2>/dev/null
/opt/cuda/targets/x86_64-linux/lib/stubs/libnvrtc.so
/opt/cuda/targets/x86_64-linux/lib/libnvrtc.so
Any suggestions for how to fix this would be welcome (or just to tell me that I’m barking up the wrong tree, and that cudaconvert has been taken away - in which case I might need to look at using Deepstream…