本发明专利技术公开一种跨进程的摄像头预览以及数据传输的方法、系统及设备,方法包括:通过预设接口,监听打开摄像头的操作,传递摄像头分辨率、预览方向、预览画布等参数;通过系统接口获取USB外设对象,读取VIDPID属性;根据VIDPID区分摄像头型号,根据摄像头型号执行对应的摄像头打开操作;摄像头服务对预览画布进行渲染,客户端呈现摄像头预览界面显示内容;摄像头服务主动采集数据流,通过匿名共享内存技术进行数据跨进程传递;客户端通过预设回调接口提取摄像头数据流信息。用户通过开放的AIDL接口来操作摄像头服务,可以支持大分辨率数据,通过匿名共享内存来传递大数据流,从而保证跨进程传递数据流的效率。进程传递数据流的效率。进程传递数据流的效率。
【技术实现步骤摘要】
跨进程通信的摄像头预览及数据传输的方法、系统及设备
[0001]本专利技术涉及Android智能终端摄像头应用领域,特别是涉及android系统上的摄像头设备的跨进程连接预览通信的方案。
技术介绍
[0002]目前在项目开发中需要使用摄像头,就需要在自己业务中集成引入摄像头的调用流程,关心摄像头的打开、预览流程以及成像问题,从而给项目主要业务开发带来一定的开发压力和成本,而且如果项目中摄像头流程出现问题后,需要整体业务程序进行升级优化,既增加了维护成本,降低了效率,为此提出将摄像头模块独立成底层服务,专门解决摄像头问题。
技术实现思路
[0003]本专利技术的目的是提供一种跨进程通信的摄像头预览及数据传输的方法、系统及设备,用户通过开放的AIDL接口来操作摄像头服务,其核心部分就是摄像头服务可以支持大分辨率数据,通过匿名共享内存来传递大数据流,从而保证跨进程传递数据流的效率。
[0004]为实现上述目的,本专利技术提供了如下方案:
[0005]一种跨进程通信的摄像头预览以及数据传输的方法,所述方法包括:
[0006]通过预设跨进程调用的接口设置监听摄像头状态的操作,传递摄像头的分辨率、预览方向和预览画布;
[0007]通过Android系统接口获取USB外设摄像头设备,并读取所述USB外设摄像头设备的VIDPID属性;
[0008]根据所述VIDPID属性通过打开所述预设跨进程调用的接口执行对应的所述USB外设摄像头设备打开操作;
[0009]通过摄像头服务对所述预览画布进行渲染,并将渲染后预览画布的内容呈现给客户端;
[0010]通过摄像头服务采集摄像头数据流,并通过匿名共享内存技术进行数据跨进程传递;
[0011]通过调用预设回调接口提取所述摄像头数据流,并发送至所述客户端。
[0012]可选的,根据所述VIDPID属性通过打开所述预设跨进程调用的接口执行对应的所述USB外设摄像头设备打开操作,具体包括:
[0013]根据所述VIDPID属性确定所述USB外设摄像头设备的摄像头型号;
[0014]根据所述摄像头型号通过打开所述预设跨进程调用的接口执行对应的所述USB外设摄像头设备打开操作。
[0015]可选的,根据所述VIDPID属性通过打开所述预设跨进程调用的接口执行对应的所述USB外设摄像头设备打开操作之前包括:
[0016]通过摄像头服务扫描所述USB外设摄像头设备的USB硬件信息,遍历本地检测到的
所有内置、外接摄像头列表、USB驱动信息和设备VIDPID信息;
[0017]通过摄像头服务根据所述USB硬件信息对所述USB外设摄像头设备进行驱动初始化处理。
[0018]可选的,所述摄像头服务的信息包括支持的所述摄像头状态的摄像头分辨率、预览格式、预览方向、曝光度、对比度和亮度数据中的一种或者多种。
[0019]可选的,所述摄像头服务支持跨进程拍照和录像功能。
[0020]可选的,所述摄像头服务的配置功能包括摄像头分辨率配置和摄像头预览格式配置。
[0021]可选的,所述摄像头服务支持系统摄像头、3D摄像头和双目摄像头。
[0022]本专利技术还提供一种跨进程通信的摄像头预览以及数据传输的系统,所述系统包括:
[0023]状态设置模块,用于通过预设跨进程调用的接口设置监听摄像头状态的操作,传递摄像头的分辨率、预览方向和预览画布;
[0024]属性获取模块,用于通过Android系统接口获取USB外设摄像头设备,并读取所述USB外设摄像头设备的VIDPID属性;
[0025]接口打开操作模块,用于根据所述VIDPID属性通过打开所述预设跨进程调用的接口执行对应的所述USB外设摄像头设备打开操作;
[0026]预览模块,用于通过摄像头服务对所述预览画布进行渲染,并将渲染后预览画布的内容呈现给客户端;
[0027]跨进程传递模块,用于通过摄像头服务采集摄像头数据流,并通过匿名共享内存技术进行数据跨进程传递;
[0028]数据回调模块,用于通过调用预设回调接口提取所述摄像头数据流,并发送至所述客户端。
[0029]本专利技术还提供一种电子设备,包括存储器及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使电子设备执行所述的跨进程通信的摄像头预览以及数据传输的方法。
[0030]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:
[0031]本专利技术提供一种跨进程通信的摄像头预览及数据传输的方法、系统及设备,应用以摄像头服务跨进程通信以及匿名共享内存为核心技术的摄像头服务,用户通过开放的AIDL接口来操作摄像头服务,其核心部分就是摄像头服务可以支持大分辨率数据,通过匿名共享内存来传递大数据流,从而保证跨进程传递数据流的效率,可降低多型号摄像头在不同终端上使用的难度。
附图说明
[0032]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0033]图1为本专利技术实施例1提供的跨进程通信的摄像头预览及数据传输的方法流程图。
具体实施方式
[0034]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0035]本专利技术的目的是提供一种跨进程通信的摄像头预览及数据传输的方法、系统及设备,应用以摄像头服务跨进程通信以及匿名共享内存为核心技术的摄像头服务,用户通过开放的AIDL接口来操作摄像头服务,其核心部分就是摄像头服务可以支持大分辨率数据,通过匿名共享内存来传递大数据流,从而保证跨进程传递数据流的效率。
[0036]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0037]实施例1
[0038]如图1所示,本实施例提供一种跨进程通信的摄像头预览以及数据传输的方法,包括业务客户端程序及摄像头服务端程序,具体执行如下步骤:
[0039]S1,通过预设跨进程调用的接口,设置监听摄像头状态的操作,传递摄像头分辨率、预览方向、预览画布等参数。
[0040]所述的摄像头服务信息包括支持的S1步骤中的摄像头分辨率、预览格式、预览方向、曝光度、对比度、亮度等数据中的一种或者多种。
[0041]S2,通过Android系统接口获取USB摄像头硬件设备对象,读取VIDPID属性。
[0042]S3,根据VIDPID区分摄像头型号,根据摄像头型号去操作打开接口。
[0043本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种跨进程通信的摄像头预览以及数据传输的方法,其特征在于,所述方法包括:通过预设跨进程调用的接口设置监听摄像头状态的操作,传递摄像头的分辨率、预览方向和预览画布;通过Android系统接口获取USB外设摄像头设备,并读取所述USB外设摄像头设备的VIDPID属性;根据所述VIDPID属性通过打开所述预设跨进程调用的接口执行对应的所述USB外设摄像头设备打开操作;通过摄像头服务对所述预览画布进行渲染,并将渲染后预览画布的内容呈现给客户端;通过摄像头服务采集摄像头数据流,并通过匿名共享内存技术进行数据跨进程传递;通过调用预设回调接口提取所述摄像头数据流,并发送至所述客户端。2.根据权利要求1所述的方法,其特征在于,根据所述VIDPID属性通过打开所述预设跨进程调用的接口执行对应的所述USB外设摄像头设备打开操作,具体包括:根据所述VIDPID属性确定所述USB外设摄像头设备的摄像头型号;根据所述摄像头型号通过打开所述预设跨进程调用的接口执行对应的所述USB外设摄像头设备打开操作。3.根据权利要求2所述的方法,其特征在于,根据所述VIDPID属性通过打开所述预设跨进程调用的接口执行对应的所述USB外设摄像头设备打开操作之前包括:通过摄像头服务扫描所述USB外设摄像头设备的USB硬件信息,遍历本地检测到的所有内置、外接摄像头列表、USB驱动信息和设备VIDPID信息;通过摄像头服务根据所述USB硬件信息对所述USB外设摄像头设备进行驱动初始化处理。4.根据权利要求1所述的方法,其特征在于,...
【专利技术属性】
技术研发人员:孙永战,白江鹏,齐琦,赵伟,
申请(专利权)人:深圳市德卡科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。