音视频开发笔记

DeepStream 入门一

2024-07-06  本文已影响0人  老瓦在霸都

DeepStream

NVIDIA 的 DeepStream SDK 提供了一套完整的流分析工具包,用于基于 AI 的多传感器处理、视频和图像理解。Deepstream SDK 大量使用开源多媒体处理库 Gstreamer。DeepStream SDK 可用于构建端到端 AI 驱动的应用程序来分析视频和传感器数据。

它可将来自 USB/CSI 摄像头的媒体流数据、来自文件的视频或通过网络传输的媒体流作为输入,并使用人工智能和计算机视觉从中进行分析和推理,以便更好地了解视频中的内容。

deepstream 1

DeepStream SDK 可以成为许多视频分析解决方案的基础框架,例如了解智慧城市中的交通和行人、医院中的健康和安全监控、医学影像分析, 零售业中的自助结账和分析、检测制造工厂中的组件缺陷等.

deepstream sdk

DeepStream是NVIDIA基于GStreamer的插件系统开发的, 继承了GStreamer的特性。DeepSream提供超过15种以上的GStreamer插件模块, 以此建造一个高效的视频分析管道(Pipeline)。

NVIDIA将 TensorRT, cuDNN, CUDA, Video SDK 等以插件的形式集成进 GStreamer 当中, 以管道的形式进行智能视频分析应用的开发, 将各个功能封装成组件, 通过将对应功能的组件插入管道中, 启动管道使数据按照要求在管道内流动, 数据经过解析、编解码、预处理、算法处理后进行图像渲染或者发送到云端。

例如

DeepStream Graph Architecture

DeepStream是使用开源 GStreamer 框架构建的优化的图架构。 下图显示了从输入视频到输出见解的典型视频分析应用程序。 所有单独的块都是使用的各种插件。 底部是整个应用程序中使用的不同硬件引擎。 插件之间零内存复制的最佳内存管理以及各种加速器的使用确保了最高性能。

deep stream architecture

DeepStream 以 GStreamer 插件的形式提供构建块,可用于构建高效的视频分析管道。 有超过 20 个针对各种任务进行硬件加速的插件。

DeepStream reference app

首先,开发人员可以使用提供的参考应用程序。这些应用程序的源代码也包含在内。

端到端应用程序称为 deepstream-app。此应用程序完全可配置 - 它允许用户配置任何类型和数量的源。

用户还可以选择要运行推理的网络类型。

它预装了一个推理插件,用于进行对象检测,并通过推理插件进行级联以进行图像分类。有一个选项可以配置跟踪器。

对于输出,用户可以选择在屏幕上渲染、保存输出文件或通过 RTSP 流式传输视频。

deepstream app

示例

DISPLAY=:0 gst-launch-1.0 -v filesrc location=talk.mp4 ! qtdemux ! h264parse \
! nvv4l2decoder ! m.sink_0 nvstreammux name=m batch-size=1 width=1280 height=720 \
! nvvideoconvert ! dsexample full-frame=1 ! nvdsosd ! nv3dsink

DISPLAY=:0 gst-launch-1.0 -v filesrc location=talk.mp4 ! qtdemux ! h264parse \
! nvv4l2decoder ! m.sink_0 nvstreammux name=m batch-size=1 width=1280 height=720 \
! nvvideoconvert ! dsexample full-frame=1 ! nvdsosd ! autovideosink

参考

上一篇 下一篇

猜你喜欢

热点阅读