Application Architecture

The image below shows the architecture of the NVIDIA® DeepStream reference application.
A screenshot of a cell phone Description automatically generated
The DeepStream reference application is a GStreamer based solution and consists of set of GStreamer plugins encapsulating low-level APIs to form a complete graph. The reference application has capability to accept input from various sources like camera, RTSP input, encoded file input, and additionally supports multi stream/source capability. The list of GStreamer plugins implemented by NVIDIA and provided as a part of DeepStream SDK include:
The Stream Muxer plugin (Gst-nvstreammux) to form a batch of buffers from multiple input sources.
The NVIDIA®TensorRT™ based plugin (Gst-nvinfer) for primary and secondary (attribute classification of primary objects) detection and classification respectively.
The OpenCV based tracker plugin (Gst-nvtracker) for object tracking with unique ID.
The Multi Stream Tiler plugin (Gst-nvmultistreamtiler) for forming 2D array of frames.
The Onscreen Display (OSD) plugin (Gst-nvdsosd) to draw shaded boxes, rectangles and text on the composited frame using the generated metadata.
The Message Converter (Gst-nvmsgconv) and Message Broker (Gst-nvmsgbroker) plugins in combination to send analytics data to a server in the Cloud.