Error with sample app

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) : nvidia A100
• DeepStream Version: 6.1
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs): Bug
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing):

deepstream-app -c samples/configs/deepstream-app/source30_1080p_dec_infer-resnet_tiled_display_int8.txt

• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

I got the docker image and run it with docker run --gpus "device=0" -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -e CUDA_CACHE_DISABLE=0 nvcr.io/nvidia/deepstream:6.1.1-triton

But when I try to run the sample app, I’m getting this errors

 0:03:44.063805152   125 0x55edf6404980 ERROR          v4l2allocator gstv4l2allocator.c:784:gst_v4l2_allocator_start:<sink_sub_bin_encoder2:pool:src:allocator> error requesting 2 buffers: Invalid argument
0:03:44.063827725   125 0x55edf6404980 ERROR         v4l2bufferpool gstv4l2bufferpool.c:1185:gst_v4l2_buffer_pool_start:<sink_sub_bin_encoder2:pool:src> we received 0 buffer from device '/dev/v4l2-nvenc', we want at least 2
0:03:44.063835430   125 0x55edf6404980 ERROR             bufferpool gstbufferpool.c:559:gst_buffer_pool_set_active:<sink_sub_bin_encoder2:pool:src> start failed


ERROR from sink_sub_bin_encoder2: Could not get/set settings from/on resource.
Debug info: gstv4l2object.c(3511): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin2/nvv4l2h264enc:sink_sub_bin_encoder2:
Device is in streaming mode
ERROR from sink_sub_bin_encoder2: Could not get/set settings from/on resource.
Debug info: gstv4l2object.c(3511): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin2/nvv4l2h264enc:sink_sub_bin_encoder2:
Device is in streaming mode
ERROR from sink_sub_bin_encoder2: Could not get/set settings from/on resource.
Debug info: gstv4l2object.c(3511): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin2/nvv4l2h264enc:sink_sub_bin_encoder2:
Device is in streaming mode

My config is this one:

[source0]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP
type=3
uri=file://../../streams/sample_1080p_h264.mp4
num-sources=15
#drop-frame-interval=2
gpu-id=0
# (0): memtype_device   - Memory type Device
# (1): memtype_pinned   - Memory type Host Pinned
# (2): memtype_unified  - Memory type Unified
cudadec-memtype=0

[source1]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP
type=3
uri=file://../../streams/sample_1080p_h264.mp4
num-sources=15
gpu-id=0
# (0): memtype_device   - Memory type Device
# (1): memtype_pinned   - Memory type Host Pinned
# (2): memtype_unified  - Memory type Unified
cudadec-memtype=0

[sink0]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 7=nv3dsink (Jetson only)
type=1
sync=1
source-id=0
gpu-id=0
nvbuf-memory-type=0

[sink1]
enable=0
type=3
#1=mp4 2=mkv
container=1
#1=h264 2=h265
codec=1
#encoder type 0=Hardware 1=Software
enc-type=0
sync=0
#iframeinterval=10
bitrate=2000000
#H264 Profile - 0=Baseline 2=Main 4=High
#H265 Profile - 0=Main 1=Main10
profile=0
output-file=out.mp4
source-id=0

[sink2]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
#1=h264 2=h265
codec=1
#encoder type 0=Hardware 1=Software
enc-type=0
sync=0
bitrate=4000000
#H264 Profile - 0=Baseline 2=Main 4=High
#H265 Profile - 0=Main 1=Main10
profile=0
# set below properties in case of RTSPStreaming
rtsp-port=8554
udp-port=5400


[osd]
enable=1
gpu-id=0
border-width=1
text-size=15
text-color=1;1;1;1;
text-bg-color=0.3;0.3;0.3;1
font=Serif
show-clock=0
clock-x-offset=800
clock-y-offset=820
clock-text-size=12
clock-color=1;0;0;0
nvbuf-memory-type=0

Your card is A100 and you enabled h264 in sink1, there is codec according to codec matric Video Encode and Decode GPU Support Matrix | NVIDIA Developer.

But I have enable=0, doesn’t that mean that sink1 is disabled?

Anyhow, how am I supposed to fix this issue so I can run the sample-app? I looked at the gpu support matrix and it seems like A100 doesn’t support h264 nor h265, can I disable those?

Please set “enc-type=1” in [sink2] group to use software encoder instead of hardware encoder. There is no hardware encoder in A100. Video Encode and Decode GPU Support Matrix | NVIDIA Developer

It seems like by doing that it works but I now get this

0:00:49.917806600   744 0x556c942c2b00 WARN                basesink gstbasesink.c:3003:gst_base_sink_is_too_late:<sink_sub_bin_sink1> warning: A lot of buffers are being dropped.
0:00:49.917840925   744 0x556c942c2b00 WARN                basesink gstbasesink.c:3003:gst_base_sink_is_too_late:<sink_sub_bin_sink1> warning: There may be a timestamping problem, or this computer is too slow.

You are using software encoder, the performance is poor.

A100 is mainly for training purpose.

So for this purpose maybe I should use T4?

So I’ve been looking at this table Performance — DeepStream 6.1.1 Release documentation and it shows that with nvidia A100 GPU you can run about 187 h265 streams via deepstream and this makes me a bit confused.

To support 187 h265 streams input means to use HW video decoder.
A100 has HW decoder but no HW encoder. If you use SW encoder, it will become the bottleneck of the whole pipeline.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.