一、官方文档

官方文档链接:https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Overview.html#deepstream-graph-architecture

二、整体架构

三、模块分析

DeepSream提供超过15种以上的GStreamer插件模块,以此建造一个高效的视频分析管道(Pipeline)。

1. 视频流,可以是本地文件、RTSP流或者直接通过camera相机,流的获取是通过CPU的。帧(frames)在缓存(memary)通过NVDEC算子来解码(decode),用到Gst-nvvideo4linux2插件。

2. 解码,可以选择图像的预处理,预处理包括图像矫正(dewap)、颜色空间转换(BGR2GRAY),分别用到Gst-nvdewarper插件和Gst-nvvideoconvert插件,他们都是在GPU进行的。

3. 批处理帧,用到Gst-nvstreammux插件。

4. 推理,批处理完的帧后进行推理,使用TensorRT、NVIDIA的实时推理加速用到本地的TensorFlow或者pytorch框架上。TensorRT推理用到Gst-nvinfer插件,Triton推理用到Gst-nvinferserver 插件,推理过程用到GPU或者DLA(Deep Learning accelerator)在Jetson AGX Xavier and Xavier NX上。

5. 目标跟踪,推理完之后使用目标跟踪,在SDK中有几个内置的跟踪器,表现还是很棒的,用到的插件是Gst-nvtracker。

6. 可视化构件,目标跟踪后,创建可视化构件,比如包围框、分割的掩膜和标签。可视化用到Gst-nvdsosd插件。

7、输出,DeepStream提供多种输出方式,可以直接渲染(render)包围框在屏幕上,也可以保存到本地磁盘,也可以输出RTSP视频流、也可以发送数据到云端。Gst-nvmsgconv插件提供输出负载,Gst-nvmsgbroker插件提供连接云端。

四、样例

deepstream-test1:单路视频和产生包围框

deepstream-test2:基于test1添加了检测对象的分类

deepstream-test3:基于test1添加多路视频的输入

deepstream-test4:基于test1添加了loT的连接插件nvmsgbroker plugin

更多样例:

C++样例:C/C++ Sample Apps Source Details

Python样例:Python Sample Apps Source Details

C++样例中test5

目录:apps/sample_apps/­deepstream-test5

说明:

新增了能够连接云端和输入RTSP流的功能。

  • Use of Gst-nvmsgconv and Gst-nvmsgbroker plugins in the pipeline for multistream

  • How to configure Gst-nvmsgbroker plugin from the config file as a sink plugin (for KAFKA, Azure, etc.)

  • How to handle the RTCP sender reports from RTSP servers or cameras and translate the Gst Buffer PTS to a UTC timestamp.

For more details refer the RTCP Sender Report callback function test5_rtcp_sender_report_callback() registration and usage in deepstream_test5_app_main.c. GStreamer callback registration with rtpmanager element’s “handle-sync” signal is documented in apps-common/src/deepstream_source_bin.c

输出RTSP流

1.deepstream-test1-rtsp-out

目录:apps/­deepstream-test1-rtsp-out

说明:Simple test application 1 modified to output visualization stream over RTSP.

2. deepstream-test4

目录:apps/­deepstream-test4

说明:

Builds on deepstream-test1 for a single H.264 stream: filesrc, decode, nvstreammux, nvinfer, nvdsosd, renderer to demonstrate how to:

  • Use the Gst-nvmsgconv and Gst-nvmsgbroker plugins in the pipeline

  • Create NVDS_META_EVENT_MSG type metadata and attach it to the buffer

  • Use NVDS_META_EVENT_MSG for different types of objects, e.g. vehicle and person

  • Implement “copy” and “free” functions for use if metadata is extended through the extMsg field

