Deepstream insert sei without encode

gstreamer decode->nvmux->infer->nvdemux->h264parse->rtmpsink
how to insert sei (object detect rect info) to rtmpsink without encode?

Please provide complete information as applicable to your setup.
• Hardware Platform dGPU
**• DeepStream Version 6.1.1 *
• JetPack Version (valid for Jetson only) 5.02
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only) cuda-11-7
• Issue Type( questions, new requirements, 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)

What do you mean “without encode”? The output of nvinfer is raw data and you need an encoder to convert the raw data to H264 before tranporting in rtmp stream.

You can add nvosd in your pipeline to display the bbox, and then encode the streams to H264 and then send in RTMP stream.

before decode we have x264 stream, can insert sei data to this x264 stream instead of encode stream again.

Where does the sei information come from? The coordinates of the rect should be got from the detector, this is the output of nvinfer. nvosd can use such information to draw bbox and then encode to h264 for RTMP streaming.

roi info from detector,insert roi info to Origin 264 stream don’t encode again. Is there any way to merge origin 264 stream and roi info(sei) with out encode again?

@zhoutianyou00 If you look at rtmpsink capabilities, you’ll see that it accepts video/x-flv as input

You only could encode data and use flvmux in order to provide this to rtmpsink. If you look at flvmux sink (input) capabilities.

Your pipeline missing encoder and flvmux. I dont think that worked with the plugin rtmpsink

yes, it can’t work.
I want to find a way when use deepstream+gstream . how can i insert sei nal ( detector roi info) to the received stream and send out without encode again ?
Is deepstream 6.1.1 support or Is there have a way?

please refer to Gst-nvdsmetautils (Alpha) — DeepStream 6.1.1 Release documentation

@fanzh I hava read it. I say “nvdsmetainsert plugin with sei_serialization library released as part of DS SDK 6.1 onwards, serializes input metadata and attaches it on the same buffer as gst meta, nv encoder embeds this metadata in the bitstream with type as SEI unregistered data.”

it need encode, I want merge sei to 264 stream which decode by decodebin, and send it out widthout encode again.

why not use nv hardware encoding, “nvdsmetainsert serialize-lib ! nvv4l2h264enc” can only encode once, and h264 data has sei.

@fanzh 3090 only support 3 encode session.
A10 decode 10 1080P stream use decoder 3%, encode 10 720P use encoder 40%.
so want to find a way to avoid encode.

deepstream has no this kind of plugin, please check gstreamer x264enc.

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.

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