案例分享:当前高端低延迟视频类产品方案分享(内窥镜、记录仪、车载记录仪、车载环拼、车载后视镜等产品)

若该文为原创文章,转载请注明出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/135439369

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

合作案例专栏:案例分享(体验Demo可下载,只定制)


当前市场技术方案

  当前市场在摄像头视频处理方向走向高端,随之而来的是对技术要求的提升,对团队人员数量的提升,才能共同完成一个高端低延迟摄像头处理产品方案,这些方案基本都属于通用的,区别在于研发成本和研发周期,摄像头在于结构和工艺成本,目前博主公司也正在投入研制高端方案四,将会有完全由红胖子控制自主知识产权,预计时间节点在2024年7~12月,稳定老化测试一切ok后产品化再出。


方案一:低端usb方案,高延迟、低成本、可替代

  在这里插入图片描述

  • in:数据流输入,已经实现好的模组,输出ubs的uvc协议数据,延迟控制在200ms左右,这是数据流进入系统入口的时间;
  • usb协议:usb的uvc协议解析耗费时间,再通过ffmpeg或者opencv打开摄像头,所以这就是正常的打开摄像头的路径,延迟也会再个几十ms。
  • Qt应用:Qt显示使用QImage刷类似的方案或者可以使用QOpengWidget贴纹理方案,经过基本验证,cpu足够的情况下,两者基本不会有什么延迟差距。
  • 显存buffer:是Qt作为wayland等一些显示框架,会有显存buffer,显存buffer会输出到外面,进而进行显示,这块回有一点点很小的延迟;
  • out:显示输出,显存的输出途径,可以hdmi、mipi、mini-hdmi等各种,这部不影响延迟。

方案二:中端海思方案,低延迟、中成本、可替代(能拿到货是一码事,货多少钱又是一码事)

在这里插入图片描述

  • in:数据流输入,已经实现好的模组,输出一些bt1120数据,延迟控制在30ms-50ms左右,这是拍摄到sensor后转化数据流进入系统入口的时间;
  • mpp海思:mpp海思直接in通过mipi接口进入海思芯片,海思芯片mpp直接写个sample操作一些isp和叠层,从而实现对图像叠层以及图像的控制,但是海思芯片购买渠道、数量和价格受到很大约束,并且受限于应用的复杂程度,必定不是终极方案。
  • Qt应用:Qt不显示,只占位显示的区域,与海思sample通过本地socket完成控制交互,对图像走海思输出延迟毫无影响,但是Qt的应用程序不能做复杂的界面操作,因为其依赖cpu,海思上至少两个系列实测存在卡顿问题,需要尽可能的少刷显示界面,如频繁更新同意哦个页面的多个label数据,会导致卡顿,卡成时钟1s一次刷都刷不动,可能卡几秒几十秒才刷过来。这块可以用minigui进行操作,但是实际意义不大,且开发工作量倍增,主要看功能,如果功能简单就差距不大。笔者建议Qt,保持后续一个应用扩展的升级空间。
  • 显存buffer:是Qt等一些显示框架,会有显存buffer,显存buffer作为一路输入流,海思支持对帧缓存进行通道数据叠层,图象输入到输出基本没什么延迟,Qt这块回有一点点延迟;
  • out:显示输出,显存的输出途径,可以hdmi、mipi、mini-hdmi等各种,这部不影响延迟。

方案三:中端fpga方案,低延迟,高成本、难替代

在这里插入图片描述
在这里插入图片描述

  • in:fpga数据流输入,由fpga完成摄像头数据的采集,包含isp,这块成本较高,周期较长,涉及高速电路和isp算法,输入延迟30ms内。
  • 自行处理或者rgb/yuv处理:框架也好,yuv也好都是对数据进行基本处理,延迟差距不大。
  • Qt应用:Qt显示使用QImage刷类似的方案或者可以使用QOpengWidget贴纹理方案,经过基本验证,cpu足够的情况下,两者基本不会有什么延迟差距。
    显存buffer:是Qt作为wayland等一些显示框架,会有显存buffer,显存buffer会输出到外面,进而进行显示,这块回有一点点很小的延迟;
  • out:显示输出,显存的输出途径,可以hdmi、mipi、mini-hdmi等各种,这部不影响延迟。

方案四:高端fpga方案,低延迟,高成本、难替代

