笔记--Ubuntu18.04安装Deepstream 6.0

2023-11-14

目录

1-- 安装依赖

2-- 安装Cuda Toolkit 11.4.1

3-- 安装cudnn 8.2+

4-- 安装TensorRT 8.0.1

5-- 安装librdkafka

6-- 安装 deepstream sdk

7-- 验证与测试

8-- 问题记录

参考


1-- 安装依赖

① 改换系统源为阿里云 (部分packages在系统默认源中不存在)

执行以下命令:

vi /etc/apt/sources.list

替换为以下内容:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

更新

sudo apt-get update # 更新软件列表
apt-get upgrade # 更新安装包

② 安装依赖

sudo apt install libssl1.0.0 libgstreamer1.0-0 gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav libgstrtspserver-1.0-0 libjansson4 gcc make git python3

2-- 安装Cuda Toolkit 11.4.1

wget https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux.run
sudo sh cuda_11.4.1_470.57.02_linux.run

3-- 安装cudnn 8.2+

# 下载网址:https://developer.nvidia.com/rdp/cudnn-archive

# 安装参考:https://blog.csdn.net/weixin_43863869/article/details/124398784?spm=1001.2014.3001.5502

4-- 安装TensorRT 8.0.1

① 第一步

echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda-repo.list
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo apt-key add 7fa2af80.pub
sudo apt-get update  

运行 sudo apt-get update 这步可能会报公钥无效,可通过 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC 解决 (A4B469963BF863CC表示无效的公钥)

② 下载Tensor RT Package

# 下载地址:Tensor RT8.01下载地址

③ 安装 TensorRT 8.0.1

sudo dpkg -i nv-tensorrt-repo-ubuntu1804-cuda11.3-trt8.0.1.6-ga-20210626_1-1_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-ubuntu1804-cuda11.3-trt8.0.1.6-ga-20210626/7fa2af80.pub
sudo apt-get update
sudo apt-get install libnvinfer8=8.0.1-1+cuda11.3 libnvinfer-plugin8=8.0.1-1+cuda11.3 libnvparsers8=8.0.1-1+cuda11.3 libnvonnxparsers8=8.0.1-1+cuda11.3 libnvinfer-bin=8.0.1-1+cuda11.3 libnvinfer-dev=8.0.1-1+cuda11.3 libnvinfer-plugin-dev=8.0.1-1+cuda11.3 libnvparsers-dev=8.0.1-1+cuda11.3 libnvonnxparsers-dev=8.0.1-1+cuda11.3 libnvinfer-samples=8.0.1-1+cuda11.3 libnvinfer-doc=8.0.1-1+cuda11.3

④ 测试是否安装成功

dpkg -l | grep TensorRT

5-- 安装librdkafka

① 拷贝源码

git clone https://github.com/edenhill/librdkafka.git

② 编译安装

cd librdkafka
git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a

./configure
sudo make -j32
sudo make install

③ 生成的库拷贝到 deepstream 文件夹

sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.0/lib
sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.0/lib

6-- 安装 deepstream sdk

① 使用deb安装

# 下载地址:deepstream sdk deb包下载地址

② 安装

sudo apt-get install ./deepstream-6.0_6.0.0-1_amd64.deb

7-- 验证与测试

① 定位

which deepstream-app

② 运行examples 

export LIBGL_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/  

# export的作用是解决以下错误:libEGL warning: MESA-LOADER: failed to open swrast (search paths LIBGL_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri)

cd /opt/nvidia/deepstream/deepstream-6.0/samples/configs/deepstream-app
ls
deepstream-app -c /opt/nvidia/deepstream/deepstream-6.0/samples/configs/deepstream-app/source30_1080p_dec_infer-resnet_tiled_display_int8.txt

8-- 问题记录

① 可能需要额外安装的依赖:

sudo apt-get install mesa-utils
sudo apt-get install mesa-libGLw.x86_64
sudo apt-get install -y mesa-libGLw-devel.x86_64
sudo apt-get install mesa-dri-drivers

② 使用配置文件source30_1080p_dec_infer-resnet_tiled_display_int8.txt时,会报错:

 可将[sink0]的enable改为0或者type改为1,采用FakeSink测试。

③采用原配置文件source30_1080p_dec_infer-resnet_tiled_display_int8.txt测试时,出现闪退的情况,以及报错:Segmentation fault (core dumped)。之前已有相应的问题,见链接现象描述,但未解决。

④目前,使用上述方法无法看到窗口视频情况(会闪退),使用FakeSink可以顺利运行,运行结果如下图,若能解决上面出现的问题,恳请留言或者私信告知博主,万分感谢!

参考

安装依赖

公钥报错

Ubuntu 安装 deepstream6.0

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

笔记--Ubuntu18.04安装Deepstream 6.0 的相关文章

