Some details wanted about nvstreamdemux plugin.

when I read the user guide,
It describe nvstreamdemux like this,

Since there is no frame copy, the input Gst buffer is not returned upstream immediately.
When all of the non-batched Gst buffer objects demuxed from an input batched Gst
buffer are returned to the demuxer by the downstream component, the input batched
Gst buffer is returned upstream.

Does it mean that if the streammux have accept 6 different inputs, the nvstreamdemux must connect to 6 output brancher,
if nvstreamdemux has less than 6 branches,(for example two branches),none of connected branches could get the buffer?

My pipeline like this :

…–> nvstreammux —> nvinfer —>nvstreamdemux---->…

One nvstreamDemux instance can unbatch all buffers.

Why do you have to use nvstreamDemux ? For someone channel display?
You can also use nvmultistreamtiler to unbatch buffers for the following nvosd.


it works well now,

Thanke for @ChrisDing 's reply.

nvstreamDemux is used to unbatch the frames to separated channel, user can scan single stream using a specific location such as rtmp url.

hi,can nvstreamdemux solve your problem?can u share the sample to link nvstreamdemux.
i haved linked the nvstreamdemux,but it not work.if i should add queue for every demux’ src pad?