Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU): Jetson Nano
• DeepStream Version: 6.0.1
• JetPack Version (valid for Jetson only):
• TensorRT Version: 8.2.1
• Issue Type: Processing camera stream
• How to reproduce the issue?: Using Hikvision IP Camera (DS-2CD1043G0-I) with RTSP main stream.
So I have a DeepstreamSDK Python app with the following pipeline:
uridecodebin -> streammux -> tee -> ...
And then I’m using tee to split stream into different branches where I’m performing inference + tracking in each one of them. I have an issue with decoding stream where I’m getting a lot of such errors in runtime:
0:10:11.546143824 234 0x2d203e30 WARN bufferpool gstbufferpool.c:310:do_alloc_buffer:<nvv4l2decoder0:pool:src> alloc function failed
0:10:11.546205541 234 0x2d203e30 ERROR v4l2bufferpool gstv4l2bufferpool.c:747:gst_v4l2_buffer_pool_alloc_buffer:<nvv4l2decoder0:pool:src> failed to allocate buffer
Which actually do not affect my application but after a while (sometimes its half an hour sometimes it can ran for 5 hours) my pipeline freezes and my probes aren’t working. I don’t have an access to my Jetson device to see if display still works but no logs are appearing after this freeze.
Weird thing is that the terminal with the app is still working because I can still send a SIGINT using CTRL+C and it shuts down itself gracefully but then it prints logs that are probably causing this freeze:
0:15:17.717766301 166 0x251a6140 WARN rtspsrc gstrtspsrc.c:6161:gst_rtspsrc_send:<source> error: Unhandled error
0:15:17.717859186 166 0x251a6140 WARN rtspsrc gstrtspsrc.c:6161:gst_rtspsrc_send:<source> error: Option not supported (551)
0:15:17.718069077 166 0x251a6140 WARN rtspsrc gstrtspsrc.c:8244:gst_rtspsrc_pause:<source> error: Could not send message. (Generic error)
[NvMultiObjectTracker] De-initialized
[NvMultiObjectTracker] De-initialized
[NvMultiObjectTracker] De-initialized
[NvMultiObjectTracker] De-initialized
0:15:17.989629031 166 0x251a6140 WARN rtspsrc gstrtspsrc.c:5919:gst_rtsp_src_receive_response:<source> receive interrupted
0:15:17.989697536 166 0x251a6140 WARN rtspsrc gstrtspsrc.c:7673:gst_rtspsrc_close:<source> TEARDOWN interrupted
For connecting to RTSP stream from a camera I am using the same code as here without the file-loop part. Also at launch I’m getting those errors:
0:00:09.720487888 234 0x2d203e30 WARN v4l2 gstv4l2object.c:4476:gst_v4l2_object_probe_caps:<nvv4l2decoder0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
0:00:09.720564820 234 0x2d203e30 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x7ec80cb2f0 Failed to determine interlace mode
0:00:09.720629200 234 0x2d203e30 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x7ec80cb2f0 Failed to determine interlace mode
0:00:09.720686548 234 0x2d203e30 WARN v4l2 gstv4l2object.c:2388:gst_v4l2_object_add_interlace_mode:0x7ec80cb2f0 Failed to determine interlace mode
And
0:00:09.838676107 234 0x2d203e30 WARN v4l2videodec gstv4l2videodec.c:1755:gst_v4l2_video_dec_decide_allocation:<nvv4l2decoder0> Duration invalid, not setting latency
0:00:09.839275578 234 0x2d203e30 WARN v4l2bufferpool gstv4l2bufferpool.c:1087:gst_v4l2_buffer_pool_start:<nvv4l2decoder0:pool:src> Uncertain or not enough buffers, enabling copy threshold
0:00:10.009629483 234 0x7ec80e3320 WARN v4l2bufferpool gstv4l2bufferpool.c:1536:gst_v4l2_buffer_pool_dqbuf:<nvv4l2decoder0:pool:src> Driver should never set v4l2_buffer.field to ANY
I’ve seen similar issues (some that were specific to Hikvision cameras) but none of them actually solved anything for me. Is there anything I can try to make this work without my pipeline freezing?
I’ve already tried updating firmware on my camera management system, lowering bitrate, changing IFrame Intervals and FPS on stream. Is there anything that can be done regarding used elements in Deepstream Pipeline or its settings?