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

本文主要是介绍案例分享:当前高端低延迟视频类产品方案分享(内窥镜、记录仪、车载记录仪、车载环拼、车载后视镜等产品),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

相关文章

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时