Deepstream-parallell-infer-app newstreammux

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU)
jetson
• DeepStream Version
6.3
• JetPack Version (valid for Jetson only)
35.4.1
• TensorRT Version
8.5
• NVIDIA GPU Driver Version (valid for GPU only)
11.4
• Issue Type( questions, new requirements, bugs)
questions
• 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)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

I use the new streammux environment variable in Deepstream_parallel_infer_app. When I use the disconnected stream reconnection function, one stream reports an error during reconnection, causing other normal streams to fail to be inferred. What is the reason?
The following is the error log:

**PERF:  24.73 (25.01)  24.73 (25.01)   24.73 (25.01)   24.89 (24.98)
**PERF:  24.20 (25.02)  24.20 (25.02)   24.20 (25.02)   25.05 (24.93)                                                                                                                                       ERROR from element src_elem3: Could not read from resource.
Error details: gstrtspsrc.c(5560): gst_rtspsrc_loop_interleaved (): /GstPipeline:deepstream-event_detect-pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin3/GstRTSPSrc:src_elem3:                            Could not receive message. (Parse error)
ERROR from element src_elem3: Internal data stream error.
Error details: gstrtspsrc.c(6057): gst_rtspsrc_loop (): /GstPipeline:deepstream-event_detect-pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin3/GstRTSPSrc:src_elem3:
streaming stopped, reason error (-5)
                                                   
**PERF:  FPS 0 (Avg)    FPS 1 (Avg)     FPS 2 (Avg)     FPS 3 (Avg)
**PERF:  26.02 (25.03)  25.98 (24.97)   25.98 (24.97)   31.74 (23.92)
**PERF:  24.96 (25.04)  25.01 (24.98)   25.01 (24.98)   0.00 (22.79)
**PERF:  25.03 (25.05)  25.00 (24.99)   25.00 (24.99)   0.00 (21.75)
**PERF:  25.32 (25.05)  24.20 (25.00)   24.20 (25.00)   0.00 (20.81)
**PERF:  24.66 (25.06)  25.83 (25.06)   25.83 (25.06)   0.00 (19.94)
**PERF:  25.06 (25.02)  24.02 (25.02)   24.02 (25.02)   0.00 (19.14)
**PERF:  25.01 (25.02)  26.03 (24.98)   26.03 (24.98)   0.00 (18.41)
**PERF:  24.95 (25.03)  25.06 (24.99)   25.06 (24.99)   0.00 (17.72)
**PERF:  25.08 (25.04)  24.99 (24.99)   24.99 (24.99)   0.00 (17.09)
**PERF:  25.40 (25.04)  24.30 (25.00)   24.30 (25.00)   0.00 (16.50)                                                                                                                                        
**PERF:  24.56 (25.05)  25.73 (25.05)   25.73 (25.05)   0.00 (15.95)
**PERF:  25.05 (25.01)  24.01 (25.01)   24.01 (25.01)   0.00 (15.44)
** WARN: <watch_source_status:758>: No data from source 3 since last 60 sec. Trying reconnection
** INFO: <reset_source_pipeline:1706>: Resetting source 3
ERROR from element src_elem3: Could not read from resource.
Error details: gstrtspsrc.c(6323): gst_rtsp_src_receive_response (): /GstPipeline:deepstream-event_detect-pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin3/GstRTSPSrc:src_elem3:
Could not receive message. (Parse error)
ERROR from element src_elem3: Could not read from resource.                                                                                                                                                 
Error details: gstrtspsrc.c(6421): gst_rtspsrc_try_send (): /GstPipeline:deepstream-event_detect-pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin3/GstRTSPSrc:src_elem3:
Could not receive message. (Parse error)
ERROR from element src_elem3: Could not write to resource.
Error details: gstrtspsrc.c(8669): gst_rtspsrc_pause (): /GstPipeline:deepstream-event_detect-pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin3/GstRTSPSrc:src_elem3:
Could not send message. (Parse error)
ERROR from element src_elem3: Could not read from resource.
Error details: gstrtspsrc.c(5560): gst_rtspsrc_loop_interleaved (): /GstPipeline:deepstream-event_detect-pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin3/GstRTSPSrc:src_elem3:
Could not receive message. (Parse error)
ERROR from element src_elem3: Internal data stream error.
Error details: gstrtspsrc.c(6057): gst_rtspsrc_loop (): /GstPipeline:deepstream-event_detect-pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin3/GstRTSPSrc:src_elem3:
streaming stopped, reason error (-5)
ERROR from element src_elem3: Could not read from resource.
Error details: gstrtspsrc.c(6323): gst_rtsp_src_receive_response (): /GstPipeline:deepstream-event_detect-pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin3/GstRTSPSrc:src_elem3:
Could not receive message. (Parse error)
ERROR from element src_elem3: Could not read from resource.
Error details: gstrtspsrc.c(6421): gst_rtspsrc_try_send (): /GstPipeline:deepstream-event_detect-pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin3/GstRTSPSrc:src_elem3:
Could not receive message. (Parse error)
ERROR from element src_elem3: Could not write to resource.
Error details: gstrtspsrc.c(8096): gst_rtspsrc_close (): /GstPipeline:deepstream-event_detect-pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin3/GstRTSPSrc:src_elem3:
Could not send message. (Parse error)
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 261 
NvMMLiteBlockCreate : Block : BlockType = 261 
0:02:42.525237651 81429 0xfffed0006b00 WARN          nvvideoconvert gstnvvideoconvert.c:1957:gst_nvvideoconvert_fixate_caps:<nvvidconv_elem3> nvbuf-memory-type property is set based on SRC caps. Property 
config setting (if any) is overridden!!
0:02:42.525280373 81429 0xfffed0006b00 WARN          nvvideoconvert gstnvvideoconvert.c:1962:gst_nvvideoconvert_fixate_caps:<nvvidconv_elem3> gpu-id property is set based on SRC caps. Property config sett
ing (if any) is overridden!!
[ERROR push 353] push failed [-5]
[ERROR push 353] push failed [-5]
[ERROR push 353] push failed [-5]
[ERROR push 353] push failed [-5]
[ERROR push 353] push failed [-5]
[ERROR push 353] push failed [-5]
[ERROR push 353] push failed [-5]
**PERF:  25.01 (24.91)  25.01 (24.91)   25.01 (24.91)   0.38 (15.11)
**PERF:  0.00 (24.15)   0.00 (24.15)    0.00 (24.15)    0.00 (14.65)
**PERF:  0.00 (23.45)   0.00 (23.45)    0.00 (23.45)    0.00 (14.22)
**PERF:  0.00 (22.78)   0.00 (22.78)    0.00 (22.78)    0.00 (13.81)
**PERF:  0.00 (22.15)   0.00 (22.15)    0.00 (22.15)    0.00 (13.43)