DeepStream框架整理相关推荐

  1. 史上最全Android开发中100%会用到的开源框架整理(1/5)

    其实这个开源框架整理很久了,只是一直放在有道云笔记里面,笔者还有很多写得文章都放在有道云笔记里面,有时间都好好整理一下放出来,本篇文章也会不定期更新,由于整理的开源框架分类都有200多个,所有这次只将 ...

  2. python+unittest框架整理(一点点学习前辈们的封装思路,一点点成长。。。)

    预期框架整理目标: 1.单个用例维护在单个.py文件中可单个执行,也可批量生成组件批量执行 2.对定位参数,定位方法,业务功能脚本,用例脚本,用例批量执行脚本,常用常量进行分层独立,各自维护在单独的. ...

  3. 基于.NET平台常用的框架整理

    基于.NET平台常用的框架整理 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前 ...

  4. 《教育学原理》知识框架整理

    <教育学原理>知识框架整理 一.教育学概述 (一)教育学的概念:教育学是研究教育现象和教育问题,揭示教育规律的科学. (二)教育学的研究对象:教育学以教育现象.教育问题为其研究对象,通过对 ...

  5. .NET平台常见技术框架整理汇总

    使用.NET平台开发有段时间了,在网上资料的基础上做了进一步整理,汇集了.NET平台常见的技术框架. 参考资料: 基于.NET平台常用的框架整理 .NET开源框架列表 1.知识网络 2.分类清单 2. ...

  6. Android主布局框架整理

    Android主布局框架整理 本篇内容小生主要介绍的是几种常见的主框架的布局实现方式,仅供各位客官茶饭之余略微点评.闲话不说,切入正题. -No1.TabActivity+TabHost实现普通tab ...

  7. JAVA、WEB最新技术框架整理

    JAVA.WEB最新技术框架整理 1.基础框架 1.1 后台基础框架 分布式:dubbox 统一配置:zookeeper 消息:kafka 服务化:spring spring boot 微服务化框架 ...

  8. 开源项目:DRR(deepstream-ros-robot),针对pc主机端和nvidia-jetson边缘计算平台,实现了基于deepstream框架下的目标分类检测、车道线检测等,并配置了目标追踪

    开源项目: <DRR(deepstream-ros-robot)> 项目介绍: 本项目针对pc主机端和nvidia-jetson边缘计算平台,基于deepstream框架进行加速推理搭建了 ...

  9. 基于.NET平台常用的框架整理(转)

    分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架. Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度. Redis:是一个高性能的K ...

最新文章

  1. FTPVSFTPD安装和参数说明
  2. Lucene.Net---1索引的建立
  3. Tensorflow实现MNIST数据自编码(3)
  4. python3 获取cookie解决方案
  5. 超低延迟直播架构解析
  6. Java中Arrays.toString ()打印二维数组及Array数组的常用操作
  7. java运动员最佳配对_运动员最佳配对问题 - osc_y1pyjby5的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. AspectJ声明式事务配置
  9. javascript事件机制
  10. (数字IC)低功耗设计入门(五)——RTL级低功耗设计(续)
  11. 电影特效合成软件:The Foundry Nuke 11 for Mac
  12. 世界地图可以无限放大_国外测评 | 老蛙百微镜头的全方位解析,2倍放大倍率的优质表现!...
  13. .ps是什么格式_用Word修图,真的比PS简单十倍不止!可惜知道的人太少了......
  14. 巴菲特-芒格-彼得林奇的经典观点梳理
  15. Linux m4a转mp3
  16. java-net-php-python-ssm巴音学院本科部校园网站计算机毕业设计程序
  17. 看雪逆向-Security Documentation
  18. RTX 51 FULL源码学习(2.1)
  19. Junction.exe 命令应用详解
  20. CHM电子书反向编译器及注册机

热门文章

  1. 【汇编语言与计算机系统结构笔记17】MIPS 汇编初步
  2. Linux教程:10条秘诀确保Linux桌面安全性
  3. JavaScript数组快速入门
  4. Laravel 不权威导航
  5. java gui 布局 旋转_JAVA GUI编程之布局管理器
  6. 摩拜服务器维护,摩拜的后台是云服务器
  7. MySQL中实现rownum功能类似的语句
  8. java 如何取01 zz_java中synchronized用法(zz)
  9. centos8对外开发指定接口
  10. [黑金原创教程][连载][iBoard 电子学堂][第〇卷 电子基础]第一篇 认识电子元器件...