一种动态虚拟摄像头映射方法和系统技术方案

技术编号:15520592 阅读:131 留言:0更新日期:2017-06-04 10:07
本发明专利技术提供一种动态虚拟摄像头映射方法和系统,所述方法包括:服务端和客户端建立通讯连接;服务端检测其是否连接有USB摄像头设备,当检查到连接有USB摄像头设备时,向客户端发送摄像头设备的插入信息以及摄像头设备的属性信息;客户端在接收到服务端发送的摄像头设备的插入信息和属性信息后,将服务端支持的视频转化格式添加到所述属性信息中,合并保存为设备描述信息;USB虚拟总线模块根据所述设备描述信息创建与所述摄像头设备对应的虚拟摄像头设备;摄像头应用模块通过所述虚拟摄像头设备使用对应的USB摄像头设备。本发明专利技术提供的动态虚拟摄像头映射方法将USB摄像头设备以虚拟摄像头的方式动态地映射到另一台主机上使用,保持所述摄像头的设备名称、设备PID、VID等属性信息一致,兼容性好,使用方便。

Dynamic virtual camera mapping method and system

The present invention provides a dynamic virtual camera mapping method and system, the method includes: server and client to establish communication links; the server detects whether it is connected with the USB camera device, when the check is connected with a USB camera device, attribute information to the client sends the information into the camera device and camera device; the client to the server the camera is inserted after receiving information and attribute information, the server supports video format conversion is added to the attribute information, and save equipment description information; virtual USB bus module according to the description of the equipment information to create the virtual camera corresponding to the camera; camera application module by USB camera equipment the virtual camera using the corresponding. Dynamic virtual camera mapping method provided by the invention will USB camera device to virtual camera dynamically mapped to another host, holding the camera equipment name, PID, VID and other attribute information, good compatibility, easy to use.

