Deepstream Pipeline

Deepstream 官方文档

Deepstream 结构及流程

Application Architecture

DeepStream参考应用程序是基于GStreamer的解决方案,由一组GStreamer插件组成,这些插件封装了低级API,以形成完整的图形。该参考应用程序具有接受来自各种来源(如Camera,RTSP输入,编码文件输入)的输入的能力,并且还支持多流/源功能。由NVIDIA实现并作为DeepStream SDK的一部分提供的GStreamer插件列表包括:

  • Stream Muxer插件(Gst-nvstreammux),可从多个输入源形成一批缓冲区。
  • 基于NVIDIA®TensorRT™的插件(Gst-nvinfer)分别用于主要和次要(主要对象的属性分类)检测和分类。
  • 基于OpenCV的跟踪器插件(Gst-nvtracker),用于具有唯一ID的对象跟踪。
  • Multi Stream Tiler插件(Gst-nvmultistreamtiler),用于形成2D帧数组。
  • 屏幕显示(OSD)插件(Gst-nvdsosd),可使用生成的元数据在合成框架上绘制阴影框,矩形和文本。
  • 消息转换器(Gst-nvmsgconv)和消息代理(Gst-nvmsgbroker)插件结合使用,可以将分析数据发送到云中的服务器。

Deepstream 元数据结构

下图所示的元数据是Deepstream数据传递的基本单元:

Basic Metadata Structure

Gst-nvmsgconv 插件将附加到缓冲区的NVDS_EVENT_MSG_META(NvDsEventMsgMeta)类型的元数据解析为frame meta的user metadata,并生成架构有效负载。 对于批处理缓冲区,一帧中所有对象的元数据必须在相应的frame meta之下。