ENV NVIDIA_DRIVER_CAPABILITIES $NVIDIA_DRIVER_CAPABILITIES,video
ENV DBUS_SYSTEM_BUS_ADDRESS=unix:path=/host/run/dbus/system_bus_socket
COPY ./Video_Codec_SDK_11.0.10.zip /root/Video_Codec_SDK_11.0.10.zip
RUN unzip Video_Codec_SDK_11.0.10.zip
RUN cp /root/Video_Codec_SDK_11.0.10/Interface/nvcuvid.h /usr/local/include
RUN cp /root/Video_Codec_SDK_11.0.10/Interface/cuviddec.h /usr/local/include
RUN cp /root/Video_Codec_SDK_11.0.10/Interface/nvEncodeAPI.h /usr/local/include
RUN cp /usr/local/cuda/include/cuda.h /root/gst-plugins-bad/sys/nvenc
RUN cp /root/Video_Codec_SDK_11.0.10/Interface/nvEncodeAPI.h /root/gst-plugins-bad/sys/nvenc
RUN cp /root/Video_Codec_SDK_11.0.10/Interface/cuviddec.h /root/gst-plugins-bad/sys/nvdec
RUN cp /root/Video_Codec_SDK_11.0.10/Interface/nvcuvid.h /root/gst-plugins-bad/sys/nvdec
I am sorry I cannot answer your question. But I think the team in the Deepstream SDK category might have more expertise on possible docker problems with the SDK.
1.Could you describe your operations step by step and attach the error when build failed?
2.What are the specific problems you have encountered about the chroma problem?
In addition, I had to force the reinstallation of several packages to be able to use the libav and x264 plugins
( RUN apt-get install --reinstall ca-certificates && update-ca-certificates
RUN apt-get -y install --reinstall libavcodec-extra58 libavutil56 libvpx6 libx265-179 libmpg123-0 libmpeg2-4 libmpeg2encpp-2.1-0 libx264-155
thank you for your advice but already installed the dependencies mentioned (
With DS 6.2, DeepStream docker containers do not package libraries necessary for certain multimedia operations like audio data parsing, CPU decode, and CPU encode. This change could affect processing certain video streams/files like mp4 that include audio track. Run the below script inside the docker images to install additional packages (e.g. gstreamer1.0-libav, gstreamer1.0-plugins-good, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-ugly as required) that might be necessary to use all of the DeepStreamSDK features :
1.Could you describe your operations step by step and attach the error when build failed?
RUN cd /root/gst-plugins-bad/ && NVENCODE_CFLAGS=“-I/root/gst-plugins-bad/sys/nvenc” ./autogen.sh --with-cuda-prefix=“/usr/local/cuda” --disable-gtk-doc && cd sys/nvenc && make -j 12 && cp .libs/libgstnvenc.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0/
RUN cd /root/gst-plugins-bad/sys/nvdec && make -j 12 && cp .libs/libgstnvdec.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0/
see below log for build nvdec et nvenc plugins
gstnvbaseenc.c: In function ‘_nv_preset_to_guid’:
gstnvbaseenc.c:90:7: warning: ‘NV_ENC_PRESET_DEFAULT_GUID’ is deprecated: WILL BE REMOVED IN A FUTURE VIDEO CODEC SDK VERSION [-Wdeprecated-declarations]
90 | CASE (DEFAULT, DEFAULT);
| ^~~~
In file included from gstnvenc.h:26,
from gstnvbaseenc.h:23,
from gstnvbaseenc.c:24:
nvEncodeAPI.h:201:37: note: declared here
201 | NV_ENC_DEPRECATED static const GUID NV_ENC_PRESET_DEFAULT_GUID =
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
gstnvbaseenc.c:91:7: warning: ‘NV_ENC_PRESET_HP_GUID’ is deprecated: WILL BE REMOVED IN A FUTURE VIDEO CODEC SDK VERSION [-Wdeprecated-declarations]
91 | CASE (HP, HP);
| ^~~~
In file included from gstnvenc.h:26,
from gstnvbaseenc.h:23,
from gstnvbaseenc.c:24:
nvEncodeAPI.h:205:37: note: declared here
205 | NV_ENC_DEPRECATED static const GUID NV_ENC_PRESET_HP_GUID =
| ^~~~~~~~~~~~~~~~~~~~~
gstnvbaseenc.c:92:7: warning: ‘NV_ENC_PRESET_HQ_GUID’ is deprecated: WILL BE REMOVED IN A FUTURE VIDEO CODEC SDK VERSION [-Wdeprecated-declarations]
92 | CASE (HQ, HQ);
| ^~~~
In file included from gstnvenc.h:26,
from gstnvbaseenc.h:23,
from gstnvbaseenc.c:24:
nvEncodeAPI.h:209:37: note: declared here
209 | NV_ENC_DEPRECATED static const GUID NV_ENC_PRESET_HQ_GUID =
| ^~~~~~~~~~~~~~~~~~~~~
gstnvbaseenc.c:94:7: warning: ‘NV_ENC_PRESET_LOW_LATENCY_DEFAULT_GUID’ is deprecated: WILL BE REMOVED IN A FUTURE VIDEO CODEC SDK VERSION [-Wdeprecated-declarations]
94 | CASE (LOW_LATENCY_DEFAULT, LOW_LATENCY_DEFAULT);
| ^~~~
In file included from gstnvenc.h:26,
from gstnvbaseenc.h:23,
from gstnvbaseenc.c:24:
nvEncodeAPI.h:217:37: note: declared here
217 | NV_ENC_DEPRECATED static const GUID NV_ENC_PRESET_LOW_LATENCY_DEFAULT_GUID =
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gstnvbaseenc.c:95:7: warning: ‘NV_ENC_PRESET_LOW_LATENCY_HQ_GUID’ is deprecated: WILL BE REMOVED IN A FUTURE VIDEO CODEC SDK VERSION [-Wdeprecated-declarations]
95 | CASE (LOW_LATENCY_HQ, LOW_LATENCY_HQ);
| ^~~~
In file included from gstnvenc.h:26,
from gstnvbaseenc.h:23,
from gstnvbaseenc.c:24:
nvEncodeAPI.h:221:37: note: declared here
221 | NV_ENC_DEPRECATED static const GUID NV_ENC_PRESET_LOW_LATENCY_HQ_GUID =
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gstnvbaseenc.c:96:7: warning: ‘NV_ENC_PRESET_LOW_LATENCY_HQ_GUID’ is deprecated: WILL BE REMOVED IN A FUTURE VIDEO CODEC SDK VERSION [-Wdeprecated-declarations]
96 | CASE (LOW_LATENCY_HP, LOW_LATENCY_HQ);
| ^~~~
In file included from gstnvenc.h:26,
from gstnvbaseenc.h:23,
from gstnvbaseenc.c:24:
nvEncodeAPI.h:221:37: note: declared here
221 | NV_ENC_DEPRECATED static const GUID NV_ENC_PRESET_LOW_LATENCY_HQ_GUID =
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gstnvbaseenc.c:97:7: warning: ‘NV_ENC_PRESET_LOSSLESS_DEFAULT_GUID’ is deprecated: WILL BE REMOVED IN A FUTURE VIDEO CODEC SDK VERSION [-Wdeprecated-declarations]
97 | CASE (LOSSLESS_DEFAULT, LOSSLESS_DEFAULT);
| ^~~~
In file included from gstnvenc.h:26,
from gstnvbaseenc.h:23,
from gstnvbaseenc.c:24:
nvEncodeAPI.h:229:37: note: declared here
229 | NV_ENC_DEPRECATED static const GUID NV_ENC_PRESET_LOSSLESS_DEFAULT_GUID =
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gstnvbaseenc.c:98:7: warning: ‘NV_ENC_PRESET_LOSSLESS_HP_GUID’ is deprecated: WILL BE REMOVED IN A FUTURE VIDEO CODEC SDK VERSION [-Wdeprecated-declarations]
98 | CASE (LOSSLESS_HP, LOSSLESS_HP);
| ^~~~
In file included from gstnvenc.h:26,
from gstnvbaseenc.h:23,
from gstnvbaseenc.c:24:
nvEncodeAPI.h:233:37: note: declared here
233 | NV_ENC_DEPRECATED static const GUID NV_ENC_PRESET_LOSSLESS_HP_GUID =
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CCLD libgstnvenc.la
Removing intermediate container 8a6a58823ffb
—> 7c4e4fb63431
Step 42/47 : RUN cd /root/gst-plugins-bad/sys/nvdec && make -j 12 && cp .libs/libgstnvdec.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0/
—> Running in 72f2e1652e17
CC libgstnvdec_la-plugin.lo
CC libgstnvdec_la-gstnvdec.lo
cc1: warning: /usr/include/libdrm: No such file or directory [-Wmissing-include-dirs]
cc1: warning: /usr/include/libdrm: No such file or directory [-Wmissing-include-dirs]
CCLD libgstnvdec.la
/usr/bin/ld: cannot find -lnvcuvid
collect2: error: ld returned 1 exit status
make: *** [Makefile:833: libgstnvdec.la] Error 1
if i use the same instruction in bah shell in the same docker it works fine. in automatic build it does not work . at 6.0 tag I did not have this problem
It reports the error:cannot find -lnvcuvid. Tag 6.0 have already install the cuvid lib. You can find the libnvcuvid.so in the /usr/lib/x86_64-linux-gnu/. However, in order to reduce the docker size, 6.2 was not installed. Could you check if there are libnvcuvid.so lib in your docker?
Because these are two different issues, could you open a new topic about the chroma problem?
We try to ensure that we discuss the same issue in one topic. Let’s use this topic discuss the first issue. Thanks
There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks
Hi @draden, thanks for your questions. In order to help, we would like to understand:
Why do you prefer nvdec/nvenc over nvv4l2h264dec/nvv4l2enc?
What does your automatic build do? Is it a “docker build” command?
For DS 6.2 we do recommend driver version R525.85.12. A minor version difference may not affect this issue but libnvcuvid.so comes from the driver outside the docker.
Why do you prefer nvdec/nvenc over nvv4l2h264dec/nvv4l2enc? " because they don’t support automatic input rescaling, I have a crash with the quoted plugins ( nvv4l2h264dec/nvv4l2enc ) as a replacement. nvenc and x264enc plugins don’t crash.