边缘计算【智能+安全检测】系列教程--使用OpenCV+GStreamer实现真正的硬解码,完全消除马赛克

在这里插入图片描述
通过现有博客的GST_URL = "rtspsrc location=rtsp://admin:abcd1234@192.168.1.64:554/h264/ch01/main/av_stream latency=150 ! rtph264depay ! avdec_h264 ! videorate ! videoconvert ! appsink sync=false" GStreamer的解码方式解码,大多情况应该存在上图马赛克的问题,请勿紧张,其实上述url并没有调用硬件解码,后面有调用硬件解码的ULR,我们来在接下来的介绍中释获。
通过RTSP协议连接海康威视摄像头将图片送入AI推理,发现OpenCV的VideoCapture使用的是软解码大量消耗了cpu的资源,并无法做到实时数据处理存在5秒钟的延时。只能把解码这部分送到硬件解码器去处理分摊掉cpu的压力,

NVCODEC是什么?

一语概括就是Nvidia提供的硬件编解码,它是一个专门的硬件元器件,在处理视频上面很有优势,但是不代表不消耗任何的cpu或者内存资源。下面我们就一步步开始实现硬件编码。

编译OpenCV
  1. 安装相关依赖
sudo apt-get update
sudo apt-get dist-upgrade -y --autoremove
sudo apt-get install -y \build-essential \cmake \git \gfortran \libatlas-base-dev \libavcodec-dev \libavformat-dev \libavresample-dev \libcanberra-gtk3-module \libdc1394-22-dev \libeigen3-dev \libglew-dev \libgstreamer-plugins-base1.0-dev \libgstreamer-plugins-good1.0-dev \libgstreamer1.0-dev \libgtk-3-dev \libjpeg-dev \libjpeg8-dev \libjpeg-turbo8-dev \liblapack-dev \liblapacke-dev \libopenblas-dev \libpng-dev \libpostproc-dev \libswscale-dev \libtbb-dev \libtbb2 \libtesseract-dev \libtiff-dev \libv4l-dev \libxine2-dev \libxvidcore-dev \libx264-dev \pkg-config \

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/617318.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C/C++ BM25二叉树的后序遍历

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 解决方案二总结 前言 和前序遍历中序遍历一致,换个顺序就行。 详情参考C/C BM23 二叉树的前序遍历 详情参考C/C BM24 二叉树的中序遍历 题目 给定一个二叉树,返回他的后序遍历的序列。 后序遍历是值…

etcd相关知识整理归纳 —— 筑梦之路

什么是etcd? Etcd 是 CoreOS 团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,Etcd基于 Go 语言实现。 名字由来,它源于两个方面,unix的“/etc”文件…

Mathorcup 甲骨文识别

本资源主要包含第2-4问,第一问直接使用传统图像处理即可,需要有很多步骤,这一步大家自己写就行。 2 第2问,甲骨文识别 2.1 先处理源文件 原文件有jpg和json文件,都在一个文件夹下,需要对json文件进行处理…

Windows环境下删除MySQL

文章目录 一、关闭MySQL服务1、winR打开运行,输入services.msc回车2、服务里找到MySQL并停止 二、卸载MySQL软件1、打开控制模板--卸载程序--卸载MySQL相关的所有组件 三、删除MySQL在物理硬盘上的所有文件1、删除MySQL的安装目录(默认在C盘下的Program …

各省份自然灾害损失情况数据集(2004-2022年)

01、数据简介 自然灾害是指给人类生存带来危害或损害人类生活环境的自然现象,这些现象是地球演化过程的自然现象。它们主要包括气象灾害、地质灾害、海洋灾害、生物灾害、森林草原火灾等五大类。 具体来说,气象灾害包括干旱、洪涝灾害、台风、风雹、低…

每日OJ题_01背包④_力扣1049. 最后一块石头的重量 II

目录 力扣1049. 最后一块石头的重量 II 问题解析 解析代码 滚动数组优化代码 力扣1049. 最后一块石头的重量 II 1049. 最后一块石头的重量 II 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意…

斐尔玫瑰荣获《中国3.15诚信企业》证书,诚信经营赢得社会认可

2024年,斐尔玫瑰,荣获了备受瞩目的《中国3.15诚信企业》证书。这一荣誉的获得,不仅是对斐尔玫瑰长期以来坚持诚信经营、提供优质产品和服务的肯定,更是对其在消费者心目中建立起的良好信誉和口碑的认可。 斐尔玫瑰作为女性私密护…

CSS盒模型(详讲)

目录 概述: 内容区(content): 内边距(paddingj): 前言: 设置内边距: 边框(border): 前言: 示例: 外边…

vivado ila 运行触发器、停止触发器、使用自动重新触发

运行触发器 您可在 2 种不同模式下运行或装备 ILA 核触发器 : • “ Run Trigger ” : 选择要装备的 ILA 核 , 然后单击“ ILA 仪表板 (ILA Dashboard) ”窗口或“硬件 (Hardware) ”窗口 工具栏上的“ Run Trigger ”按钮即可装备 IL…

JVM、maven、Nexus

一、jvm简介 1.应用程序申请内存时出现的三种情况: ①OOM:内存溢出,是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。此时程序就运行不了,系统会提示内存溢出&#xff0c…

JavaSE-13笔记【集合2(+2024新)】

文章目录 3.Map3.1 Map继承结构3.2 Map接口的常用方法3.3 遍历Map3.4 HashMap集合3.4.1 HashMap集合key的特点3.4.2 HashMap集合的key存储自定义类型3.4.3 哈希表3.4.3.1 哈希表的介绍3.4.3.2 哈希表的存储原理 3.4.4 存放在HashMap和HashSet集合key部分的元素必须同时重写hash…

C语言指针进阶:数组与指针的联系

目录 1. 数组名的本质2. 使用指针访问数组3. 一维数组传参的本质4. 二级指针5. 指针数组5.1 指针数组模拟二维数组 正文开始。 1. 数组名的本质 数组名代表着这个数组中第一个元素的地址 例如: int arr[4] { 1,2,3,4 }; int *p1 &arr[0]; int *p2 arr;上述…