isham
February 26, 2024, 3:23pm
1
• Hardware Platform (Jetson / GPU) : Tesla T4 Gpu
• DeepStream Version : 6.4
• TensorRT Version : * TensorRT 8.6.1.6
• NVIDIA GPU Driver Version (valid for GPU only) : 535.104.12
i have successfully created and run an app using Deepstream , everything was fine. Then i done the same in a Docker container, then iam getting the following error:
deepstream_celery_1 | Error while setting IOCTL
deepstream_celery_1 | Invalid control
deepstream_celery_1 | S_EXT_CTRLS for CUDA_GPU_ID failed
deepstream_celery_1 | [2024-02-26 06:34:00,254: WARNING/MainProcess] pad_added_callback
deepstream_celery_1 | [2024-02-26 06:34:00,255: WARNING/MainProcess] gstname=
deepstream_celery_1 | [2024-02-26 06:34:00,256: WARNING/MainProcess]
deepstream_celery_1 | [2024-02-26 06:34:00,256: WARNING/MainProcess] video/x-raw
deepstream_celery_1 | [2024-02-26 06:34:00,256: WARNING/MainProcess] link uridecodebin to nvstreammux : features
deepstream_celery_1 | [2024-02-26 06:34:00,256: WARNING/MainProcess]
deepstream_celery_1 | [2024-02-26 06:34:00,256: WARNING/MainProcess] <Gst.CapsFeatures object at 0x7f4a3e437be0 (GstCapsFeatures at 0x564d85162720)>
deepstream_celery_1 | [2024-02-26 06:34:00,256: WARNING/MainProcess] Error: Decodebin did not pick nvidia decoder plugin.
am using the same driver and cuda versions inside the container and i have installed nvidia conatiner toolkit, and i can do nvidia-smi from inside the container.
the following is my Dockerfile:
FROM ubuntu:22.04
RUN apt-get update && apt-get install -y \
libssl3 \
libssl-dev \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstreamer-plugins-base1.0-dev \
libgstrtspserver-1.0-0 \
libjansson4 \
libyaml-cpp-dev \
libjsoncpp-dev \
protobuf-compiler \
gcc \
make \
git
RUN apt-get update && apt-get install -y \
gnupg \
software-properties-common \
wget && \
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub && \
add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" && \
apt-get update && \
apt-get install -y cuda-toolkit-12-2 && \
apt-get clean && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y \
libnvinfer8=8.6.1.6-1+cuda12.0 \
libnvinfer-plugin8=8.6.1.6-1+cuda12.0 \
libnvparsers8=8.6.1.6-1+cuda12.0 \
libnvonnxparsers8=8.6.1.6-1+cuda12.0 \
libnvinfer-bin=8.6.1.6-1+cuda12.0 \
libnvinfer-dev=8.6.1.6-1+cuda12.0 \
libnvinfer-plugin-dev=8.6.1.6-1+cuda12.0 \
libnvparsers-dev=8.6.1.6-1+cuda12.0 \
libnvonnxparsers-dev=8.6.1.6-1+cuda12.0 \
libnvinfer-samples=8.6.1.6-1+cuda12.0 \
libcudnn8=8.9.4.25-1+cuda12.2 \
libcudnn8-dev=8.9.4.25-1+cuda12.2
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y apt-utils
RUN wget --content-disposition 'https://api.ngc.nvidia.com/v2/resources/org/nvidia/deepstream/6.4/files?redirect=true&path=deepstream-6.4_6.4.0-1_amd64.deb' -O deepstream-6.4_6.4.0-1_amd64.deb && \
apt-get install -y ./deepstream-6.4_6.4.0-1_amd64.deb
RUN apt-get update && apt-get install -y python3-pip
RUN apt-get update && apt-get install -y cmake
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential libgl1-mesa-glx libcairo2-dev ffmpeg
RUN wget https://github.com/NVIDIA-AI-IOT/deepstream_python_apps/releases/download/v1.1.10/pyds-1.1.10-py3-none-linux_x86_64.whl && \
pip3 install ./pyds-1.1.10-py3-none-linux_x86_64.whl
RUN apt-get install -y libgirepository1.0-dev
#copy Deepstream Python app code and required files
COPY . /app
# Set the working directory
WORKDIR /app
COPY deepstream_requirements.txt .
RUN pip3 install -r deepstream_requirements.txt
EXPOSE 5672
# Command to run your FastAPI app
CMD ["celery", "-A", "worker", "worker","--pool=solo", "--loglevel=info"]
i was earlier using Deepstream official docker image, but then i was expereinecing the gstreamer plugin issues.That’s why i changed to docker custom image
yuweiw
February 27, 2024, 7:48am
3
Have you installed the driver and the CUDA on your host?
isham
February 27, 2024, 9:14am
4
yes, and iam able to do nvidia-smi from inside the container also
Tue Feb 27 09:13:59 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.104.12 Driver Version: 535.104.12 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 Tesla P4 Off | 00000000:00:04.0 Off | 0 |
| N/A 42C P0 23W / 75W | 0MiB / 7680MiB | 2% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+
yuweiw
February 27, 2024, 10:44am
5
Could you check the lib in your docker with ldd /usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libgstnvvideo4linux2.so?
isham
February 27, 2024, 11:59am
6
sure,:
deepstream_user@16dcabaec355:/app$ ldd /usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libgstnvvideo4 linux2.so
/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libgstnvvideo4:
ldd: /usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libgstnvvideo4: No such file or directory
linux2.so:
ldd: ./linux2.so: No such file or directory```
yuweiw
February 28, 2024, 7:10am
7
yuweiw:
libgstnvvideo4linux2.so
Could you try that again? There is no space in the libgstnvvideo4linux2.so.
Hello, I have the same error show, but I fixed them. My experience is when this error show during I infer the video, using
ffmpeg -i view_4-od_video.mp4 -c:v libx264 -preset fast -crf 22 -c:a aac -b:a 128k new_video.mp4
when I infer the streaming, make sure the sound stream not input.
isham
February 28, 2024, 12:45pm
9
yes,`
deepstream_user@75c1bf5e33f3:/app$ ldd /usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libgstnvvideo4linux2.so
linux-vdso.so.1 (0x00007fffebf49000)
libnvbufsurface.so => ///opt/nvidia/deepstream/deepstream-6.4/lib/libnvbufsurface.so (0x00007f6125c5f000)
libnvbufsurftransform.so => ///opt/nvidia/deepstream/deepstream-6.4/lib/libnvbufsurftransform.so (0x00007f6123c8c000)
libgstnvcustomhelper.so => ///opt/nvidia/deepstream/deepstream-6.4/lib/libgstnvcustomhelper.so (0x00007f6123c87000)
libgstallocators-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstallocators-1.0.so.0 (0x00007f6123c73000)
libgstnvdsseimeta.so => ///opt/nvidia/deepstream/deepstream-6.4/lib/libgstnvdsseimeta.so (0x00007f6123c6e000)
libgstreamer-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f6123b1b000)
libgstbase-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so.0 (0x00007f6123a96000)
libgstvideo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0 (0x00007f61239d1000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f6123897000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f6123837000)
libv4l2.so.0 => /usr/lib/x86_64-linux-gnu/libv4l2.so.0 (0x00007f6123732000)
libc.so.6 => /usr/lib/x86_64-linux-gnu/libc.so.6 (0x00007f6123507000)
libnvbuf_fdmap.so => ///opt/nvidia/deepstream/deepstream-6.4/lib/libnvbuf_fdmap.so (0x00007f6123502000)
libcudart.so.12 => /usr/local/cuda-12.2/lib64/libcudart.so.12 (0x00007f6123200000)
libcuda.so.1 => /usr/lib/x86_64-linux-gnu/libcuda.so.1 (0x00007f6121400000)
libnppc.so.12 => /usr/local/cuda-12.2/lib64/libnppc.so.12 (0x00007f6121000000)
libnppig.so.12 => /usr/local/cuda-12.2/lib64/libnppig.so.12 (0x00007f611e800000)
libnppidei.so.12 => /usr/local/cuda-12.2/lib64/libnppidei.so.12 (0x00007f611da00000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f611d7d4000)
libgcc_s.so.1 => /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f61234e0000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f61234d9000)
libm.so.6 => /usr/lib/x86_64-linux-gnu/libm.so.6 (0x00007f6123119000)
libunwind.so.8 => /usr/lib/x86_64-linux-gnu/libunwind.so.8 (0x00007f61234bc000)
libdw.so.1 => /usr/lib/x86_64-linux-gnu/libdw.so.1 (0x00007f612306d000)
liborc-0.4.so.0 => /usr/lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f6120f7b000)
libpcre.so.3 => /usr/lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f611e78a000)
libffi.so.8 => /usr/lib/x86_64-linux-gnu/libffi.so.8 (0x00007f61234af000)
libv4lconvert.so.0 => /usr/lib/x86_64-linux-gnu/libv4lconvert.so.0 (0x00007f611e6fb000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6125cc1000)
libdl.so.2 => /usr/lib/x86_64-linux-gnu/libdl.so.2 (0x00007f61234a8000)
libpthread.so.0 => /usr/lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f6123068000)
librt.so.1 => /usr/lib/x86_64-linux-gnu/librt.so.1 (0x00007f6123063000)
liblzma.so.5 => /usr/lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f61213d5000)
libelf.so.1 => /usr/lib/x86_64-linux-gnu/libelf.so.1 (0x00007f61213b7000)
libz.so.1 => /usr/lib/x86_64-linux-gnu/libz.so.1 (0x00007f612139b000)
libbz2.so.1.0 => /usr/lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f6120f68000)
deepstream_user@75c1bf5e33f3:/app$
isham
February 28, 2024, 12:48pm
10
Ok, how did you solve it? I am facing this issue within a docker container only, when i run this normally everything works fine. How you resolved the issue?
Re-encoding the video with ffmpeg and removing the audio stream when inputting from the camera can solve the problem.
system
Closed
March 14, 2024, 2:24am
12
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.