著录项信息
专利名称 | 一种基于安卓系统支持多路USB摄像头的方法 |
申请号 | CN201510850812.X | 申请日期 | 2015-11-30 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2016-03-02 | 公开/公告号 | CN105376494A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04N5/232 | IPC分类号 | H;0;4;N;5;/;2;3;2查看分类表>
|
申请人 | 诚迈科技(南京)股份有限公司 | 申请人地址 | 江苏省南京市雨花台区软件大道180号-南京南海生物科技园1-A2楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 诚迈科技(南京)股份有限公司 | 当前权利人 | 诚迈科技(南京)股份有限公司 |
发明人 | 柴奕 |
代理机构 | 江苏圣典律师事务所 | 代理人 | 贺翔;刘辉 |
摘要
本发明公开的一种基于安卓系统支持多路USB摄像头的方法,包括修改硬件抽象层HAL、CameraService,创建单个USB摄像头控制类、多个USB摄像头控制类、多USB摄像头服务类、多USB摄像头服务启动主函数、多USB摄像头用户接口控制类、JNI实现等步骤。本发明的基于安卓系统支持多路USB摄像头的方法,在安卓系统中,能够在应用中同时控制多路USB摄像头,并且实现多路USB摄像头同时预览、拍照和视频录制等操作。本发明的方法弥补了安卓系统的不足,拓展了安卓的功能,该方法适用于需要多USB摄像头支持的安卓系统,能方便有效地运用于特定领域,特别是在多路视频监控领域有着广阔的应用前景。
1.一种基于安卓系统支持多路USB摄像头的方法,包括以下步骤:
1)在摄像头硬件抽象层HAL层进行代码修改 ,使其最多支持的USB摄像头个数为N;
2)修改Cameraservice中最多支持摄像头的个数的常量宏定义(MAX_CAMERAS)为N,使之与摄像头HAL层保持一致;
3)创建单个USB 摄像头控制类,所述单个USB 摄像头控制类继承Thread线程类,实现单个USB摄像头的设置、预览、拍照和录像功能接口,使控制摄像头的工作在单独线程中运行;
4)创建多个USB摄像头控制类,其中拥有步骤3)中定义的单个USB摄像头控制类成员变量N个,统一控制N个摄像头,所述多个USB摄像头控制类中实现N个USB摄像头统一控制接口和通过摄像头ID控制单个USB摄像头接口;
5)创建多USB摄像头服务类,其中拥有步骤4)中定义的多摄像头控制类成员变量,通过这个成员变量控制N个USB摄像头;
6)创建多USB摄像头服务启动主函数,所述多USB摄像头服务启动主函数负责初始化步骤5)中定义的多USB摄像头服务并开启线程池,等待来自客户端的Binder通信;
7)创建多USB摄像头用户接口控制类,所述多USB摄像头用户接口控制类是用户应用程序与Frameworks层的接口,作为API调用;
8)创建JNI实现,步骤7)中定义的Java类通过该JNI作为客户端通过IPC BINDER机制与多USB摄像头服务类进行通讯,从而控制多路摄像头。
一种基于安卓系统支持多路USB摄像头的方法\n技术领域\n[0001] 本发明涉及安卓系统技术领域,具体是一种基于安卓系统支持多路USB摄像头的方法。\n背景技术\n[0002] 随着安卓系统的普及和推广,安卓系统的应用范围和应用领域不断延伸。安卓系统正逐渐从手机设备扩展到平板电脑和其他设备,如电视、游戏机、车载设备、智能家居、监控设备等。目前安卓系统只支持两路摄像头,并且同一时刻最多只支持两路(用来预览、拍照和视频录制)。并且绝大多数情况下,这两个摄像头不能在某一个应用中同时进行操作(预览、拍照和录像),即使两个摄像头能同时进行操作,由于摄像头个数的限制,并不能满足特定领域的需求,很大程度上限制了安卓系统的使用范围,特别是视频监控领域。\n发明内容\n[0003] 本发明要解决的问题是提供一种基于安卓系统支持多路USB摄像头的方法,该方法能够实现支持多路USB摄像头,并且可以实现多路USB摄像头同时操作。\n[0004] 本发明公开的基于安卓系统支持多路USB摄像头的方法,包括以下步骤:\n[0005] 1)在摄像头HAL(Hardware Abstract Layer,硬件抽象层)层进行代码修改,使其最多支持的USB摄像头个数为N。\n[0006] 2)修改CameraService(CameraService 是Camera 服务,Camera 框架的中间层)中最多支持摄像头的个数的常量宏定义(MAX_CAMERAS)为N,使之与摄像头HAL层保持一致。\n[0007] 3)创建 单 个 U SB 摄 像 头控 制 类(为方 便 描 述 ,以 下 均 使 用“CameraControllerThread”来代表单个USB 摄像头控制类),该类继承Thread线程类,实现单个USB摄像头的设置、预览、拍照和录像功能接口,使控制摄像头的工作在单独线程中运行。\n[0008] 4)创 建 多 个 U S B 摄 像 头 控 制 类(为 方 便 描 述 ,以 下 均 使 用“MultiCameraController”来代表多个USB摄像头控制类),其中拥有步骤3)中定义的单个USB摄像头控制类成员变量N个,统一控制N个摄像头,该类中实现N个USB摄像头统一控制接口和通过摄像头ID控制单个USB摄像头接口。\n[0009] 5)创建多USB摄像头服务类(Service类,为方便描述,以下均使用“MultiCameraService”来代表多USB摄像头服务类),其中拥有步骤4)中定义的多摄像头控制类成员变量,通过这个成员变量控制N个USB摄像头。\n[0010] 6)创建多USB摄像头服务启动主函数(作为Server启动,为方便描述,以下均使用“MultiCameraServer”来代表多USB摄像头服务启动主函数),该类负责初始化步骤5)中定义的多USB摄像头服务(调用该类的方法注册服务)并开启线程池,等待来自客户端的Binder通信。\n[0011] 7)创建多USB摄像头用户接口控制类(为方便描述,以下均使用“MultiCamera ”来代表多USB摄像头用户接口控制类),该类是用户应用程序与Frameworks层的接口,作为API调用。\n[0012] 8)创建JNI实现(为方便描述,以下均使用“MultiCamera_JNI” 来代表多USB摄像头用户接口控制类的JNI实现),步骤7)中定义的Java类通过该JNI作为客户端通过IPC BINDER机制与多USB摄像头服务类进行通讯,从而控制多路摄像头。\n[0013] 本发明的基于安卓系统支持多路USB摄像头的方法,在安卓系统中,能够在应用中同时控制多路USB摄像头,并且实现多路USB摄像头同时预览、拍照和视频录制等操作。本发明的方法弥补了安卓系统的不足,拓展了安卓的功能,该方法适用于需要多USB摄像头支持的安卓系统,能方便有效地运用于特定领域,特别是在多路视频监控领域有着广阔的应用前景。\n附图说明\n[0014] 图1是安卓系统中与本发明的方法有关的模块构架图。\n具体实施方式\n[0015] 下面结合附图,对本发明的基于安卓系统支持多路USB摄像头的方法进行详细说明\n[0016] 本发明提供了一种基于安卓系统支持多路USB摄像头的方法,包括以下步骤:\n[0017] 1)在摄像头HAL(Hardware Abstract Layer,硬件抽象层)层进行代码修改 ,使其最多支持的USB摄像头个数为N。\n[0018] 2)修改Cameraservice(CameraService 是Camera 服务,Camera 框架的中间层)中最多支持摄像头的个数的常量宏定义(MAX_CAMERAS)为N,使之与摄像头HAL层保持一致。\n[0019] 3)创建 单 个 U SB 摄 像 头控 制 类(为方 便 描 述 ,以 下 均 使 用“CameraControllerThread”来代表单个USB 摄像头控制类),该类继承Thread线程类,实现单个USB摄像头的设置、预览、拍照和录像功能,使控制摄像头的工作在单独线程中运行。\n[0020] 4)创 建 多 个 U S B 摄 像 头 控 制 类(为 方 便 描 述 ,以 下 均 使 用“MultiCameraController”来代表多个USB摄像头控制类),其中拥有步骤3)中定义的单个USB摄像头控制类成员变量N个,统一控制N个摄像头,该类中实现N个USB摄像头统一控制接口和通过摄像头ID控制单个USB摄像头接口。\n[0021] 5)创建多USB摄像头服务类(Service类,为方便描述,以下均使用“MultiCameraService”来代表多USB摄像头服务类),其中拥有步骤4)中定义的多摄像头控制类成员变量,通过这个成员变量控制N个USB摄像头。\n[0022] 6)创建多USB摄像头服务启动主函数(作为Server启动,为方便描述,以下均使用“MultiCameraServer”来代表多USB摄像头服务启动主函数),该类负责初始化步骤5)中定义的多USB摄像头服务(调用该类的方法注册服务)并开启线程池,等待来自客户端的Binder通信。\n[0023] 7)创建多USB摄像头用户接口控制类(为方便描述,以下均使用“MultiCamera ”来代表多USB摄像头用户接口控制类),该类是用户应用程序与Frameworks层的接口,作为API调用。\n[0024] 8)创建JNI实现(为方便描述,以下均使用“MultiCamera_JNI” 来代表多USB摄像头用户接口控制类的JNI实现),步骤7)中定义的Java类通过该JNI作为客户端通过IPC BINDER机制与多USB摄像头服务类进行通讯,从而控制多路摄像头。\n[0025] 以上实施例仅用以说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,其均应涵盖在本发明的权利要求范围当中。
法律信息
- 2016-03-30
实质审查的生效
IPC(主分类): H04N 5/232
专利申请号: 201510850812.X
申请日: 2015.11.30
- 2016-03-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2014-11-05
|
2014-08-07
| | |
2
| |
2015-11-25
|
2015-08-19
| | |
3
| |
2014-04-09
|
2012-09-29
| | |
4
| |
2014-02-05
|
2013-11-08
| | |
5
| |
2014-07-09
|
2012-12-31
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |