Stream muxing after demuxing

Is there any way to mux streams using nvstreammux after demuxing (nvstreamdemux)? Does the nvstreammux rewrite the metadata?

**• Hardware Platform ** GTX 1060
• DeepStream Version 4.0
• TensorRT Version 6.0

1 Like

Sorry for a late,
Is there any way to mux streams using nvstreammux after demuxing (nvstreamdemux)?
-> it should work, you may refer to test1 sample to see how streammux linked with other comonent,
more info about nvstreamdemux, please see this,

Does the nvstreammux rewrite the metadata?
-> The basic metadata structure NvDsBatchMeta starts with batch level metadata, created inside the Gst-nvstreammux plugin. if your upstream coponent have NvDsUserMeta, it will be get and transformed in nvstreammux, details see this,
streammux doc,

Hi amycao,
But what if basic metadata structure already created? I want to have 2 nvstreammux plugins in the pipeline. I create batches from 8 streams using nvstreammux. The first 3 streams have to be processed only by nvinfer before sending the data, but other streams have to continue batch processing. So I think about splitting the streams using nvstreamdemux plugin and merging the last 5 of them into batches again (nvstreammux). Is it possible or is there a better way?

How about the other 5 streams? getting processed by nvinfer or not?

Yes, all 8 streams have the shared nvinfer processing part before the demuxing. After the second muxing the 5 streams will be processed by nvinfer and my plugins.

I am sorry to say it seems it’s impossible to seperate 3 streams and other 5 streams into different branch with one of branch to take the 5 streams muxing into one buffer and then other processing…

1 Like

can I ask you if you found any solution? I am faced to the similar problem. If I link nvstreamdemux with nvstreammux in my pipeline, only the first frame is processed and then the pipeline is stucked without any error.

Is it really impossible?