Hardware Platform: Jetson Xavier NX on custom carrier board
DeepStream Version: 6.3
JetPack Version: 5.1.2
I have been trying to develop an application on the Jetson Xavier using a gstreamer pipeline. However, it seems to stall if I create too many instances of nvvideoconvert. I had a similar problem last year when trying to develop a 4-channel OSD application for DeepStream 6.0; the problem appeared to have been resolved under DeepStream 6.3 but it looks as if there is still a limit.
I can reproduce the problem using the following command:
gst-launch-1.0 videotestsrc ! ‘video/x-raw,width=1920,height=1080’ ! nvvideoconvert ! m.sink_0 videotestsrc ! ‘video/x-raw,width=1920,height=1080’ ! nvvideoconvert ! m.sink_1 videotestsrc ! ‘video/x-raw,width=1920,height=1080’ ! nvvideoconvert ! m.sink_2 videotestsrc ! ‘video/x-raw,width=1920,height=1080’ ! nvvideoconvert ! m.sink_3 videotestsrc ! ‘video/x-raw,width=1920,height=1080’ ! nvvideoconvert ! m.sink_4 videotestsrc ! ‘video/x-raw,width=1920,height=1080’ ! nvvideoconvert ! m.sink_5 videotestsrc ! ‘video/x-raw,width=1920,height=1080’ ! nvvideoconvert ! m.sink_6 videotestsrc ! ‘video/x-raw,width=1920,height=1080’ ! nvvideoconvert ! m.sink_7 nvstreammux name=m batch-size=1 width=1920 height=1080 ! nvdsosd display-clock=1 ! tee name=t t.src_0 ! nvmultistreamtiler ! queue ! nvegltransform ! nveglglessink sync=0 t.src_1 ! queue ! nvstreamdemux name=d d.src_0 ! nvvideoconvert ! nvv4l2h264enc ! mpegtsmux ! filesink location=chan0.ts d.src_1 ! nvvideoconvert ! nvv4l2h264enc ! mpegtsmux ! filesink location=chan1.ts d.src_2 ! nvvideoconvert ! nvv4l2h264enc ! mpegtsmux ! filesink location=chan2.ts d.src_3 ! nvvideoconvert ! nvv4l2h264enc ! mpegtsmux ! filesink location=chan3.ts d.src_4 ! nvvideoconvert ! nvv4l2h264enc ! mpegtsmux ! filesink location=chan4.ts d.src_5 ! nvvideoconvert ! nvv4l2h264enc ! mpegtsmux ! filesink location=chan5.ts d.src_6 ! nvvideoconvert ! nvv4l2h264enc ! mpegtsmux ! filesink location=chan6.ts d.src_7 ! nvvideoconvert ! nvv4l2h264enc ! mpegtsmux ! filesink location=chan7.ts
Reducing the number of recordings to 4 fixes the problem.
Reducing the number of test sources to 5 and the number of recordings to 5 fixes the problem.
Reducing the number of test sources to 6 and the number of recordings to 6 does not fix the problem.
Does DeepStream impose a limit on the number of nvvideoconvert filters that can be active at any time?