在这里插入图片描述

  • in:fpga数据流输入,由fpga完成摄像头数据的采集,包含isp,这块成本较高,周期较长,涉及高速电路和isp算法,输入延迟30ms内。
  • Qt应用:Qt显示与fpga通过数据如232控制fpga的叠层图像操作,没有实际显示图像的环境。
    显存buffer:是Qt作为wayland等一些显示框架,会有显存buffer,显存buffer会输出,通过BT1120或者其他的方式进入fpga。
  • out:显示输出,将fpga的图像叠在输入的显存上,即可完成最低延迟的fpag的。

  其他方案不再赘述,整体来说,数据流构架大致相同的,只是芯片数据流得格式有区别。


关于2023,2024

  Qt外协行业内,红胖子的责任和服务质量稳定且增长,口碑已经起来,合作一家就是一家中长期,并同步支持其他比如arm各行业的专业技术支持(这块未专注接业务扩大,纯纯的是为了更好的服务Qt程序的构架设计,以便给客户公司提供较为全面的方案以使Qt方案达到需求最佳)。
  公司2023年逆势增长较大幅度,并且于2023.6月就全年爆单,忍痛停止接单,并未冒进,而是继续选择隐忍投入相关研发,进一步增强核心竞争力。公司2024年上半年业务也即将趋于饱和。


关于合作这件事

  合作是双向选择,互相尊重平等对话,公司成立一来,只服务客户对质量有要求的,要达到这点那么客户公司需要研发有说话权并能判断出代码构架设计和代码质量,写出来基本能跑就行的客户不在我们的服务范畴,坚持”红胖子出品,必属精品(处女座的完美主义者)“,只欢迎中长期且在乎合作品质的企业客户咨xun合zuo


若该文为原创文章,转载请注明出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/135439369

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

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

相关文章

大模型学习

大模型的参数量和显存占用估算 现在业界的大语言模型都是基于transformer模型的,模型结构主要有两大类:encoder-decoder(代表模型是T5)和decoder-only,具体的,decoder-only结构又可以分为Causal LM&#x…

鸿蒙系统应用开发之开发准备

今天我们来聊一聊鸿蒙系统应用开发之前,要做什么准备工作,如下图所示,我们要做的就是安装DevEco Studio,然后配置开发环境。 老规矩,拍拍手👏,上菜。 安装DevEco Studio 首先我们打开链接HUAWEI…

【每日论文阅读】Do Perceptually Aligned Gradients Imply Robustness?

近似人眼梯度 https://icml.cc/virtual/2023/oral/25482 对抗性鲁棒分类器具有非鲁棒模型所没有的特征——感知对齐梯度(PAG)。它们相对于输入的梯度与人类的感知非常一致。一些研究已将 PAG 确定为稳健训练的副产品,但没有一篇研究将其视为…

YOLOv8改进 | 损失函数篇 | SlideLoss、FocalLoss分类损失函数助力细节涨点(全网最全)

一、本文介绍 本文给大家带来的是分类损失 SlideLoss、VFLoss、FocalLoss损失函数,我们之前看那的那些IoU都是边界框回归损失,和本文的修改内容并不冲突,所以大家可以知道损失函数分为两种一种是分类损失另一种是边界框回归损失,上一篇文章里面我们总结了过去百分之九十的…

利用人工智能和机器人技术实现复杂的自动化任务!

这篇mylangrobot项目由neka-nat创建,本文已获得作者Shirokuma授权进行编辑和转载。 https://twitter.com/neka_nat GitHub-mylangrobot :GitHub - neka-nat/mylangrobot: Language instructions to mycobot using GPT-4V 引言 本项目创建了一个使用GPT-4…

docker/华为云cce 部署nacos 2.3.0 集群模式

镜像地址 https://hub.docker.com/r/nacos/nacos-server 版本 nacos/nacos-server:v2.3.0-slim 关键环境变量 使用mysql数据源 变量值备注MODEcluster启用集群模式MYSQL_SERVICE_DB_NAME数据库名MYSQL_SERVICE_USER数据库用户名MYSQL_SERVICE_PASSWORD数据库密码SPRING_D…

江科大-stm32-B站系统初识笔记P2

文章目录 一:ARM是什么二:关键字介绍 推荐视频:《 STM32入门教程-2023版 细致讲解 中文字幕》 一:ARM是什么 ①: ST – 意法半导体 M – Microelectronics 微电子 32 – 总线宽度 ARM架构: Cortex-A:Application 应用…

【echarts】雷达图参数详细介绍

