CN116347015A - 一种基于多个usb摄像头平滑切换的系统、方法 - Google Patents
一种基于多个usb摄像头平滑切换的系统、方法 Download PDFInfo
- Publication number
- CN116347015A CN116347015A CN202310601560.1A CN202310601560A CN116347015A CN 116347015 A CN116347015 A CN 116347015A CN 202310601560 A CN202310601560 A CN 202310601560A CN 116347015 A CN116347015 A CN 116347015A
- Authority
- CN
- China
- Prior art keywords
- camera
- usb
- usb camera
- virtual
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/268—Signal distribution or switching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种基于多个USB摄像头平滑切换的系统、方法。系统包括USB摄像头切换器、多个USB摄像头、以及云会议终端;USB摄像头切换器包括消息处理模块、虚拟USB摄像头模块、设备管理模块;通过接收和解析控制消息,发送给设备管理模块处理;控制消息包括摄像头切换控制消息;预先构建虚拟USB摄像头;根据摄像头切换控制消息,打开新接入USB摄像头并读取新接入USB摄像头的视频帧存入虚拟USB摄像头的缓存队列,将所述缓存队列中的视频帧发送至云会议终端。相对于现有技术,能够实现多个USB摄像头平滑切换,提升用户会议中切换USB摄像头体验;支持多种切换控制接口,满足用户各种常用切换控制需求,操作方便快捷,提升用户切换控制操作体验。
Description
技术领域
本发明涉及云会议技术领域,具体而言,涉及一种基于多个USB摄像头平滑切换的系统、方法。
背景技术
USB摄像头工作过程是:景物通过镜头(LENS)生成的光学图像投射到图像传感器表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过USB接口传输到电脑中处理,通过显示器就可以看到图像了。为了获得多个位置的多个场景画面,需要安装多个USB摄像头,如中国发明专利CN102981477公开了一种基于多摄像头切换技术的冰箱内部查看方法,所述的方法的主要步骤为:在冰箱内壁设置多个USB摄像头;设置USB摄像头控制切换模块与冰箱内壁的USB摄像头连接;冰箱系统通过USB摄像头控制切换模块控制USB摄像头采集冰箱内图像,将采集到的图像发送到云平台;云平台对图像进行存储与处理;用户通过移动终端设备与云平台建立通信连接,查看云平台中存储的图像数据。
随着腾讯会议这类云会议广泛应用,USB摄像头越来越广泛使用。在教室和大会议室应用场景,一般会安装多个USB摄像头接入腾讯会议。
在包括上述专利技术方案的现有技术中,选择指定摄像头需要对USB摄像头进行选择切换,其主要是基于USB HUB技术实现多摄像头切换,切换过程容易出现黑屏和卡顿,不能做到画面平滑切换;在会议PC操作切换不便,对于一些正式的会议也不太合适,这种切换的用户体验不好。
本背景技术描述的内容仅为了便于了解本领域的相关技术,不视作对现有技术的承认。
发明内容
为了解决上述技术问题,本发明提供了一种基于多个USB摄像头平滑切换的系统、方法。
在本发明公开的第一方面中,提供了一种基于多个USB摄像头平滑切换的系统,所述系统包括USB摄像头切换器、多个USB摄像头、以及云会议终端;所述USB摄像头切换器包括消息处理模块、虚拟USB摄像头模块、设备管理模块;
其中,所述消息处理模块,用于接收和解析控制消息,发送给设备管理模块处理;所述控制消息包括摄像头切换控制消息;
所述虚拟USB摄像头模块,用于预先构建虚拟USB摄像头;所述虚拟USB摄像头用于处理云会议终端的信令和数据请求;
所述设备管理模块,用于管理接入USB摄像头,接收消息处理模块发送的控制消息,并根据控制消息打开或关闭接入USB摄像头,建立虚拟USB摄像头与实际控制USB摄像头之间的控制和数据连接;根据摄像头切换控制消息,打开新接入USB摄像头并读取新接入USB摄像头的视频帧存入虚拟USB摄像头的缓存队列,将所述缓存队列中的视频帧发送至云会议终端。
进一步,所述虚拟USB摄像头模块,用于预先构建虚拟USB摄像头,具体包括:
根据设备管理模块读取接入的多个USB摄像头及其配置描述符,生成接入USB摄像头列表;所述接入USB摄像头列表包括VID、PID、硬件接口信息和摄像头名称;
解析所述配置描述符,并基于所述配置描述符生成接入USB摄像头公共能力集;将所述公共能力集添加至可选接入USB摄像头列表;所述公共能力集为USB摄像头参数数组,USB摄像头参数包括视频编码格式、分辨率、帧率、码率中的一项或多项;
设备管理模块使用接入USB摄像头公共能力集,创建虚拟USB摄像头设备。
进一步,所述云会议终端,用于读取虚拟USB摄像头及其配置描述符,按指定USB摄像头参数向虚拟USB摄像头发送打开指令;
虚拟USB摄像头接收所述打开指令,并转发至设备管理模块;设备管理模块处理所述打开指令并生成打开结果,向云会议终端反馈USB摄像头打开响应;所述打开响应包括打开成功或打开失败。
进一步,所述设备管理模块处理所述打开指令并生成打开结果,包括:
根据预定策略在接入USB摄像头列表中选择一个接入USB摄像头,并保存USB摄像头参数;
使用USB摄像头参数打开选择的接入USB摄像头;
根据接入USB摄像头打开响应,给虚拟USB摄像头返回打开响应。
进一步,消息处理模块,还用于接收遥控器、按键或者浏览器发送的摄像头切换控制消息,解析所述摄像头切换控制消息以获取新接入USB摄像头信息,并发送所述新接入USB摄像头信息至设备管理模块;设备管理模块,还用于根据接收的所述新接入USB摄像头信息判断新接入USB摄像头是否打开;若新接入USB摄像头未打开,根据保存的USB摄像头参数打开新接入USB摄像头,启动定时器并读取新接入USB摄像头的视频帧;
若读取新接入USB摄像头的视频帧成功,停止当前摄像头的视频帧写入虚拟USB摄像头的缓存队列;将新接入USB摄像头的视频帧写入虚拟USB摄像头的缓存队列,
停止当前摄像头的视频帧定时获取,关闭当前摄像头。
在本发明公开的第二方面中,提供了一种基于多个USB摄像头平滑切换的方法,所述方法包括:
接收并解析摄像头控制消息,获取新接入USB摄像头信息;所述控制消息包括摄像头切换控制消息;
根据所述新接入USB摄像头信息,按指定参数打开USB摄像头,启动定时器并读取新接入USB摄像头的视频帧;
若读取新接入USB摄像头的视频帧成功,停止当前摄像头的视频帧写入USB虚拟设备缓存;将新接入USB摄像头的视频帧写入USB虚拟设备缓存;
停止当前摄像头的视频帧定时获取,关闭当前摄像头。
进一步,接收并解析摄像头控制消息,获取新接入USB摄像头信息之前,所述方法还包括初始化步骤,所述初始化步骤包括:
读取接入的多个USB摄像头及其配置描述符,生成接入USB摄像头列表;所述接入USB摄像头列表包括VID、PID、硬件接口信息和摄像头名称;
解析所述配置描述符,并基于所述配置描述符生成接入USB摄像头公共能力集;将所述公共能力集添加至可选接入USB摄像头列表;所述公共能力集为USB摄像头参数数组,USB摄像头参数包括视频编码格式、分辨率、帧率、码率中的一项或多项;
使用接入USB摄像头公共能力集,创建虚拟USB摄像头设备。
进一步,所述控制消息还包括摄像头打开消息;所述方法还包括:
读取虚拟USB摄像头及其配置描述符,按指定USB摄像头参数向虚拟USB摄像头发送打开指令;
虚拟USB摄像头接收所述打开指令,并转发至设备管理模块;设备管理模块处理所述打开指令并生成打开结果,向云会议终端反馈USB摄像头打开响应;所述打开响应包括打开成功或打开失败。
进一步,所述设备管理模块处理所述打开指令并生成打开结果,包括:
根据预定策略在接入USB摄像头列表中选择一个接入USB摄像头,并保存USB摄像头参数;
使用USB摄像头参数打开选择的接入USB摄像头;
根据接入USB摄像头打开响应,给虚拟USB摄像头返回打开响应。
进一步,所述控制消息还包括摄像头关闭消息;所述方法还包括:
虚拟USB摄像头收到关闭指令,并转发给设备管理模块处理,设备管理模块向已打开接入USB摄像头发送关闭消息,收到响应通过虚拟USB摄像头向云会议终端反馈关闭响应;
接入USB摄像头列表不为空时,重新计算公共能力集和可选接入USB摄像头列表。
与现有技术相比,本发明具有如下有益效果:
本发明,通过提出的基于多个USB摄像头平滑切换的系统包括USB摄像头切换器、多个USB摄像头、以及云会议终端;USB摄像头切换器包括消息处理模块、虚拟USB摄像头模块、设备管理模块;其中,消息处理模块,用于接收和解析控制消息,发送给设备管理模块处理;控制消息包括摄像头切换控制消息;虚拟USB摄像头模块,用于预先构建虚拟USB摄像头;虚拟USB摄像头用于处理云会议终端的信令和数据请求;设备管理模块,用于管理接入USB摄像头,接收消息处理模块发送的控制消息,并根据控制消息打开或关闭接入USB摄像头,建立虚拟USB摄像头与实际控制USB摄像头之间的控制和数据连接;根据摄像头切换控制消息,打开新接入USB摄像头并读取新接入USB摄像头的视频帧存入虚拟USB摄像头的缓存队列,将所述缓存队列中的视频帧发送至云会议终端。相对于现有技术,能够实现多个USB摄像头平滑切换,提升用户会议中切换USB摄像头体验;支持多种切换控制接口,满足用户各种常用切换控制需求,操作方便快捷,提升用户切换控制操作体验。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明公开的实施例的关键或重要特征,亦非用于限制本发明公开的范围。本发明公开的其它特征将通过以下的描述变得容易理解。
本发明实施例的可选特征和其他效果一部分在下文描述,一部分可通过阅读本文而明白。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是现有技术的云会议系统结构示意图;
图2是本发明基于多个USB摄像头平滑切换的系统结构示意图;
图3是本发明基于多个USB摄像头平滑切换的系统执行多个USB摄像头平滑切换的方法流程示意图;
图4是本发明基于多个USB摄像头平滑切换的方法流程图;
图5是本发明基于多个USB摄像头平滑切换的方法的初始化步骤。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
如图1所示为现有技术的云会议系统结构示意图。其中,本端PC与远端PC使用云会议终端软件(比如腾讯会议)通过IP网络连接。本端PC可以接入USB摄像头1-n,USB摄像头1-n的切换只能通过云会议终端软件切换。该方案,1、切换过程有黑屏和卡顿,不能做到画面平滑切换;2、在会议PC操作切换不便,对于一些正式的会议也不太合适,这种切换的用户体验不好。
实施例1
本实施例公开的基于多个USB摄像头平滑切换的系统结构。图2示出了本发明实施例第一方面公开的基于多个USB摄像头平滑切换的系统结构示意图。所述系统包括USB摄像头切换器、多个USB摄像头、以及云会议终端;USB摄像头切换器包括消息处理模块、虚拟USB摄像头模块、设备管理模块。
本实施例,USB摄像头切换器主要硬件接口包括:对外提供一个USB Device接口、多个USB Host接口、按键接口、无线接口和IP接口。其中:
(1)USB Device接口:实现USB摄像头切换器连接到PC,呈现出虚拟USB摄像头设备;
(2)USB Host接口:实现USB摄像头接入USB摄像头切换器;
(3)按键接口:实现通过按键控制USB摄像头切换;
(4)无线接口:实现接收切换遥控器指令控制USB摄像头切换;
(5)IP接口:通过IP网络通过WEB控制USB摄像头切换。
USB摄像头切换器包括消息处理模块、虚拟USB摄像头模块、设备管理模块。
其中,所述消息处理模块,用于接收和解析控制消息,发送给设备管理模块处理;所述控制消息包括摄像头切换控制消息。具体地,接收和解析遥控器指令、按键消息或者WEB控制指令,发送给设备管理模块处理。
所述虚拟USB摄像头模块,用于预先构建虚拟USB摄像头;所述虚拟USB摄像头用于处理云会议终端的信令和数据请求。
所述设备管理模块,用于管理接入USB摄像头,接收消息处理模块发送的控制消息,并根据控制消息打开或关闭接入USB摄像头,建立虚拟USB摄像头与实际控制USB摄像头之间的控制和数据连接;根据摄像头切换控制消息,打开新接入USB摄像头并读取新接入USB摄像头的视频帧存入虚拟USB摄像头的缓存队列,将所述缓存队列中的视频帧发送至云会议终端。
进一步,所述虚拟USB摄像头模块,用于预先构建虚拟USB摄像头,具体包括:根据设备管理模块读取接入的多个USB摄像头及其配置描述符,生成接入USB摄像头列表;所述接入USB摄像头列表包括VID、PID、硬件接口信息和摄像头名称;解析所述配置描述符,并基于所述配置描述符生成接入USB摄像头公共能力集;将所述公共能力集添加至可选接入USB摄像头列表;所述公共能力集为USB摄像头参数数组,USB摄像头参数包括视频编码格式、分辨率、帧率、码率中的一项或多项;设备管理模块使用接入USB摄像头公共能力集,创建虚拟USB摄像头设备。
需要说明的是,本实施例,公共能力集具体为USB摄像头切换器接入所有USB摄像头参数最小公共集;接入USB摄像头列表是切换器上所有接入USB摄像头;可选接入USB摄像头列表是满足最小公共集的USB摄像头。进一步,所述云会议终端,用于读取虚拟USB摄像头及其配置描述符,按指定USB摄像头参数向虚拟USB摄像头发送打开指令;虚拟USB摄像头接收所述打开指令,并转发至设备管理模块;设备管理模块处理所述打开指令并生成打开结果,向云会议终端反馈USB摄像头打开响应;所述打开响应包括打开成功或打开失败。
进一步,所述设备管理模块处理所述打开指令并生成打开结果,包括:根据预定策略在接入USB摄像头列表中选择一个接入USB摄像头,并保存USB摄像头参数;使用USB摄像头参数打开选择的接入USB摄像头;根据接入USB摄像头打开响应,给虚拟USB摄像头返回打开响应。
进一步,消息处理模块,还用于接收遥控器、按键或者浏览器发送的摄像头切换控制消息,解析所述摄像头切换控制消息以获取新接入USB摄像头信息,并发送所述新接入USB摄像头信息至设备管理模块;
设备管理模块,还用于根据接收的所述新接入USB摄像头信息判断新接入USB摄像头是否打开;若新接入USB摄像头未打开,根据所述新接入USB摄像头信息,启动定时器并读取新接入USB摄像头的视频帧;若读取新接入USB摄像头的视频帧成功,停止当前摄像头的视频帧获取并打开新接入USB摄像头的视频帧获取;缓存获取的所述新接入USB摄像头的视频帧;关闭当前摄像头,打开新接入USB摄像头,定时获取新接入USB摄像头的视频帧并缓存至虚拟USB摄像头缓存队列;将所述缓存队列中的视频帧发送至云会议终端。
需要说明的是,新接入USB摄像头正常读取到视频帧后,先要停止当前摄像头视频帧写入USB虚拟设备,才能写入新接入摄像头视频帧,这样避免两个摄像头数据来回切换;云会议获取摄像头视频帧是基于主动请求,虚拟USB摄像头被动响应。
实施例2
如图3所示为本实施例基于多个USB摄像头平滑切换的系统执行多个USB摄像头平滑切换的方法流程示意图。其主要包括如下流程步骤:
1、初始化
(1.1)设备管理模块读取接入USB摄像头1-n的设备和配置描述符,生成接入USB摄像头列表;生成接入USB摄像头列表包含VID、PID、硬件接口信息和摄像头名称;
(1.2)解析配置描述符生成接入USB摄像头公共能力集,满足公共能力集添加到可选接入USB摄像头列表,并从接入USB摄像头列表中删除;能力集是USB摄像头参数数组,USB摄像头参数包含但不限于视频编码格式、分辨率、帧率、码率等;
(1.3)设备管理模块使用接入USB摄像头公共能力集创建虚拟USB摄像头设备。
2、打开USB摄像头
(2.1)云会议终端软件读取虚拟USB摄像头的设备和配置描述符,按指定USB参数打开虚拟USB摄像头;
(2.2)虚拟USB摄像头收到打开指令转发给设备管理模块处理,根据设备管理模块处理打开结果向云会议终端软件发送USB摄像头打开响应;
其中,根据设备管理模块处理打开结果,具体包括:
2.2.1,根据预定策略在可选接入USB摄像头列表中选择一个接入USB摄像头,并保存USB摄像头参数;
2.2.2,设备管理模块使用USB摄像头参数打开选择的接入USB摄像头;
2.2.3,根据接入USB摄像头打开响应给虚拟USB摄像头返回响应。
设备管理模块选择接入USB摄像头的预定策略包含:接入USB摄像头硬件接口顺序;接入USB摄像头检测顺序;用户自主设置。
具体地,本实施例,关于根据预定策略在可选接入USB摄像头列表中选择一个接入USB摄像头,也即摄像头切换过程中,触发切换按钮发出切换指令后,消息处理模块接收切换指令并基于设备管理模块按照接入USB摄像头硬件接口顺序或接入USB摄像头检测顺序依次切换,亦或者,切换指令包括用户自主设置的摄像头参数,则可以根据所述用户自主设置切换至目标摄像头。
3、视频帧获取
(3.1)设备管理模块定时获取打开接入USB摄像头的视频帧,获取成功发送到虚拟USB摄像头缓存队列队尾;
(3.2)虚拟USB摄像头收到云会议终端软件视频帧请求,从缓存队列头取一帧发送给云会议终端软件。
4、切换USB摄像头
(4.1)消息处理模块接收到遥控器、按键或者浏览器的切换控制消息,解析消息获取新指定的接入USB摄像头;
(4.2)设备管理模块收到消息处理模块切换消息,解析出新接入USB摄像头,判断当前是否已经打开,已打开则直接返回成功;未打开则启动平滑切换流程。
其中,平滑切换流程包括:
4.2.1,按USB摄像头参数打开新接入USB摄像头;
4.2.2,打开成功后,启动定时读取新接入USB摄像头的视频帧;
4.2.3,读取视频帧成功后,停止原有打开接入USB摄像头的视频帧获取,并将新接入USB摄像头的视频帧发送到虚拟USB摄像头缓存队列尾;
4.2.4,关闭原有打开接入USB摄像头;
(4.3)平滑切换完成之后进入“3、视频帧获取”步骤,从而将新指定的接入USB摄像头的视频帧发送至云会议终端。
5、关闭USB摄像头
(5.1)云会议终端软件关闭虚拟USB摄像头;
(5.2)虚拟USB摄像头收到关闭指令转发给设备管理模块处理,设备管理模块向已打开接入USB摄像头发送关闭消息,收到响应通过虚拟USB摄像头向云会议终端软件发送关闭响应;
(5.3)接入USB摄像头列表不为空时,重新计算公共能力集和可选接入USB摄像头列表。
6、接入USB摄像头更新处理
收到接入USB摄像头插拔消息时,虚拟USB摄像头未打开则直接按1、初始化更新;虚拟USB摄像头已打开则分以下两种情况:
(1)插入接入USB摄像头,读取设备和配置描述符,包含打开USB参数则加入可选接入USB摄像头列表;不包含打开USB参数则加入接入USB摄像头列表;
(2)拔出接入USB摄像头,未打开则直接从接入USB摄像头列表或者可选接入USB摄像头列表中删除;已打开则直接从可选接入USB摄像头列表中删除,并通知虚拟USB摄像头设备删除,虚拟摄像头通过图像提示用户接入USB摄像头已拔出。
相比于现有技术,本实施例提出的基于多个USB摄像头平滑切换的系统、方法的优点在于:能够实现多个USB摄像头平滑切换,提升用户会议中切换USB摄像头体验;支持多种切换控制接口,满足用户各种常用切换控制需求,操作方便快捷,提升用户切换控制操作体验。
实施例3
在本实施例提供了一种基于多个USB摄像头平滑切换的方法,如图4所示,所述方法包括:
S401,接收并解析摄像头控制消息,获取新接入USB摄像头信息;所述控制消息包括摄像头切换控制消息;
其中,相应的摄像头控制消息可以由遥控器、按键或者浏览器发送,并由USB摄像头切换器接收。
S402,根据所述新接入USB摄像头信息,启动定时器并读取新接入USB摄像头的视频帧。
S403,若读取新接入USB摄像头的视频帧成功,停止当前摄像头的视频帧获取并打开新接入USB摄像头的视频帧获取;缓存获取的所述新接入USB摄像头的视频帧;
S404,关闭当前摄像头,打开新接入USB摄像头,定时获取新接入USB摄像头的视频帧并缓存至虚拟USB摄像头缓存队列;将所述缓存队列中的视频帧发送至云会议终端。
具体地,消息处理模块接收到遥控器、按键或者浏览器的切换控制消息,解析消息获取新指定的接入USB摄像头;设备管理模块收到消息处理模块切换消息,解析出新接入USB摄像头,判断当前是否已经打开,已打开则直接返回成功;未打开则启动平滑切换流程。平滑切换完成之后进入基于新指定的接入USB摄像头执行视频帧获取并新接入USB摄像头的视频帧发送到虚拟USB摄像头缓存队列尾,以便于发送至云会议终端。
具体地,平滑切换流程:按USB摄像头参数打开新接入USB摄像头;打开成功后,启动定时读取新接入USB摄像头的视频帧;读取视频帧成功后,停止原有打开接入USB摄像头的视频帧获取,并将新接入USB摄像头的视频帧发送到虚拟USB摄像头缓存队列尾;关闭原有打开接入USB摄像头。
进一步,步骤S401之前,所述方法还包括初始化步骤,如图5所示,所述初始化步骤包括:
S501,读取接入的多个USB摄像头及其配置描述符,生成接入USB摄像头列表;所述接入USB摄像头列表包括VID、PID、硬件接口信息和摄像头名称。
S502,解析所述配置描述符,并基于所述配置描述符生成接入USB摄像头公共能力集;将所述公共能力集添加至可选接入USB摄像头列表;所述公共能力集为USB摄像头参数数组,USB摄像头参数包括视频编码格式、分辨率、帧率、码率中的一项或多项;
S503,使用接入USB摄像头公共能力集,创建虚拟USB摄像头设备。
进一步,所述控制消息还包括摄像头打开消息;所述方法还包括:
读取虚拟USB摄像头及其配置描述符,按指定USB摄像头参数向虚拟USB摄像头发送打开指令;
虚拟USB摄像头接收所述打开指令,并转发至设备管理模块;设备管理模块处理所述打开指令并生成打开结果,向云会议终端反馈USB摄像头打开响应;所述打开响应包括打开成功或打开失败。
进一步,所述设备管理模块处理所述打开指令并生成打开结果,包括:
根据预定策略在接入USB摄像头列表中选择一个接入USB摄像头,并保存USB摄像头参数;
使用USB摄像头参数打开选择的接入USB摄像头;
根据接入USB摄像头打开响应,给虚拟USB摄像头返回打开响应。
具体地,本实施例,设备管理模块根据预定策略在接入USB摄像头列表中选择一个接入USB摄像头,其中,关于根据预定策略在可选接入USB摄像头列表中选择一个接入USB摄像头,也即摄像头切换过程中,触发切换按钮发出切换指令后,消息处理模块接收切换指令并基于设备管理模块按照接入USB摄像头硬件接口顺序或接入USB摄像头检测顺序依次切换,亦或者,切换指令包括用户自主设置的摄像头参数,则可以根据所述用户自主设置切换至目标摄像头。
进一步,所述控制消息还包括摄像头关闭消息;所述方法还包括:
虚拟USB摄像头收到关闭指令,并转发给设备管理模块处理,设备管理模块向已打开接入USB摄像头发送关闭消息,收到响应通过虚拟USB摄像头向云会议终端反馈关闭响应;
接入USB摄像头列表不为空时,重新计算公共能力集和可选接入USB摄像头列表。
本实施,还包括摄像头的打开与关闭处理操作。
打开USB摄像头步骤中,具体通过:云会议终端软件读取虚拟USB摄像头的设备和配置描述符,按指定USB参数打开虚拟USB摄像头;虚拟USB摄像头收到打开指令转发给设备管理模块处理,根据设备管理模块处理打开结果向云会议终端软件发送USB摄像头打开响应。
具体地,设备管理模块处理打开结果,包括:根据一定策略在可选接入USB摄像头列表中选择一个接入USB摄像头,并保存USB摄像头参数;设备管理模块使用USB摄像头参数打开选择的接入USB摄像头;根据接入USB摄像头打开响应给虚拟USB摄像头返回响应。
在打开摄像头之后,打开的摄像头就可以执行视频帧的采集获取,具体地,设备管理模块定时获取打开接入USB摄像头的视频帧,获取成功发送到虚拟USB摄像头缓存队列队尾;虚拟USB摄像头收到云会议终端软件视频帧请求,从缓存队列头取一帧发送给云会议终端软件。
关闭USB摄像头步骤中,具体通过:云会议终端软件关闭虚拟USB摄像头;虚拟USB摄像头收到关闭指令转发给设备管理模块处理,设备管理模块向已打开接入USB摄像头发送关闭消息,收到响应通过虚拟USB摄像头向云会议终端软件发送关闭响应;接入USB摄像头列表不为空时,重新计算公共能力集和可选接入USB摄像头列表。
此外,本实施例还包括对于新增或者减小的摄像头之后,执行的列表更新步骤。
具体地,收到接入USB摄像头插拔消息时,若虚拟USB摄像头未打开,则按照如上第二方面涉及的初始化步骤执行初始化,以创建对应的虚拟USB摄像头设备。
若虚拟USB摄像头已打开,则分以下两种情况:(1)插入接入USB摄像头,读取设备和配置描述符,包含打开USB参数则加入可选接入USB摄像头列表;不包含打开USB参数则加入接入USB摄像头列表;(2)拔出接入USB摄像头,未打开则直接从接入USB摄像头列表或者可选接入USB摄像头列表中删除;已打开则直接从可选接入USB摄像头列表中删除,并通知虚拟USB摄像头设备删除,虚拟摄像头通过图像提示用户接入USB摄像头已拔出。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网格设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于多个USB摄像头平滑切换的系统,其特征在于,所述系统包括USB摄像头切换器、多个USB摄像头、以及云会议终端;所述USB摄像头切换器包括消息处理模块、虚拟USB摄像头模块、设备管理模块;
其中,所述消息处理模块,用于接收和解析控制消息,发送给设备管理模块处理;所述控制消息包括摄像头切换控制消息;
所述虚拟USB摄像头模块,用于预先构建虚拟USB摄像头;所述虚拟USB摄像头用于处理云会议终端的信令和数据请求;
所述设备管理模块,用于管理接入USB摄像头,接收消息处理模块发送的控制消息,并根据控制消息打开或关闭接入USB摄像头,建立虚拟USB摄像头与实际控制USB摄像头之间的控制和数据连接;根据摄像头切换控制消息,打开新接入USB摄像头并读取新接入USB摄像头的视频帧存入虚拟USB摄像头的缓存队列,将所述缓存队列中的视频帧发送至云会议终端。
2.根据权利要求1所述基于多个USB摄像头平滑切换的系统,其特征在于,所述虚拟USB摄像头模块,用于预先构建虚拟USB摄像头,具体包括:
根据设备管理模块读取接入的多个USB摄像头及其配置描述符,生成接入USB摄像头列表;所述接入USB摄像头列表包括VID、PID、硬件接口信息和摄像头名称;
解析所述配置描述符,并基于所述配置描述符生成接入USB摄像头公共能力集;将所述公共能力集添加至可选接入USB摄像头列表;所述公共能力集为USB摄像头参数数组,USB摄像头参数包括视频编码格式、分辨率、帧率、码率中的一项或多项;
设备管理模块使用接入USB摄像头公共能力集,创建虚拟USB摄像头设备。
3.根据权利要求2所述基于多个USB摄像头平滑切换的系统,其特征在于,所述云会议终端,用于读取虚拟USB摄像头及其配置描述符,按指定USB摄像头参数向虚拟USB摄像头发送打开指令;
虚拟USB摄像头接收所述打开指令,并转发至设备管理模块;设备管理模块处理所述打开指令并生成打开结果,向云会议终端反馈USB摄像头打开响应;所述打开响应包括打开成功或打开失败。
4.根据权利要求3所述基于多个USB摄像头平滑切换的系统,其特征在于,所述设备管理模块处理所述打开指令并生成打开结果,包括:
根据预定策略在接入USB摄像头列表中选择一个接入USB摄像头,并保存USB摄像头参数;
使用USB摄像头参数打开选择的接入USB摄像头;
根据接入USB摄像头打开响应,给虚拟USB摄像头返回打开响应。
5.根据权利要求4所述基于多个USB摄像头平滑切换的系统,其特征在于,消息处理模块,还用于接收遥控器、按键或者浏览器发送的摄像头切换控制消息,解析所述摄像头切换控制消息以获取新接入USB摄像头信息,并发送所述新接入USB摄像头信息至设备管理模块;
设备管理模块,还用于根据接收的所述新接入USB摄像头信息判断新接入USB摄像头是否打开;若新接入USB摄像头未打开,根据保存的USB摄像头参数打开新接入USB摄像头,启动定时器并读取新接入USB摄像头的视频帧;
若读取新接入USB摄像头的视频帧成功,停止当前摄像头的视频帧写入虚拟USB摄像头的缓存队列;将新接入USB摄像头的视频帧写入虚拟USB摄像头的缓存队列;
停止当前摄像头的视频帧定时获取,关闭当前摄像头。
6.一种基于多个USB摄像头平滑切换的方法,其特征在于,所述方法包括:
接收并解析摄像头控制消息,获取新接入USB摄像头信息;所述控制消息包括摄像头切换控制消息;
根据所述新接入USB摄像头信息,按指定参数打开USB摄像头,启动定时器并读取新接入USB摄像头的视频帧;
若读取新接入USB摄像头的视频帧成功,停止当前摄像头的视频帧写入虚拟USB摄像头的缓存队列;将新接入USB摄像头的视频帧写入虚拟USB摄像头的缓存队列;
停止当前摄像头的视频帧定时获取,关闭当前摄像头。
7.根据权利要求6所述基于多个USB摄像头平滑切换的方法,其特征在于,接收并解析摄像头控制消息,获取新接入USB摄像头信息之前,所述方法还包括初始化步骤,所述初始化步骤包括:
读取接入的多个USB摄像头及其配置描述符,生成接入USB摄像头列表;所述接入USB摄像头列表包括VID、PID、硬件接口信息和摄像头名称;
解析所述配置描述符,并基于所述配置描述符生成接入USB摄像头公共能力集;将所述公共能力集添加至可选接入USB摄像头列表;所述公共能力集为USB摄像头参数数组,USB摄像头参数包括视频编码格式、分辨率、帧率、码率中的一项或多项;
使用接入USB摄像头公共能力集,创建虚拟USB摄像头设备。
8.根据权利要求7所述基于多个USB摄像头平滑切换的方法,其特征在于,所述控制消息还包括摄像头打开消息;所述方法还包括:
读取虚拟USB摄像头及其配置描述符,按指定USB摄像头参数向虚拟USB摄像头发送打开指令;
虚拟USB摄像头接收所述打开指令,并转发至设备管理模块;设备管理模块处理所述打开指令并生成打开结果,向云会议终端反馈USB摄像头打开响应;所述打开响应包括打开成功或打开失败。
9.根据权利要求8所述基于多个USB摄像头平滑切换的方法,其特征在于,所述设备管理模块处理所述打开指令并生成打开结果,包括:
根据预定策略在接入USB摄像头列表中选择一个接入USB摄像头,并保存USB摄像头参数;
使用USB摄像头参数打开选择的接入USB摄像头;
根据接入USB摄像头打开响应,给虚拟USB摄像头返回打开响应。
10.根据权利要求9所述基于多个USB摄像头平滑切换的方法,其特征在于,所述控制消息还包括摄像头关闭消息;所述方法还包括:
虚拟USB摄像头收到关闭指令,并转发给设备管理模块处理,设备管理模块向已打开接入USB摄像头发送关闭消息,收到响应通过虚拟USB摄像头向云会议终端反馈关闭响应;
接入USB摄像头列表不为空时,重新计算公共能力集和可选接入USB摄像头列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310601560.1A CN116347015B (zh) | 2023-05-26 | 2023-05-26 | 一种基于多个usb摄像头平滑切换的系统、方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310601560.1A CN116347015B (zh) | 2023-05-26 | 2023-05-26 | 一种基于多个usb摄像头平滑切换的系统、方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116347015A true CN116347015A (zh) | 2023-06-27 |
CN116347015B CN116347015B (zh) | 2023-10-20 |
Family
ID=86891442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310601560.1A Active CN116347015B (zh) | 2023-05-26 | 2023-05-26 | 一种基于多个usb摄像头平滑切换的系统、方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116347015B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08317378A (ja) * | 1995-05-19 | 1996-11-29 | Fujitsu General Ltd | ビデオカメラ切換装置 |
CN106790612A (zh) * | 2016-12-30 | 2017-05-31 | 深圳市杰云科技有限公司 | 一种动态虚拟摄像头映射方法和系统 |
CN107357585A (zh) * | 2017-07-13 | 2017-11-17 | 广州视源电子科技股份有限公司 | 视频获取方法、装置、视频设备及存储介质 |
CN108200341A (zh) * | 2018-01-15 | 2018-06-22 | 青岛海信移动通信技术股份有限公司 | 摄像头的无缝切换方法、装置及终端设备 |
CN114257831A (zh) * | 2021-12-21 | 2022-03-29 | 广州播丫科技有限公司 | 一种多路虚拟视频源的接入管理系统及方法 |
CN114501136A (zh) * | 2022-01-12 | 2022-05-13 | 惠州Tcl移动通信有限公司 | 图像获取方法、装置、移动终端以及存储介质 |
CN115119003A (zh) * | 2022-05-16 | 2022-09-27 | 澳克多普有限公司 | 一种虚拟摄像头在直播间的应用方法及系统 |
CN115250356A (zh) * | 2021-04-26 | 2022-10-28 | 苏州思萃人工智能研究所有限公司 | 手机多机位可切换虚拟摄像头 |
CN115379126A (zh) * | 2022-10-27 | 2022-11-22 | 荣耀终端有限公司 | 一种摄像头切换方法及相关电子设备 |
-
2023
- 2023-05-26 CN CN202310601560.1A patent/CN116347015B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08317378A (ja) * | 1995-05-19 | 1996-11-29 | Fujitsu General Ltd | ビデオカメラ切換装置 |
CN106790612A (zh) * | 2016-12-30 | 2017-05-31 | 深圳市杰云科技有限公司 | 一种动态虚拟摄像头映射方法和系统 |
CN107357585A (zh) * | 2017-07-13 | 2017-11-17 | 广州视源电子科技股份有限公司 | 视频获取方法、装置、视频设备及存储介质 |
CN108200341A (zh) * | 2018-01-15 | 2018-06-22 | 青岛海信移动通信技术股份有限公司 | 摄像头的无缝切换方法、装置及终端设备 |
CN115250356A (zh) * | 2021-04-26 | 2022-10-28 | 苏州思萃人工智能研究所有限公司 | 手机多机位可切换虚拟摄像头 |
CN114257831A (zh) * | 2021-12-21 | 2022-03-29 | 广州播丫科技有限公司 | 一种多路虚拟视频源的接入管理系统及方法 |
CN114501136A (zh) * | 2022-01-12 | 2022-05-13 | 惠州Tcl移动通信有限公司 | 图像获取方法、装置、移动终端以及存储介质 |
CN115119003A (zh) * | 2022-05-16 | 2022-09-27 | 澳克多普有限公司 | 一种虚拟摄像头在直播间的应用方法及系统 |
CN115379126A (zh) * | 2022-10-27 | 2022-11-22 | 荣耀终端有限公司 | 一种摄像头切换方法及相关电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116347015B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108933965B (zh) | 屏幕内容共享方法、装置及存储介质 | |
CN111917988B (zh) | 一种云手机的远程摄像头应用方法、系统及介质 | |
US6646677B2 (en) | Image sensing control method and apparatus, image transmission control method, apparatus, and system, and storage means storing program that implements the method | |
KR100791415B1 (ko) | 웹카메라를 이용한 감시장치의 데이터 전송시스템 | |
US20060007318A1 (en) | Monitoring system center apparatus, monitoring-system-center program, and recording medium having recorded monitoring-system-center program | |
EP2523145A1 (en) | Method for dynamically adapting video image parameters for facilitating subsequent applications | |
US20060233192A1 (en) | Display control method and information processing apparatus | |
KR20140118014A (ko) | 클라이언트 인증 방법 | |
CN113329240A (zh) | 投屏的方法及装置 | |
US20110255590A1 (en) | Data transmission apparatus and method, network data transmission system and method using the same | |
US20030184651A1 (en) | Image distribution method | |
CN113225585A (zh) | 一种视频清晰度的切换方法、装置、电子设备以及存储介质 | |
CN116347015B (zh) | 一种基于多个usb摄像头平滑切换的系统、方法 | |
JP2003199097A (ja) | 監視システムセンタ装置、監視システムセンタプログラム、および監視システムセンタプログラムを記録した記録媒体 | |
CN110035253A (zh) | 一种解码上墙控制方法及装置 | |
JP2006235159A (ja) | 画像表示装置およびこれを動作させるためのプログラム | |
CN112616053A (zh) | 直播视频的转码方法、装置及电子设备 | |
KR101584304B1 (ko) | 콘텐츠 요청 장치 및 방법 | |
CN102946344A (zh) | 邀请即时通信用户发送图像的方法、客户端及系统 | |
JP2008283410A (ja) | 記録装置及び記録方法 | |
CN111144077A (zh) | 视图信息删除方法、装置、设备及计算机可读存储介质 | |
CN110351484A (zh) | 物体防拍照方法及装置 | |
CN109429041A (zh) | 摄像设备、客户端设备、方法和存储介质 | |
JP4124868B2 (ja) | 映像送信端末、映像送信端末の通信方法、及び記憶媒体 | |
JP6213238B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |