Search code examples
ubuntupluginsgstreamernvidia-deepstream

GStreamer / Deepstream: No such file or directory when loading plugins


Gstreamer is giving me errors reporting that it cannot load plugins because their files do not exists. However, these files do exists.

Output:

Frames will be saved in  frames

(gst-plugin-scanner:22): GStreamer-WARNING **: 20:59:31.873: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so': librivermax.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:22): GStreamer-WARNING **: 20:59:31.938: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so': libtritonserver.so: cannot open shared object file: No such file or directory
Creating Pipeline

Creating streamux

Creating source_bin  0

Creating source bin
source-bin-00
Creating Pgie

Creating nvvidconv1

Creating filter1

Creating tiler

Creating nvvidconv

Creating nvosd

Creating EGLSink

Atleast one of the sources is live
Adding elements to Pipeline

Linking elements in the Pipeline

Now playing...
1 :  rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
Starting pipeline

^CExiting app

In order to reproduce the issue you can create the two following files in the same directory.

Dockerfile:

FROM nvcr.io/nvidia/deepstream:6.0-samples
ENV GIT_SSL_NO_VERIFY=1
RUN apt install -y git python-dev python3 python3-pip python3.6-dev python3.8-dev cmake g++ build-essential \
    libglib2.0-dev libglib2.0-dev-bin python-gi-dev libtool m4 autoconf automake wget
RUN apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
RUN pip3 install --upgrade pip
RUN pip3 install numpy opencv-python
RUN echo '/usr/local/lib/gstreamer-1.0' >> /etc/ld.so.conf
RUN ldconfig
RUN cd /opt/nvidia/deepstream/deepstream-6.0/sources && \
    git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps.git
RUN cd /opt/nvidia/deepstream/deepstream-6.0/sources/deepstream_python_apps && \
    git submodule update --init
RUN wget https://github.com/NVIDIA-AI-IOT/deepstream_python_apps/releases/download/v1.1.0/pyds-1.1.0-py3-none-linux_x86_64.whl
RUN pip3 install pyds-1.1.0-py3-none-linux_x86_64.whl
COPY start_example.sh start_example.sh
RUN rm -rf ~/.cache/gstreamer-1.0/

start_example.sh :

cd /opt/nvidia/deepstream/deepstream-6.0/sources/deepstream_python_apps/apps/deepstream-imagedata-multistream
python3 deepstream_imagedata-multistream.py rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov frames

Then run:

docker build . -t deepstream-custom
docker run --gpus '"'device=0'"' -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY  deepstream-custom sh start_example.sh

Files librivermax.so.0 and libtritonserver.so can't be find in the system.


Solution

  • It turns out that this is not an issue. If you wan to to use Triton Server there is a dedicated docker image. As for Rivermax, it is mentioned in the doc if you want to use it, but if you don't, you can safely ignore the warning.