Overlaying rtsp feeds and streaming to web

• Jetson Xavier NX
• DeepStream 6.3
• JetPack 5.1.2
• Issue Type: Question

Hello Community,

With the hardware and specs I’ve listed, what would be an efficient way to overlay RTSP feeds with simple graphics (like circles, text, boxes) and then stream them to web? I’d prefer a method with low latency (a constant delay preferably sub-5 seconds). If GStreamer isn’t an ideal approach, I’m open to other suggestions. I’d be especially grateful if there’s an example or two you can point me to, thanks.

You can just use the rtsp output mode, like below

source->nvstreammux->nvinfer->nvdsosd->h264encoder->rtppay->udpsink

About the latency, it depends on the perf of your board, some parameter adjustment. You can try that.

I perform inference in a separate pipeline with no issues, so I don’t need it here. My question is for an efficient way to overlay rtsp feeds and stream them to web, so they are accessible through browser.

DeepStream does not limit the final display method. If you want to overlay that to the web, you can refer to our Metropolis Microservices for Jetson project.

This platform seems like a very different direction to take. Is it not possible, or is it less efficient to accomplish the abovementioned objective (that is, drawing simple shapes like lines and boxes on rtsp streams) while still working within the GStreamer framework?

Thanks

Our nvdsosd plugin can do these jobs efficiently and it’s a Gstreamer Plugin too.

Thanks @yuweiw
Allow me to modify the pipeline you suggested:
source->nvdsosd->h264encoder->rtppay->udpsink

If I understand you correctly, I can feed a set of coordinates into the nvdsosd element, for it to draw some simple shapes on the input rtsp sources. Is there an example you can point me to that shows how to do this? What element would I use to make the output accessible on say a browser, through http?

This pipeline cannot work. The nvdsosd plugin should be used with our nvstreammux, nvinfer plugin. It will automatically draw the bbox detected by nvinfer to your image. You can also customize some shapes and text. But the premise is that it needs to work with nvstreammux and nvinfer.

We can provide the rtsp output, you need to display the rtsp source on the web yourself.

Thanks for clarifying.
So, I do not require inference in this scenario, I merely want to draw simple shapes like the abovementioned, on RTSP feeds. Do you have an idea how this could be achieved?

OK. You can consider getting the raw data in the gstbuffer and processing it yourself. It’s better to file the topic to the Gstreamer Forum.

1 Like

Thanks, I guess I’ll try the GStreamer forum

1 Like

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