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