Application Architecture
The image below shows the architecture of the NVIDIA® DeepStream reference application.
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.