1. 详细示例 var option {tooltip: {trigger: item},radar: {startAngle: 90,//第一个指示器轴的角度,默认90indicator: [// 指示器{ name: Category A, max: 220 },// name:指示器名称{ name: Category B, max: 200 },// max:指示器的最大值,可选&…

NODE笔记 0

一些简单的node学习笔记记录,是Vue等前端框架的基础 入门学习备忘录 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 node.js 内置网络服务器,是前端框架学习的基础: 概念:…

Linux--好玩的进度条

前言 先来看看我们想要达到的进度条效果,具体代码会在文章最后面放出。 一、创建文件及Makefile 我们需要实现声明的定义的分离,因此创建如下三个文件。 process.h prcess.c main.c。 touch process.h process.c main.c 同时还需要创建Makefi…

数据结构与算法-栈-移掉K位数字

移掉K位数字 给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k **位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。 示例 1 : 输入:num "1432219", k 3 输出:&quo…

kubernetes ingress 详解 (包含灰度发布/金丝雀部署)

写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 内容较长,页面右上角目录方便跳转 ingress 介绍 架构 原理 官网资料:Ingress 控制器 | Kubernetes 我…

智能商品系统如何协同其他系统共享数据和优化供应链决策?

智能商品系统可以通过与其他系统(如ERP系统)进行数据集成和协同工作,以实现数据共享和优化供应链决策。具体而言,可以采取以下方法: 数据接口和集成:智能商品系统和ERP系统可以通过数据接口进行连接和数据交…

身为程序员,你很有必要了解一下提效工具“JNPF”

如果你有软件开发的需求,推荐你使用以Vue为技术栈的低代码JNPF。 这款低代码和市面上的其他低代码区别很大的,相较于轻流、简道云、轻宜搭、微搭、帆软、活字格等等,这类面向业务人群使用的低代码(不需要研发人员操作的编写的&am…

英飞凌TC3xx之一起认识GTM(九)GTM相关知识简述及应用实例(CMU,CCM,TBU,MON)

英飞凌TC3xx之一起认识GTM(九)GTM相关知识简述及应用实例(CMU,CCM,TBU,MON) 1 时钟管理单元(CMU)2 集群配置模块(CCM)3 时基单元(TBU)4 监控单元(MON)5 总结由前文的各篇内容,开发者已经知道如何使用GTM的大部分功能,在这些功能中,都需要一个信息就是fGTM 的数据…

软件测试|MySQL SHOW DATABASES详解

简介 在MySQL中,SHOW DATABASES是一条SQL语句,用于显示当前MySQL服务器上所有可用的数据库。这条简单而常用的命令可以让你快速查看服务器上的数据库列表。本文将详细介绍SHOW DATABASES的使用方法以及相关注意事项。 语法 在 MySQL 中,可…

vue3 img图片怎么渲染

在 Vue3 中加载图片&#xff08;img&#xff09;src地址时&#xff0c;出现无法加载问题。网上很多都建议使用 require 加载相对路径&#xff0c;如下&#xff1a; <img :src"require(../assets/img/icon.jpg)"/>但是按照这种方式加载又会报错如下&#xff1a;…

商城小程序(7.加入购物车)

目录 一、配置vuex二、创建购物车的store模块三、在商品详情页中使用store模块四、实现购加入购物车功能五、动态统计购物车中商品的总数量六、持久化存储购物车的商品七、优化商品详情页的total侦听器八、动态为tabBar页面设置数据徽标九、将设置tabBar徽标的代码抽离为mixins…

tcp/ip协议2实现的插图,数据结构6 (24 - 章)

(142) 142 二四1 TCP传输控制协议 tcpstat统计量与tcp 函数调用链 (143) 143 二四2 TCP传输控制协议 宏定义与常量值–上 (144) 144 二四3 TCP传输控制协议 宏定义与常量值–下 (145) 145 二四4 TCP传输控制协议 结构tcphdr,tcpiphdr (146) 146 二四5 TCP传输控制协议 结构 tcp…

05、Kafka ------ 各个功能的作用解释(主题和分区 详解,用命令行和图形界面创建主题和查看主题)

目录 CMAK 各个功能的作用解释&#xff08;主题&#xff09;★ 主题★ 分区★ 创建主题&#xff1a;★ 列出和查看主题 CMAK 各个功能的作用解释&#xff08;主题&#xff09; ★ 主题 Kafka 主题虽然也叫 topic&#xff0c;但它和 Pub-Sub 消息模型中 topic 主题及 AMQP 的 t…