Could you describe how do you use that function?

Set rtsp-reconnect-interval-sec=10, rtsp-reconnect-attempts=-1 in the source group. The configuration parameters of source in the csv file are as follows:

OK. Could you refer to the FAQ to tune the config parameters of the new nvstreammux and check the result?

I tried to tweak the new streammux in its configuration file, but it didn’t solve the problem. Here is the content of the configuration file. In addition, it should be mentioned that the frame rates of several video streams here are the same, but only one video stream has a different resolution than the other streams. I found that new nvstreammux does not transform/scale batched buffers to a single color-format/resolution unlike the default nvstreammux. Is it possible that this problem caused the inability to reconnect after the interruption?

[property]
max-same-source-frames=2
overall-max-fps-n=25
overall-max-fps-d=1
overall-min-fps-n=15
overall-min-fps-d=1
max-fps-control=1

Yes. The new nvstreammux cannot support different resolution videos. You can try to use nvvideoconvert to change the resolution of the video first.

This is my pipeline visualization diagram. From the diagram, you can see that the output resolution of the GstCapsFilter plugin in src_sub_3 is 1280*720. Does this change the video resolution?

This picture is too blurry, could you compress it and try uploading the zip file?

pipeline.zip (1.8 MB)

Yes. All the 4 streams should be 1280x720.

Can I configure the output width and height through the streammux group? I see that the output width and height of GstCapsFilter in the pipeline diagram is already 1280*720. Do I still need to set the output width in the capfilter in deepstream_source_bin.c?

If you are using new nvstreammux, you cannot set the output width and height.

No.
Is the error reported during the playing or at the start of your command? Is everything normal until the stream reports error?

This error is reported some time after the command is started.

After modifying bus_call according to bus_callback of Deepstream-app, reconnection can be achieved.

Does it mean that the width and height in the streammux group are useless? Is the frame resolution of nvinfer the same as the resolution of the actual video stream?

Yes.

Yes. But nvinfer will scale the video according to the input layer of the model when pushes the data to TensorRT.

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

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