I am connecting multiple (10-30) rstp streams to a g-streamer pipeline using deepstream for object tracking and running inference (by using a muxer to batch the streams into one). However, the pipeline almost immediately crashes when the streams have all connected. There is a connection established, and then after a short period it crashes. These are the logs I get when the pipeline fails:
**PERF : FPS_0 (2.36) FPS_1 (2.36) FPS_2 (2.36) FPS_3 (2.36) FPS_4 (2.36) FPS_5 (2.36) FPS_6 (2.36) FPS_7 (2.36) FPS_8 (2.36) FPS_9 (2.36) FPS_10 (2.36) FPS_11 (2.36) FPS_12 (2.36)
2023-08-11 15:10:12 jetson-1234 bus_call[1] ERROR Error: gst-resource-error-quark: Could not read from resource. (9): gstrtspsrc.c(5560): gst_rtspsrc_loop_interleaved (): /GstPipeline:pipeline0/GstBin:source-bin-ip_camera_2/GstURIDecodeBin:uri-decode-bin/GstRTSPSrc:source:
Could not receive message. (Parse error)
2023-08-11 15:10:12 jetson-1234 app[1] INFO Exiting app
nvstreammux: Successfully handled EOS for source_id=1
nvstreammux: Successfully handled EOS for source_id=11
[NvMultiObjectTracker] De-initialized
The camera that fails in this instance is ip_camera_2 but it's a different one each time, and I have had the same model running indefinitely with one camera (including one that fails when I use lots of cameras). I don't know if it's related but I also see much lower FPS than I expect to.
I'm new to G-streamer and Deepstream so if someone could point me in the right direction it'd be much appreciated.
Platform info:
- Jetson AGX
- Deepstream 6.2
- Jetpack 5
Plugins
- Muxer: nvstreammux
- Source bins: uridecodebin (rtspt stream)
- Inference: nvinfer
- Tracker: nvtracker