边缘计算【智能+安全检测】系列教程--使用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.mzph.cn/news/816274.shtml

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

相关文章

解决jenkins运行sh报process apparently never started in XXX

个人记录 问题 process apparently never started in /var/jenkins_home/workspace/ks-springboot_mastertmp/durable-bbfe5f99(running Jenkins temporarily with -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.LAUNCH_DIAGNOSTICStrue might make the problem cl…

架构师系列-搜索引擎ElasticSearch(八)- 集群管理故障恢复

故障转移 集群的master节点会监控集群中的节点状态,如果发现有节点宕机,会立即将宕机节点的分片数据迁移到其它节点,确保数据安全,这个叫做故障转移。 下图中node1是主节点,其他两个节点是从节点 节点故障 此时node1…

卷积神经网络(LeNet5实现对Fashion_MNIST分类

参考6.6. 卷积神经网络(LeNet) — 动手学深度学习 2.0.0 documentation (d2l.ai) ps:在这里预备使用pythorch 1.对 LeNet 的初步认识 总的来看,LeNet主要分为两个部分: 卷积编码器:由两个卷积层组成; …

【蓝桥杯】(完全日期)

完全日期 #include <iostream> using namespace std; int main() {int ans0;//2001 1 1 //2021 12 31int monthday[13]{0,31,28,31,30,31,30,31,31,30,31,30,31};for(int year2001;year<2021;year){monthday[2]28;if((year%40&&year%100!0)||year%4000)month…

OLTP 与 OLAP 系统说明对比和大数据经典架构 Lambda 和 Kappa 说明对比——解读大数据架构(五)

文章目录 前言OLTP 和 OLAPSMP 和 MPPlambda 架构Kappa 架构 前言 本文我们将研究不同类型的大数据架构设计&#xff0c;将讨论 OLTP 和 OLAP 的系统设计&#xff0c;以及有效处理数据的策略包括 SMP 和 MPP 等概念。然后我们将了解经典的 Lambda 架构和 Kappa 架构。 OLTP …

嵌AR/VR开发教程和案例

一、AR/VR概述 增强现实&#xff08;Augmented Reality&#xff0c;简称AR&#xff09;和虚拟现实&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;是近年来备受关注的技术领域。AR是在现实世界的基础上&#xff0c;通过计算机技术将虚拟信息叠加到现实世界中&…

无线通信:多输入多输出(MIMO)

什么是MIMO MIMO&#xff08;Multi Input Multi Output&#xff09;即多输入多输出&#xff0c;通过采用空间复用技术&#xff0c;在几条链路&#xff08;可以理解为几个天线&#xff09;中传输不同的数据码流&#xff0c;成倍地提高数据吞吐量&#xff08;速率&#xff09;。…

振兴国腾GM8775C MIPIDSI桥接到双 PORT LVDS

GM8775C描述&#xff1a; GM8775C 型 DSI 转双通道 LVDS 发送器产品主要实现将 MIPI DSI 转单 / 双通道 LVDS 功能&#xff0c;MIPI 支持 1/2/3/4 通道可选&#xff0c;每通道最高支持 1Gbps 速率&#xff0c;最大支持 4Gbps 速率。LVDS 时钟频率高达 154MHz &a…

实现文章内容过多时的展开收起效果

通过计算文章内容的高度来确定是否需要显示展开按钮&#xff0c;然后根据用户的点击来展开或收起文章内容。以下是一个简单的实现示例&#xff1a; <template><div class"article"><div v-if"isContentOverflow" :style"{ maxHeight:…

Python远程将文本、音频等数据写入Mysql或Redis附上云策略

Python远程将文本、音频等数据写入Mysql或Redis附上云策略 将文本、音频等数据存入MySQL或Redis,需要使用相应的数据库驱动和数据类型。 本篇分别针对MySQL和Redis的存储方法进行总结,附云存储策略: 1. 存入MySQL 1.1 文本数据入库 文本数据(例:TXT)可以直接作为字符串…

Vue列表渲染

一、Vue列表渲染 1.用 v-for 把一个数组对应为一组元素 我们可以用 v-for 指令基于一个数组来渲染一个列表。v-for 指令需要使用 item in items 形式的特殊语法&#xff0c;其中 items 是源数据数组&#xff0c;而 item 则是被迭代的数组元素的别名。 <ul id"exampl…

Facebook广告投放数据API对接流程

说明&#xff1a;仅供学习使用&#xff0c;请勿用于非法用途&#xff0c;若有侵权&#xff0c;请联系博主删除 作者&#xff1a;zhu6201976 一、需求背景 App在Facebook、Google等巨头进行广告投放&#xff0c;想要拿到实时广告投放效果数据&#xff0c;如曝光、点击、花费、触…

Django第三方功能的使用

Django第三方功能的使用 Django REST framework前言1、Django--Restframework--coreapi版文档BUG:AssertionError: coreapi must be installed for schema support.How to run Django with Uvicorn webserver?2、序列化类 Serializer的使用模型序列化类 ModelSerializer的使用…

4-安装并配置Grafana并导入特定的仪表板模板

要安装并配置Grafana并导入特定的仪表板模板&#xff0c;你可以按照以下步骤操作&#xff1a; 1. 安装Grafana 首先&#xff0c;确保你的系统中已安装了 yum&#xff0c;这通常是CentOS或RHEL及其衍生版本中的包管理器。然后&#xff0c;运行以下命令来安装Grafana Enterpris…

Axios的简明教程

Axios是什么&#xff1f; Axios是一个基于promise的HTTP客户端&#xff0c;可以在浏览器和node.js中使用。它提供了一种简单的方法来发送异步HTTP请求。与其他HTTP库&#xff08;如Fetch&#xff09;相比&#xff0c;Axios提供了更丰富的功能和更好的错误处理。例如&#xff0…

MATLAB结合C+混编循环计算多孔结构的孔径分布

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material

7天八股速记之C++后端——Day 1

坚持7天&#xff0c;短期内快速完成C后端面试突击。每天10题&#xff0c;弥补后端八股知识缺漏&#xff0c;熟练掌握后端的高频考点&#xff0c;后端面试更有把握。 1. Redis 的五种数据结构 使用场景 String&#xff08;字符串&#xff09;&#xff1a; 使用场景&#xff1a…

MySQL 社区版 安装总结

很早就安装过MySQL&#xff0c;没有遇到过什么问题&#xff0c;直接next就行了&#xff0c;这次在新电脑上安装却遇到了一些问题&#xff0c;记录一下。 安装的是MySQL社区版&#xff0c;下载地址是www.mysql.com&#xff0c;进入后选择DOWNLOAD页面&#xff0c;选择MySQL Com…

【HBase】HBase高性能架构:如何保证大规模数据的高可用性

HBase高性能原理 HBase 能够提供高性能的数据处理能力&#xff0c;主要得益于其设计和架构的几个关键方面。这些设计特点使得 HBase 特别适合于大规模、分布式的环境中进行高效的数据读写操作。以下是 HBase 高性能的主要原因&#xff1a; 1. 基于列的存储 HBase 是一个列式…

【入门】方程的解

方程: a*ab*bc*cn&#xff0c;其中 0<a<b<c。请你求出它的所有解&#xff0c;结果按照 a 的值从小到大输出。 输入 输入一个整数 n&#xff0c;为方程等号右边的整数。 输出 输出若干行&#xff0c;每行包括 33 个空格隔开的整数&#xff0c;分别为 a,b,c 的值。 …