【技术实现步骤摘要】
一种动态虚拟摄像头映射方法和系统
本专利技术涉及计算机信息
,特别涉及一种动态虚拟摄像头映射方法和系统。
技术介绍
随着计算机信息技术的发展,逐渐出现了一种使用远程摄像头设备的场景,就是通过一台本地终端设备,将连接在终端上的USB摄像头设备,映射给远程主机使用,远程主机中的摄像头应用软件能像使用本地设备一样,使用终端上的USB摄像头设备,这种应用方式被称为USB摄像头映射。目前大多数虚拟摄像头技术,只会在远程主机中虚拟出永久的、具有固定属性的虚拟摄像头设备,不能动态的适应终端上实际安装的摄像头设备的属性参数,例如设备的名称、PID、VID等信息,导致和这些信息绑定的摄像头专用应用程序无法识别虚拟摄像头,从而无法兼容使用,在实际使用中很不方便。例如,公开号为CN104199723A的专利,提供了一种基于虚拟设备的摄像头映射方法,使得用户应用程序可以如本地操作摄像头一样操作虚拟摄像头。但是其不能获取本地摄像头的物理属性信息,同时在Windows系统中创建与所述物理属性信息相该同的虚拟摄像头来实现映射;因此兼容性差,某些专用的摄像头应用软件不能使用。
技术实现思路
针对以上问题,本专利技术专利目的在于设计了一种动态虚拟摄像头映射方法和系统,将USB摄像头设备以虚拟摄像头的方式动态地在映射到另一台主机上使用,一方面由于虚拟摄像头设备保持了和USB摄像头相同的设备名称、PID和VID等属性信息,从而确保了和应用模块的良好兼容性,另一方面可以根据网络带宽选择需要的视频转化格式,方便不同场景的使用。本专利技术具体的技术方案如下:一种动态虚拟摄像头映射方法,包括:步骤S101,服务端和客户端建立通讯连接;步骤S102,服务端检测其是否连接有USB摄像头设备,当检查到连接有USB摄像头设备时,向客户端发送摄像头设备的插入信息以及摄像头设备的属性信息,所述属性信息包括设备名称、设备PID和设备VID;步骤S103,客户端在接收到服务端发送的摄像头设备的插入信息和属性信息后,将服务端支持的视频转化格式并添加到所述属性信息中,合并保存为设备描述信息;步骤S104,客户端向USB虚拟总线模块发送所述摄像头设备的插入消息和所述设备描述信息,USB虚拟总线模块根据所述设备描述信息创建与所述摄像头设备对应的虚拟摄像头设备;步骤S105,摄像头应用模块通过所述虚拟摄像头设备使用对应的USB摄像头设备;步骤S106,当移除USB摄像头设备时,服务端将通知客户端和USB虚拟总线模块根据所述摄像头设备对应的属性信息自动删除对应的虚拟摄像头设备;具体包括:当移除摄像头设备时,服务端将自动检查到USB摄像头设备的移除信息,并向所述客户端发送所述移除信息和所述摄像头设备对应的属性信息;客户端接收到所述移除信息后,向USB虚拟总线模块发送所述移除信息和对应的所述属性信息;USB虚拟总线模块在接收到所述移除信息和属性信息后,根据所述属性信息删除对应的虚拟摄像头设备。进一步,本专利技术所述摄像头应用模块通过所述虚拟摄像头设备使用对应的USB摄像头设备,具体包括:虚拟摄像头设备将请求视频数据的请求消息经USB虚拟设备总线发送给客户端,所述请求消息包括摄像头设备的属性信息和所请求的视频格式;客户端将所述请求消息发送给服务端,服务端在收到所述请求消息后,获取对应的USB摄像头设备的视频数据;服务端接收到USB摄像头设备的视频数据后将所述视频数据发送给客户端,客户端收到所述视频数据后,将视频数据经USB虚拟总线和虚拟摄像头设备发送给所述摄像头应用模块。进一步,本专利技术所述服务端接收到USB摄像头设备的视频数据后将所述视频数据发送给客户端,进一步包括:所述服务端根据客户端请求的视频格式,决定是否需要执行视频格式转换;如果服务端获取的视频数据的视频格式与客户端所请求的格式一致,服务端直接将所述视频数据发送到客户端;如果获取的视频数据的视频格式与请求的格式不一致,服务端将所述视频数据转化为客户端所请求的格式后,再发送给客户端。进一步,本专利技术所述服务端和客户端建立通讯连接,具体包括:客户端初始化运行,并根据配置的服务端的地址,发起连接请求,如果连接成功,客户端和服务端建立持久化的通讯连接;如果连接失败,客户端每隔一段时间尝试重复发起连接请求;服务端初始化运行,并根据配置的客户端的地址,发起连接请求,如果连接成功,客户端和服务端建立持久化的通讯连接;如果连接失败,服务端进入侦听状态,等待客户端发起所述的连接请求。一种动态虚拟摄像头映射系统,包括服务端模块、客户端模块、USB虚拟总线模块、虚拟摄像头设备模块;所述服务端模块用于检测其是否连接有USB摄像头设备,当检查到连接有摄像头设备时,向客户端模块发送摄像头设备的插入信息以及摄像头设备的属性信息,所述属性信息包括设备名称、设备PID和设备VID;所述客户端模块用于在接收到服务端发送的摄像头设备的插入信息和属性信息后,获取所述服务端支持的视频转化格式并添加到所述属性信息中,合并保存为设备描述信息;以及向USB虚拟总线模块发送所述摄像头设备的插入消息和所述设备描述信息;所述USB虚拟总线模块用于根据所述设备描述信息创建与所述摄像头设备对应的虚拟摄像头设备模块。进一步,本专利技术所述服务端模块和客户端模块进一步包括:当移除USB摄像头设备时,服务端模块将通知客户端模块和USB虚拟总线模块根据所述摄像头设备对应的属性信息自动删除对应的虚拟摄像头设备。进一步,本专利技术所述摄像头应用模块进一步包括:所述摄像头应用模块将请求视频数据的请求消息经USB虚拟总线模块发送给客户端模块,所述请求消息包括摄像头设备的属性信息和所请求的视频格式;客户端模块将所述请求消息发送给服务端模块,服务端模块在收到所述请求消息后,获取对应的USB摄像头设备的视频数据;服务端模块接收到USB摄像头设备的视频数据后将所述视频数据发送给客户端模块,客户端模块收到所述视频数据后,将视频数据发送给所述摄像头应用模块本专利技术提供的动态虚拟摄像头映射方法实现了虚拟摄像头设备的动态创建和移除,同时保持和实际摄像头的设备名称、PID、VID一致;一方面可以最大限度的兼容USB摄像头专用的应用程序,另一方面可以根据网络质量选择合适的视频传输格式,适用范围广。附图说明以下参照附图对本专利技术实施例作进一步说明,其中:图1是本专利技术一种动态虚拟摄像头映射方法的流程图;图2是本专利技术一种动态虚拟摄像头映射系统的模块图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步的详细说明。本专利技术提出了一种动态虚拟摄像头映射方法,该方法将连接在A主机上的USB摄像头设备,通过网络映射到另一台B主机中作为虚拟摄像头使用,并保持虚拟摄像头与A主机上的USB摄像头设备的名称、PID、VID等基本设备属性不变。该方法具体包括:A主机和B主机之间建立持久化的通讯消息传输通道;B主机能动态发现A主机上摄像头设备插入和移除的事件;当检测到A主机有摄像头设备插入事件,B主机通过A主机获取USB摄像头设备的属性,并且在B主机中创建一个设备名称、PID、VID相同的虚拟摄像头设备;当B主机中的摄像头应用模块打开虚拟摄像头设备时,B主机向A主机发送视频流请求消息,其中包括视频编码格式参数;当A主机收到B主机的视频流请求消息时,将按照本文档来自技高网...
一种动态虚拟摄像头映射方法和系统

