deepstream视频数据流分析工具包安装使用教程

deepstream数据流分析工具包安装和使用

deepstream是nvidia官方推出的一个数据流处理工具包,可以很方便的实现对视频的解码、推理等工作,高效的完成图像分类、目标检测、识别和跟踪等任务。
deepstream是在gstreamer的基础上开发的,因此使用deepstream需要一定的c语言基础和gstreamer基础。deepstream可以看成是一个壳,里面集成了gstreamer和tensorrt等工具,我们可以使用deepstream完成视频的解码、传输、神经网络推理、结果的渲染等工作。
deepstream视频数据流分析工具包安装使用教程_第1张图片

1. 环境配置

配置环境是一个很麻烦的事情,推荐直接在nvidia ngc中下载docker来进行部署。
事前准备:需要注册nvidia的ngc平台,在用户设置中获取到自己的key,该平台储存了nvidia预训练的模型和一些专用的docker image,比如deepstream sdk 和Transfer Learning Toolkit。

https://ngc.nvidia.com/

1.1 安装docker和nvidia-docker2

apt-get update
apt-get install docker
apt-get install nvidia-docker2

1.2登录nvidia的ngc平台下载deestream镜像

docker login nvcr.io

输入自己在平台获取到的Username和Password。如果未登录,在下载镜像时会出现验证错误的字样。
下载镜像并运行,使用docker images查看所有镜像,使用docker ps查看运行中的镜像

docker拉取镜像。推荐早上5,6点的时候下载
docker pull nvcr.io/nvidia/deepstream:5.0-dp-20.04-triton
# 允许外部连接主机
xhost +
# 第一种镜像运行方法,使用-v来挂载需要导入镜像的目录,-p设置镜像接口,方便之后ssh登入。
docker run --gpus all -it -v /tmp/.X11-unix:/tmp/.X11-unix -p 127.0.0.1:5000:22 -m 2g -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-5.0 nvcr.io/nvidia/deepstream:5.0-dp-20.04-triton
# 第二种镜像运行方法,当执行推理出现内存空间不够时用
nvidia-docker run --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -p 127.0.0.1:5000:22 -m 2g -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-5.0 nvcr.io/nvidia/deepstream:5.0-dp-20.04-triton

2. 运行案例

在sample中有已经编译好的案例,可以直接运行,如果想学习源代码的话,可以看source中的案例。
2.1 运行sample中案例
位置:/opt/nvidia/deepstream/deepstream-5.0/samples/configs/deepstream-app
演示30个视频流

deepstream-app -c source30_1080p_dec_infer-resnet_tiled_display_int8.txt

deepstream视频数据流分析工具包安装使用教程_第2张图片
2.2 运行source中的案例,需要编译后运行
首先把sample中的streams拷贝到sample_apps中

cp -r /opt/nvidia/deepstream/deepstream-5.0/samples/streams/ /opt/nvidia/deepstream/deepstream-5.0/sources/apps/sample_apps

test1演示解码h264格式的视频并执行推理
进入deepstream-test1目录中

make
deepstream-test1-app ../streams/sample_720p.h264
gst出问题gst/gst.h: No such file or directory
apt-get install libgstreamer-plugins-base1.0-dev

deepstream视频数据流分析工具包安装使用教程_第3张图片
test2 演示执行多个推理步骤

make
deepstream-test2-app ../streams/sample_720p.h264

test3 演示读取多个视频流,注意这里有一个坑,必须使用 file: 这种形式(冒号前不一定是file),不能省略。

make
deepstream-test3-app file:///opt/nvidia/deepstream/deepstream-5.0/samples/streams/sample_720p.h264 file:///opt/nvidia/deepstream/deepstream-5.0/samples/streams/sample_720p.h264

3. 后续

因为工作需要,目前正在研究deepstream和Transfer Learning Toolkit,有时间再更新其他内容。

你可能感兴趣的:(杂项,深度学习,c++,linux)