GStreamer / Deepstream:加载插件时没有这样的文件或目录
GStreamer / Deepstream: No such file or directory when loading plugins
Gstreamer 向我报告无法加载插件的错误,因为它们的文件不存在。但是,这些文件确实存在。
输出:
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
为了重现问题,您可以在同一目录中创建以下两个文件。
Docker 文件:
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
然后运行:
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
在系统中找不到文件 librivermax.so.0
和 libtritonserver.so
。
事实证明这不是问题。如果您想使用 Triton 服务器,可以使用专用的 docker 图像。至于Rivermax,如果你想使用它在文档中有提到,但如果你不想使用它,你可以放心地忽略警告。
Gstreamer 向我报告无法加载插件的错误,因为它们的文件不存在。但是,这些文件确实存在。
输出:
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
为了重现问题,您可以在同一目录中创建以下两个文件。
Docker 文件:
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
然后运行:
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
在系统中找不到文件 librivermax.so.0
和 libtritonserver.so
。
事实证明这不是问题。如果您想使用 Triton 服务器,可以使用专用的 docker 图像。至于Rivermax,如果你想使用它在文档中有提到,但如果你不想使用它,你可以放心地忽略警告。