随机推荐

  • excludePathPatterns方法不生效

    1 场景 我在项目中配置了License证书授权的功能 然后在配置拦截器的时候拦截了所有的请求都必须验证License是否到期 但是这样会导致接口响应慢 所以打算使用 excludePathPatterns 方法对部分url请求放行 例如我
  • element UI 表格table多个数值进行排序筛选

    效果图 1 表格html部分
  • Java序列化和反序列化(详解)

    一 理解Java序列化和反序列化 Serialization 序列化 将java对象以一连串的字节保存在磁盘文件中的过程 也可以说是保存java对象状态的过程 序列化可以将数据永久保存在磁盘上 通常保存在文件中 deserializatio
  • ffmpeg源码安装

    ffmpeg源码安装 http blog yundiantech com log blog id 35 1 安装yasm tar xvzf yasm 1 3 0 tar gz cd yasm 1 3 0 configure make mak
  • 北斗高精度卫星接收机的分类

    北斗卫星导航接收机是用来收集处理天线接收到的电磁信号 理想的接收机抑制所有不需要的噪声 并对需要的信号不增加任何噪声或干扰 不管信号的形式或格式如何 它都可以变换 以适合信号处理器检波电路所要求的特性 然后再送到智能用户接口 北斗卫星导航接
  • [war打包]在maven-antrun-plugin复制更改了配置文件但是maven-war-plugin打包出来配置文件没变化(草稿)

    前言 背景介绍 在某个java web项目中 需要根据maven的profile的配置进行properties文件的切换 例如 项目的配置文件结构如下 在resources文件夹下面分别有profiles文件夹及conf文件夹 重点关注 p
  • 【OpenCV入门教程Java版之一】安装OpenCV:OpenCV4.6.0+IDEA开发环境配置

    在读研期间的研究方向与图像处理有一点相关 后来由于工作可能会有需要 所以晚上回去也闭门研究了OpenCV和图像处理相关的知识 也准备写一个OpenCV系列的专栏作为自己的学习笔记 也分享给大家 如果有写错的地方也欢迎大家及时指出 好了这篇文
  • 搭建STM32F407的SPI-Flash(基于STM32CubeMX)

    网上有不少例子 都对 但对我来说碰到几个坑 避免以后再犯错 mark下 目标 通过SPI接口 对Nor Flash进行读写 开发板上Nor Flash 是W25Q128 128Mbit 也就是16MB样子 CubeMx端配置 配置要分两个
  • OpenStack--实现内外网结构

    类似于阿里云 ECS 主机的内外网 双网卡不通网段 的结构 最终实现内外网区分隔离 https www aliyun com product ecs utm medium text utm source baidu utm campaign
  • STM32低速时钟频率校准方法

    RT Thread的PM组件利用LPTIM来实现低功耗唤醒和系统tick补偿 而LPTIM的时钟源一般会选择LSI LSI这玩意儿功耗虽然只有几百nA 但是频偏非常大 例如STML051手册上就说LSI的频率在26kHz 56kHz之间 典
  • STL-stack容器和queue容器

    stack概念 stack是一种先进后出 First In Last Out FILO 的数据结构 它只有一个出口 栈中只有顶端的元素才可以被外界使用 因此栈不允许有遍历行为 与queue相似 stack也是一个适配器类 它给底层vecto
  • %d %ld %lld

    因特网 互联网 以太网 局域网的区别 相信下面几个表达方式 就能说明问题吧 d int ld long lld long long 在32位编译器上 int long 32bit long long 64bit
  • 心得:Javascript的内存释放实验

    我以前也看过关于javascript的内存释放的文章 但我从来也没仔细看过 原因 一来我觉得这个东西可有可无 二来 鬼知道这些理论到底有没有科学根据 今天我做了一个小小的实验 证实内存释放还是有用的 比如有如下程序 var a new Ar
  • 一个三节点的PVE 6.1+CEPH集群,因为系统损坏,全部重新安装。

    注意 逐一重装系统 重新加入PVE集群 重新加入CEPH集群 先禁用ceph的recover 避免其因OSD丢失重建 任一节点执行 for i in noout nobackfill norecover do ceph osd set i
  • windows上面运行jar文件

    1 ctrl r进入CMD模式 2 切换到jar所在的目录 我的XXX jar在D workspace下面 3 运行jar java jar XXX jar
  • Redis过期策略与淘汰策略

    redis为什么这么快 原因之一就是Redis操作都是基于内存的 既然是基于内存的 而内存的大小是有限的 当内存不足或占用过高时 Redis会采用内存淘汰机制进行数据淘汰 一 Redis的过期策略 Redis在设置缓存数据时指定了过期时间
  • 前端常用第三方库

    常用功能的第三方插件集合 一 下载 1 原生 1 a 标签 只能同源下载 2 iframe 下载 支持跨域get请求 3 Form 表单下载 支持跨域get和post请求 2 第三方插件 1 FileSaver js 2 StreamSav
  • [leetcode] 358. Rearrange String k Distance Apart 解题报告

    题目链接 https leetcode com problems rearrange string k distance apart Given a non empty string str and an integer k rearran
  • lock与unlock用法(简单易懂)

    lock最简单的用法就是 在多线程中 我们往往要操作同一块内存 但是同一时间只允许一个线程操作 其他想要操作 只能等到被释放 这个时候就可以用到lock 文件共享锁 用法 mutex 名称 例如 mutex testlock 举个例子 例如
  • 笔记--Ubuntu18.04安装Deepstream 6.0

    目录 1 安装依赖 2 安装Cuda Toolkit 11 4 1 3 安装cudnn 8 2 4 安装TensorRT 8 0 1 5 安装librdkafka 6 安装 deepstream sdk 7 验证与测试 8 问题记录 参考