DeepStream using nvurisrcbin leads to a decrease in frame rate

Please provide complete information as applicable to your setup.

**• Hardware Platform (Jetson / GPU)GPU
**• DeepStream Version6.3
• JetPack Version (valid for Jetson only)
**• TensorRT Version8.6.1
**• NVIDIA GPU Driver Version (valid for GPU only)535.230.02
• Issue Type( questions, new requirements, bugs)

When I use nvurircbin instead of uridecodebin, the frame rate decreases from 25 frames per second to around 4 frames per second

Here is my pipeline diagram:
pipeline.zip (468.7 KB)

    uri_decode_bin = gst_element_factory_make ("nvurisrcbin", "uri-decode-bin");
    g_object_set (G_OBJECT (uri_decode_bin), "file-loop", TRUE, NULL);
    g_object_set (G_OBJECT (uri_decode_bin), "cudadec-memtype", 0, NULL);
    g_object_set (G_OBJECT (uri_decode_bin), "rtsp-reconnect-interval", 2, NULL);
    g_object_set (G_OBJECT (uri_decode_bin), "select-rtp-protocol", 0, NULL);
    g_object_set (G_OBJECT (uri_decode_bin), "latency", 1000, NULL);

Here are the running logs of my use of nvurisrcbin:
1.txt (26.4 KB)

This issue should not be related to nvurisrcbin, but should be caused by the configuration of nvstreammux.

This parameter only use for file source, like file://. for rtsp source is useless.

Set select-rtp-protocol to 4 to enable rtp over tcp, if your camera supports it. This can avoid udp packet loss problems, but will increase some latency.

This problem is probably caused by the parameter configuration of nvstreammux. For rtsp, first set live-source to 1. In addition, please refer to this FAQ to adjust the parameters

We need to use the new version of streammux and nvurisrcbin for synchronization and disconnection reconnection. When a camera is disconnected and reconnected, it will cause the frame rate of the entire pipeline to drop to 4-5 frames, which will be restored after reconnection. The old version of nvstreammux does not have this issue.

**PERF : FPS_0 (22.31)  FPS_1 (21.54)   FPS_2 (22.31)   FPS_3 (22.31)   FPS_4 (22.31)   FPS_5 (22.31)   FPS_6 (22.31)   FPS_7 (22.31)   FPS_8 (22.31)   FPS_9 (22.31)   FPS_10 (22.31)       FPS_11 (22.31)  FPS_12 (22.31)  FPS_13 (22.31)  FPS_14 (22.31)  FPS_15 (22.31)  FPS_16 (22.28)  FPS_17 (22.34)  FPS_18 (22.31)
**PERF : FPS_0 (20.12)  FPS_1 (18.85)   FPS_2 (20.12)   FPS_3 (20.12)   FPS_4 (20.12)   FPS_5 (20.12)   FPS_6 (20.12)   FPS_7 (20.10)   FPS_8 (20.12)   FPS_9 (20.12)   FPS_10 (20.12)       FPS_11 (20.12)  FPS_12 (20.12)  FPS_13 (20.12)  FPS_14 (20.12)  FPS_15 (20.12)  FPS_16 (20.07)  FPS_17 (20.12)  FPS_18 (20.12)
WARNING from element src: Could not read from resource.
Warning: Could not read from resource.
**PERF : FPS_0 (18.37)  FPS_1 (16.75)   FPS_2 (18.40)   FPS_3 (18.40)   FPS_4 (18.37)   FPS_5 (18.37)   FPS_6 (18.40)   FPS_7 (18.37)   FPS_8 (18.37)   FPS_9 (18.40)   FPS_10 (18.37)       FPS_11 (18.40)  FPS_12 (18.40)  FPS_13 (18.37)  FPS_14 (18.40)  FPS_15 (18.40)  FPS_16 (18.35)  FPS_17 (18.40)  FPS_18 (18.37)

Can you share the reason why you must use new nvstreammux? New nvstreamux and legacy nvstreammux require different configuration parameters. You can refer to the FAQ debugging above, or refer to the configuration file of deepstream-app at /opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/config_mux_source4.txt.

It is recommended that you use deepstream-app to test similar situations first.

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