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

若该文为原创文章,转载请注明出处
本文章博客地址: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.rhkb.cn/news/238580.html

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

相关文章

金融科技革命:数字化如何塑造未来经济_光点科技

当今世界,数字化不仅是一种趋势,更是深刻重塑经济和金融领域的关键力量。在这个过程中,金融科技(FinTech)崭露头角,成为革命性变化的代名词。以下是数字化技术在经济和金融领域的几个关键应用,它…

运放负反馈

学习记录所使用书籍为西安交通大学杨建国教授著《新概念模拟电路》,可在ADI官网下载PDF版学习。 运算放大器,英文为 Operational Amplifier,简写 OA 或 OPA,中文简称为运放。 理想运算放大器如图所示,它具有两个差分的…

mybatisPlus 将List<String>字段转成json字符串,使用JacksonTypeHandler以及自定义类型处理器实现

文章目录 场景使用JacksonTypeHandler实现类型转换自定义StringListTypeHandler处理器实现 场景 项目中经常需要将List转成json存储到数据库中, mybatisPlus默认实现了JacksonTypeHandler,GsonTypeHandler,FastjsonTypeHandler,也可以自定义类…

观成科技-加密C2框架EvilOSX流量分析

工具简介 EvilOSX是一款开源的,由python编写专门为macOS系统设计的C2工具,该工具可以利用自身释放的木马来实现一系列集成功能,如键盘记录、文件捕获、浏览器历史记录爬取、截屏等。EvilOSX主要使用HTTP协议进行通信,通信内容为特…

Java 线程

1. 实现多线程的 2 种方式 Oracle 官网的文档中给出了 2 种实现多线程的方式: 实现 Runnable 接口;继承 Thread 类。 以上两种方式都会调用 Thread.run() 方法,区别是: 实现 Runnable 接口,只是执行 Thread.run() …

Linux--进程状态与优先级

概念 进程指的是程序在执行过程中的活动。进程是操作系统进行资源分配和调度的基本单位。 进程可以看作是程序的一次执行实体,它包含了程序代码、数据以及相关的执行上下文信息。操作系统通过创建、调度和管理多个进程来实现对计算机系统资源的有效利用。 每个进程…

Navicat 技术干货 | 为 MySQL 表选择合适的存储引擎

MySQL 是最受欢迎的关系型数据库管理系统之一,提供了不同的存储引擎,每种存储引擎都旨在满足特定的需求和用例。在优化数据库和确保数据完整性方面,选择合适的存储引擎是至关重要的。今天,我们将探讨为 MySQL 表选择合适的存储引擎…

0基础学java-day25(JDBC 和数据库连接池)

一、JDBC概述 1 基本介绍 2 简单模拟 package com.hspedu.jdbc.myjdbc;/*** author 林然* version 1.0* 我们规定的 jdbc 接口(方法)*/ public interface JdbcInterface {//连接public Object getConnection() ;//crudpublic void crud();//关闭连接public void close(); }pac…

C++|47.动态数组 48.C++的std:vector使用优化

动态数组 动态数组叫vector,也是一种定义好的类/数据结构。“定义好”意味着 vector处在std命名空间之中。 vector的存在代表着一种可以调用的数据结构,不用 动态的意思是可以将该数组的大小进行动态调整。 也就意味着起初vector是没有固定大小的。 它是…

QFN封装对国产双轴半自动划片机的性能有哪些要求?

1. 高精度切割:QFN封装要求芯片的尺寸和形状误差要尽可能小,因此对国产双轴半自动划片机的切割精度提出了高要求。高精度的切割能够提高封装的良品率和稳定性。 2. 快速和稳定:QFN封装生产需要快速、稳定的生产过程,因此对国产双轴…

网页屏幕适配通透了

一,如果设计尺寸固定 那就按照固定尺寸开发 一般都是1920*1080 二,需要适配多种像素屏幕(大屏可视化) 可使用媒体查询设置多套css样式或者使用自适应单位,%,vw,vh 最好解决方案rem&#xff…

mysql原理--redo日志2

1.redo日志文件 1.1.redo日志刷盘时机 我们前边说 mtr 运行过程中产生的一组 redo 日志在 mtr 结束时会被复制到 log buffer 中,可是这些日志总在内存里呆着也不是个办法,在一些情况下它们会被刷新到磁盘里,比如: (1). log buffer…

答疑解惑:核技术利用辐射安全与防护考核

前言 最近通过了《核技术利用辐射安全与防护考核》,顺利拿到了合格证。这是从事与辐射相关行业所需要的一个基本证书,考试并不难,在此写篇博客记录一下主要的知识点。 需要这个证书的行业常见的有医疗方面的,如放疗,…

社会科学杂志社会科学杂志社社会科学编辑部2023年第12期部分目录

铁路部门档案管理中存在的问题及对策 尚芝维 公共图书馆共享服务模式分析 高翔 关于加强国有企业固定资产管理的对策 任美琪 大数据时代高校档案管理人才队伍建设策略 胡永芳 数据治理背景下档案数据馆员能力建设研究 许颖 新时代事业单位档案管理人才培养…

二叉树题目:从前序与后序遍历序列构造二叉树

文章目录 题目标题和出处难度题目描述要求示例数据范围 前言解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:从前序与后序遍历序列构造二叉树 出处:889. 从前序与后序遍历序列构造二叉树 难度 7 级 题目描述…

互联网上门洗衣洗鞋工厂系统搭建;

随着移动互联网的普及,人们越来越依赖手机应用程序来解决生活中的各种问题。通过手机预约服务、购买商品、获取信息已经成为一种生活习惯。因此,开发一款上门洗鞋小程序,可以满足消费者对于方便、快捷、专业的洗鞋服务的需求,同时…

模拟瑞幸的购物车

是根据渡一大师课来写的&#xff0c;如有什么地方存在问题&#xff0c;还请大家在评论区指出来。ど⁰̷̴͈꒨⁰̷̴͈う♡&#xff5e; index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http…

【银行测试】银行项目,信用卡业务测试+常问面试(三)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 银行测试-信用卡业…

2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑧

单元测试 一、任务要求 题目1&#xff1a;根据下列流程图编写程序实现相应处理&#xff0c;执行j10*x-y返回文字“j1&#xff1a;”和计算值&#xff0c;执行j(x-y)*(10⁵%7)返回文字“j2&#xff1a;”和计算值&#xff0c;执行jy*log(x10)返回文字“j3&#xff1a;”和计算值…

帆软后台(外观配置-主题)文件上传漏洞

漏洞利用 帆软上传主题获取shell&#xff08;管理系统-外观配置&#xff09; 添加主题上传的压缩包中放入shell.jsp马 &#xff08;没有添加主题功能直接构造数据包&#xff09; POST /WebReport/ReportServer?opfr_attach&cmdah_upload&filenametest.zip&widt…