Deepstream 6.2 problem running tracker using multi source list with REST API support

• Hardware Platform - GPU
• DeepStream Version - 6.2
• TensorRT Version - 8.5.2.2
• NVIDIA GPU Driver Version - 525.78.01
• Issue Type - Bug/Problem

Hi, when i try to run the app with a source list containing two different source files, while enabling tracker and nvmultiurisrcbin for REST API support, i get this exception:

!![Exception] [NvMOTContext::processFrame()] params->numFrames > m_Config.maxStreams !!

Coming from:

max_fps_dur 8.33333e+06 min_fps_dur 2e+08
Civetweb version: v1.16
Server running at port: 9000
gstnvtracker: Loading low-level lib at /opt/nvidia/deepstream/deepstream-6.2/lib/libnvds_nvmultiobjecttracker.so
gstnvtracker: Batch processing is ON
gstnvtracker: Past frame output is ON
[NvMultiObjectTracker] Initialized
INFO: …/nvdsinfer/nvdsinfer_model_builder.cpp:610 [FullDims Engine Info]: layers num: 2
0 INPUT kFLOAT images 3x640x640 min: 1x3x640x640 opt: 32x3x640x640 Max: 64x3x640x640
1 OUTPUT kFLOAT output0 25200x8 min: 0 opt: 0 Max: 0

**PERF: FPS 0 (Avg) FPS 1 (Avg)
**PERF: 0.00 (0.00) 0.00 (0.00)
new stream added [0:(null)]

new stream added [1:(null)]

** INFO: <bus_callback:239>: Pipeline ready

max_fps_dur 8.33333e+06 min_fps_dur 2e+08
** INFO: <bus_callback:225>: Pipeline running

~~ CLOG[src/modules/NvMultiObjectTracker/context.cpp, processFrame() @line 166]: !!![WARNING] params->numFrames = 2, m_Config.maxStreams = 1

!![Exception] [NvMOTContext::processFrame()] params->numFrames > m_Config.maxStreams !!
An exception occurred. [NvMOTContext::processFrame()] params->numFrames > m_Config.maxStreams !!
gstnvtracker: Low-level tracker lib returned error 1
Quitting
[ERROR push 333] push failed [-5]
[ERROR push 333] push failed [-5]

[ERROR push 333] push failed [-5]
Aborted (core dumped)

Following is my config :

[application]
enable-perf-measurement=1
perf-measurement-interval-sec=1
gie-kitti-output-dir=streamscl

[tiled-display]
enable=1
rows=2
columns=2
gpu-id=0
nvbuf-memory-type=2
width=1920
height=1080

[source-list]
use-nvmultiurisrcbin=1
num-source-bins=2
list=file:///opt/nvidia/deepstream/deepstream/sources/project/deepstream-config/sample/Yolo0.mp4;file:///opt/nvidia/deepstream/deepstream/sources/project/deepstream-config/sample/Yolo1.mp4
max-batch-size=2
http-ip=localhost
http-port=9000

[source-attr-all]
enable=1
type=3
num-sources=2
gpu-id=0
cudadec-memtype=0
latency=100
rtsp-reconnect-interval-sec=0

[streammux]
gpu-id=0
live-source=1
batched-push-timeout=40000
enable-padding=0
nvbuf-memory-type=0
drop-pipeline-eos=1

[sink0]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File
type=2
container=1
codec=1
enc-type=0
sync=0
bitrate=4000000
source-id=0
gpu-id=0
profile=0

[osd]
enable=1
display-text=1
process-mode=1
gpu-id=0
border-width=3
text-size=14
text-color=1;1;1;1
text-bg-color=0.3;0.3;0.3;1
font=Ubuntu
show-clock=0
clock-x-offset=800
clock-y-offset=820
clock-text-size=12
clock-color=1;0;0;0
nvbuf-memory-type=0

[primary-gie]
enable=1
gie-unique-id=1
nvbuf-memory-type=0
input-tensor-meta=0
plugin-type=0
config-file=/opt/nvidia/deepstream/deepstream/sources/project/deepstream-config/configs/yolov5/config_infer_primary_yoloV5.txt

[tracker]
enable=1
tracker-width=640
tracker-height=640
ll-lib-file=/opt/nvidia/deepstream/deepstream-6.2/lib/libnvds_nvmultiobjecttracker.so
ll-config-file=/opt/nvidia/deepstream/deepstream/sources/project/deepstream-config/configs/tracker/config_tracker_IOU.yml
gpu-id=0
enable-batch-process=1
display-tracking-id=1
enable-past-frame=1

[tests]
file-loop=1

How can i solve this?
Thanks

I am also having the exact same problem. Once nvmultiurisrcbin is used - tracker crashed the app with more than 1 stream added (either using REST or source list)

Do you meet the issue if the resolution of the source files are same?
Do you use new streammux by setting: export USE_NEW_NVSTREAMMUX=yes?

Yes

Yes

Still getting the same outcome

Can you have a try with old streammux?
Or follow below guide to add nvvideoconvert before new streammux: Gst-nvstreammux New — DeepStream 6.2 Release documentation

Ok it works.
How can I make it work with the new streammux?
We are currently using the deepstream-app to launch our application as a preffered method

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

New streammux can’t support input stream with different resolution. Please add nvvideoconvert before streammux according to: Gst-nvstreammux New — DeepStream 6.2 Release documentation

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