【技术保护点】
一种动态虚拟摄像头映射方法,其特征在于,包括:步骤S101,服务端和客户端建立通讯连接;步骤S102,服务端检测其是否连接有USB摄像头设备,当检查到连接有USB摄像头设备时,向客户端发送摄像头设备的插入信息以及摄像头设备的属性信息,所述属性信息包括设备名称、设备PID和设备VID;步骤S103,客户端在接收到服务端发送的摄像头设备的插入信息和属性信息后,将服务端支持的视频转化格式添加到所述属性信息中,合并保存为设备描述信息;步骤S104,客户端向USB虚拟总线模块发送所述摄像头设备的插入消息和所述设备描述信息,USB虚拟总线模块根据所述设备描述信息创建与所述摄像头设备对应的虚拟摄像头设备;步骤S105,摄像头应用模块通过所述虚拟摄像头设备使用对应的USB摄像头设备。

【技术特征摘要】
1.一种动态虚拟摄像头映射方法,其特征在于,包括:步骤S101,服务端和客户端建立通讯连接;步骤S102,服务端检测其是否连接有USB摄像头设备,当检查到连接有USB摄像头设备时,向客户端发送摄像头设备的插入信息以及摄像头设备的属性信息,所述属性信息包括设备名称、设备PID和设备VID;步骤S103,客户端在接收到服务端发送的摄像头设备的插入信息和属性信息后,将服务端支持的视频转化格式添加到所述属性信息中,合并保存为设备描述信息;步骤S104,客户端向USB虚拟总线模块发送所述摄像头设备的插入消息和所述设备描述信息,USB虚拟总线模块根据所述设备描述信息创建与所述摄像头设备对应的虚拟摄像头设备;步骤S105,摄像头应用模块通过所述虚拟摄像头设备使用对应的USB摄像头设备。2.根据权利要求1所述的一种动态虚拟摄像头映射方法,其特征在于,所述方法进一步包括:步骤S106,当移除USB摄像头设备时,服务端将通知客户端和USB虚拟总线模块根据所述摄像头设备对应的属性信息自动删除对应的虚拟摄像头设备;具体包括:当移除摄像头设备时,服务端将自动检查到USB摄像头设备的移除信息,并向所述客户端发送所述移除信息和所述摄像头设备对应的属性信息;客户端接收到所述移除信息后,向USB虚拟总线模块发送所述移除信息和对应的所述属性信息;USB虚拟总线模块在接收到所述移除信息和属性信息后,根据所述属性信息删除对应的虚拟摄像头设备。3.根据权利要求1所述的一种动态虚拟摄像头映射方法,其特征在于,所述摄像头应用模块通过所述虚拟摄像头设备使用对应的USB摄像头设备,具体包括:虚拟摄像头设备将请求视频数据的请求消息经USB虚拟设备总线发送给客户端,所述请求消息包括摄像头设备的属性信息和所请求的视频格式;客户端将所述请求消息发送给服务端,服务端在收到所述请求消息后,获取对应的USB摄像头设备的视频数据;服务端接收到USB摄像头设备的视频数据后将所述视频数据发送给客户端,客户端收到所述视频数据后,将视频数据经USB虚拟总线和虚拟摄像头设备发送给所述摄像头应用模块。4.根据权利要求3所述的一种动态虚拟摄像头映射方法,其特征在于,所述服务端接收到USB摄像头设备的视频数据后将所述视频数据发送给客户端,进一步包括:所述服务端根据客户端请求的视频格式,决定是否需要执行视频格式转换;如果服务端获取...

【专利技术属性】
技术研发人员:董立武杨进
申请(专利权)人:深圳市杰云科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1