Magnus_G
Magnus_G

Reputation: 47

Jetson Orin Deepstream vs conventional python program

Does anyone have a independent evaluation of using Deepstream Gstream pipline instead of a conventional python code?

Gstreamer: USB-CAM -> Appsink -> (CPU to GPU) AI analysis (TensorRT) -> CV2.ImShow

I think I understand that deepstream uses the GPU only in the gstreamer pipeline but is it faster. Any comparison. Where/what do I gain by using the deepstreamer?

Upvotes: 1

Views: 918

Answers (1)

BarzanHayati
BarzanHayati

Reputation: 961

GStreamer is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. For instance, GStreamer can be used to build a system that reads files in one format, processes them, and exports them in another. The formats and processes can be changed in a plug and play fashion.

Deepstream utilizes gstreamer to do some tasks in a cascade routine. As

Deepstream feed input streams to the pipeline and since gstreamer has different plugins, streams pass through this pipeline. Nvidia made some plugin in addition to gstreamer plugin.

For example pgie, tracker , tiler, nvvidconv, nvosd, transform, sink and ... are some of them. Deepstream runs main loop on GPU, so primary model and secondary models could do inferences. Accessing to output of each plugins- like pgie or sgie- is possible via metadata. These metadatas includes frame data, object location, time of occurrence and .... It is possible to access these metadata via some function in plugins like gstdsexample. Having these data make it easy to do process on a stream like data.

Alongside these benefit it(Deepstream) has some disadvantages: making a complex pipeline and working with it, is hard.

When you have a stream data(video, text, speech, image and ...) it's better to utilize this pipeline. Also, python and C++ implementation is possible.

Upvotes: 1

Related Questions