Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU) Jetson • DeepStream Version 6.3 • JetPack Version (valid for Jetson only) 5.1.2 • TensorRT Version • NVIDIA GPU Driver Version (valid for GPU only) • Issue Type( questions, new requirements, bugs) bugs • 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 have developed a deepstream pipeline to process multiple sources (RTSP cameras). The pipeline incorporates three models: primary model (PGIE) using YOLOv8, secondary model 1 (SGIE1) utilizing YOLOv5-face, and secondary model 2 (SGIE2) employing ArcFace. However, due to limitations with the SGIE1 model, it cannot be exported to support dynamic shapes. To address this, I configured the batch size for PGIE to 8 and SGIE1 to 1. The pipeline functions smoothly when processing a single source, but encounters errors when processing two sources simultaneously. What could be the underlying cause of this issue, and how can it be resolved? Thank you.
The error is:
0x1c48bcc0 WARN nvinfer gstnvinfer.cpp:2002:gst_nvinfer_process_objects: Source info not found for source 1. Maybe the GST_NVEVENT_PAD_ADDED event was never generated for the source.
…->pgie->sgie1->fakesink -----> It throws error as I mentioned above
202 0x74ae700 WARN nvinfer gstnvinfer.cpp:2002:gst_nvinfer_process_objects: Source info not found for source 1. Maybe the GST_NVEVENT_PAD_ADDED event was never generated for the source.
Could you attach your config file and source file? Maybe there’s something wrong with your configuration. Or you can add some debug info in the source code to analyze that yourself. The code is open source.
OK. From the log alone, the other video stream may be not properly connected to nvstreammux. You can add some log info in our source code to analyze why the nvinfer->source_info is empty in the gstnvinfer.cpp.
After a long time ingesting into this problem with log info in the gstnvinfer.cpp below:
if ((GstNvEventType)GST_EVENT_TYPE(event) == GST_NVEVENT_PAD_ADDED) {
/* New source added in the pipeline. Create a source info instance for it.
*/
guint source_id;
gst_nvevent_parse_pad_added(event, &source_id);
printf("Add succesfully: %u\n", source_id);
nvinfer->source_info->emplace(source_id, GstNvInferSourceInfo());
}
I have some insights:
If …->pgie->fakesink —> The source_id is 0, 1, … when add more sources.
If …->pgie->sgie1->fakesink —> The source_id remains 0 when additional sources are added. The source_id does not increase.
Probably not because of that. We have similar demo like sources\apps\sample_apps\deepstream-test2.
The pipeline is …->pgie->sgie0->sgie1->… It works normally.
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