专利名称:屏幕共享及控制方法
技术领域:
本发明涉及计算机数据共享技术,具体的说是涉及一种屏幕共享及控制方法。
背景技术:
随着信息技术的不断发展,网络已成为信息传播的重要手段。基于远程控制与操作互动作为一种新的交互方式,让用户不需要身临其境便可以实现相同的互动,异地的观看与操作。其中桌面共享是数据共享中的一种重要应用,特别在网络视频会议、IM即时通讯工具等各类网络通讯系统中经常被用于文档展示、操作演示、协同办公等,是音视频、文本消息等交互方式重要且有效的补充。目前大多视频会议、IM即时通讯工具等使用的屏幕共享技术是采用常见的屏幕截图、本地编码、发送屏幕数据、远端解码、远端显示的过程实现。
如申请号为200910189480. X的中国专利,主要技术方案为由主控端发送桌面请求命令向被控端,被控端在接收桌面共享后,将当前屏幕内容及屏幕显示更新的内容实时发送给对端,实现屏幕共享。又如申请号为200810220423.9的中国专利,主要技术方案为通过对共享线端进行鼠标信息采集、桌面图像采集、编码压缩图像、分块、打包、发送数据包至MCU、MCU向控制端和观看者端发送图像、控制端向MCU发送控制命令、MCU转发控制命令、共享线端执行响应的控制命令从而实现了屏幕的共享与远程控制。其他的一些比较成熟的屏幕共享及控制工具如VNC,主要由一个服务端,多个客户端组成。VNC为通过采集桌面图像,在采集时采集图像变化部分,发送至客户端,客户端进行解码显示或发送命令控制。这些传统的屏幕共享技术、系统或工具在屏幕共享上均只能实现当前共享线端本机的屏幕共享,即一个共享线端,多个观看者的模式,使其在视频会议中的应用相当局限。而随着信息系统与业务的高速发展,传统的一个共享线端、多个观看者的模式已不能再满足用户需求,而需要多个共享线端、多个观看者任意查看的模式。而目前的HDMI高清共享桌面目前主要应用于一些视频会议领域,主要见于宝利通、华平等。其主要是在视频会议终端上装一个支持HDMI接口的高清采集卡,将带有HDMI接口的PC、笔记本电脑等采用高清HDMI线进行对接,然后通过桌面扩展显示方式,将桌面同时显示在当前屏幕和视频会议终端视频采集卡上。视频会议终端则将屏幕以一路视频方式广播给视频会议中其他用户。HDMI高清共享桌面虽然可以通过增加采集卡方式提供多个PC桌面共享,但其存在诸多局限性,包括需要共享屏幕的PC必须支持HDMI接口,而目前市面上较多PC或笔记本均无该接口 ;HDMI线的长度有限,而PC与终端的连接不变,具有较大局限性;视频会议终端每支持一路PC接入需装一张视频采集卡,需接入多路时需装多张,从而极大程度地提高了成本。因此目前的屏幕共享技术已经不能满足人们对于屏幕共享的需要。
发明内容
本发明所要解决的技术问题,就是针对现有技术的不足,提出一种屏幕共享及控制方法。本发明解决上述技术问题所采用的技术方案是屏幕共享及控制方法,其特征在于,包括以下步骤a.服务器和屏幕共享设备建立通信连接; b.服务器开启屏幕共享服务,屏幕共享设备与服务器建立视频传输通道;c.用户向服务器发出屏幕共享控制指令;d.服务器根据屏幕共享控制指令选择并设置屏幕共享设备,屏幕共享设备采集自身屏幕共享数据,并将采集到的屏幕共享数据发送到服务器;e.服务器将接收到的屏幕共享数据转发到接收共享数据的屏幕共享设备;f.屏幕共享设备接收并显示屏幕共享数据。具体的,步骤b还包括以下步骤b I.服务器初始化虚拟视频对象信息,开启视频转发服务;b2.屏幕共享设备初始化本地视频采集器和编码器,与服务器建立视频传输通道,所述屏幕共享设备为PC机、笔记本电脑、智能手机和平板电脑中的一种或多种。具体的,步骤b2还包括以下步骤b21.判断用户是否自行指定共享屏幕区域,若是,则进入步骤b22,若否,则默认为全屏共享并初始化视频采集器;b22.接收并解析用户输入的屏幕共享区域,并初始化视频采集器。具体的,所述视频传输通道为根据TCP或UDP传输协议建立的数据传输通道。具体的,所述屏幕共享控制指令包括视频获取请求、提供共享的屏幕共享设备信息、接收共享信息的屏幕共享设备信息、屏幕共享设备屏幕分辨率、屏幕共享范围、编码格式和视频传输码率中的一种或多种。具体的,步骤c还包括以下步骤Cl.用户向服务器发出视频获取请求;c2.服务器接收并分析用户发出的屏幕共享控制指令,解析出提供共享的屏幕共享设备的地址和接收共享信息的屏幕共享设备的地址,所述提供共享的屏幕共享设备的地址为一个或多个,所述接收共享信息的屏幕共享设备的地址为一个或多个;c3.服务器判断当前是否已接收到提供共享的屏幕共享设备的数据,若是,则直接进行转发,若否,则进入步骤c4;c4.服务器向提供共享的屏幕共享设备发起屏幕共享请求。具体的,步骤d还包括以下步骤dl.服务器获取屏幕共享设备所支持的分辨率信息,并与所支持的分辨率进行对t匕,得出服务器支持且屏幕共享设备也支持的分辨率信息组;d2.服务器将分辨率信息组反馈给用户,用户根据分辨率信息组进行屏幕共享参数设置,所述参数设置包括屏幕分辨率、屏幕抓取的起始坐标、屏幕抓取的终点坐标、屏幕共享压缩编码方式和屏幕共享码率中的一种或多种;d3.服务器将用户的参数设置信息发送到屏幕共享设备执行。
具体的,步骤e还包括以下步骤el.服务器读取接收列表中的屏幕共享设备地址;e2.将视频共享数据根据屏幕共享设备地方发送到所有的屏幕共享设备。具体的,步骤f还包括以下步骤Π.屏幕共享设备判断接收并解析屏幕共享数据,判断当前接收的屏幕共享数据是否包括了多个屏幕共享设备屏幕数据,若判断当前屏幕共享设备为一个,则直接将共享终端屏幕数据显示在屏幕上,若判断当前屏幕共享设备为多个,则进入步骤f2 ;f2.将所有屏幕共享设备屏幕数据均呈现在屏幕上,根据用户输入的控制指令进 行选择性显示。具体的,步骤f2还包括以下步骤f21.用户发出屏幕共享设备控制命令,所述控制命令包括本地屏幕显示命令和远程共享设备控制命令,所述本地屏幕显示控制命令包括显示窗口切换、放大和缩小,所述远程共享设备控制命令包括屏幕共享设备参数设置;f22.服务器接收远程共享设备控制命令并将其转发给屏幕共享设备;f23.屏幕共享设备接收并执行命令,进行参数变化检测,对未变化的参数不处理,对变化的参数进行屏幕共享采集重新初始化,对分辨率设置进行调用设备分辨率改变设置。本发明的有益效果为,实现同时共享多个PC桌面和移动设备桌面,同时在共享过程中其他用户能通过参数设置方式,远程调整设备终端的分辨率等参数,并可以在同一屏幕中同时显示多个已共享的设备屏幕,能够快捷方便的全屏放大或缩小任何一个共享桌面,满足多种情况下对桌面屏幕共享的需求。
图I为实施例的结构示意图;图2为实施例中屏幕共享设备初始化流程图;图3为实施例中用户获取屏幕共享视频流程图;图4为实施例中远程设置屏幕共享端流程图。
具体实施例方式下面结合附图和实施例,详细描述本发明的技术方案本发明提出屏幕共享及控制方法,主要包括以下步骤首先服务器和屏幕共享设备建立通信连接,这里的通信连接可以为以有线和/或无线连接方式建立的连接,根据实际使用的需要灵活选择;服务器开启屏幕共享服务,屏幕共享设备与服务器建立视频传输通道;用户向服务器发出屏幕共享控制指令;服务器根据屏幕共享控制指令选择并设置屏幕共享设备,屏幕共享设备采集自身屏幕共享数据,并将采集到的屏幕共享数据发送到服务器;服务器将接收到的屏幕共享数据转发到接收共享数据的屏幕共享设备;屏幕共享设备接收并显示屏幕共享数据。一种具体的服务器和屏幕共享设备建立视频传输通道的主要步骤为首先服务器初始化虚拟视频对象信息,开启视频转发服务;然后屏幕共享设备初始化本地视频采集器和编码器,与服务器建立视频传输通道,所述屏幕共享设备为PC机、笔记本电脑、智能手机和平板电脑中的一种或多种。本地视频采集器利用通用的屏幕视频采集技术,通过固定频率对屏幕进行图片剪切采集,将每一帧进行数据缓冲形成视频流实现视频数据的采集。固定频率指每秒采集屏幕图片的数量,通由用户指定,用户未指定的情况下采用默认值。固定频率越高,采集的视频越流畅,同时带宽占用也越高。初始化编码器是指视频网络传输前,对采集的桌面共享视频流进行视频压缩、编码的编码器。编码器采用通用技术和协议,主要包括H264、X264、MPEG4等。通常在完成初始化后,屏幕共享设备会通知MCU本地视频信息初始化完成,此时其他用户可以通过服务器接收共享视频从而接收到共享设备用户的屏幕界面一种具体的屏幕共享设备初始化本地视频采集器的方法为首先判断用户是否自行指定共享屏幕区域,若是,则接收并解析用户输入的屏幕共享区域,若否,则默认为全屏共享并初始化视频采集器。
一种方案为,所述视频传输通道为根据TCP或UDP传输协议建立的数据传输通道,通常情况下视频会议终端与待共享屏幕的设备在同一局域网内,网络传输速度较高,丢包率低,默认采用TCP连接传输。但用户也可以跟据实际需求,选择m)P或TCP传输。具体的,所述屏幕共享控制指令包括视频获取请求、提供共享的屏幕共享设备信息、接收共享信息的屏幕共享设备信息、屏幕共享设备屏幕分辨率、屏幕共享范围、编码格式和视频传输码率中的一种或多种。一种具体的服务器接收用户发出的屏幕共享控制指令的方法为首先用户向服务器发出视频获取请求;然后服务器接收并分析用户发出的屏幕共享控制指令,解析出提供共享的屏幕共享设备的地址和接收共享信息的屏幕共享设备的地址,所述提供共享的屏幕共享设备的地址为一个或多个,所述接收共享信息的屏幕共享设备的地址为一个或多个;服务器判断当前是否已接收到提供共享的屏幕共享设备的数据,若是,则直接进行转发,若否,则服务器向提供共享的屏幕共享设备发起屏幕共享请求。一种具体的屏幕共享设备设置方法为首先服务器获取屏幕共享设备所支持的分辨率信息,并与所支持的分辨率进行对t匕,得出服务器支持且屏幕共享设备也支持的分辨率信息组;然后服务器将分辨率信息组反馈给用户,用户根据分辨率信息组进行屏幕共享参数设置,所述参数设置包括屏幕分辨率、屏幕抓取的起始坐标、屏幕抓取的终点坐标、屏幕共享压缩编码方式和屏幕共享码率中的一种或多种;最后服务器将用户的参数设置信息发送到屏幕共享设备执行。一种具体的服务器进行屏幕共享数据发送的方法为首先服务器读取接收列表中的屏幕共享设备地址;然后将视频共享数据根据屏幕共享设备地方发送到所有的屏幕共享设备。一种具体的屏幕共享设备接收并显示屏幕共享数据的方法为首先屏幕共享设备判断接收并解析屏幕共享数据,判断当前接收的屏幕共享数据是否包括了多个屏幕共享设备屏幕数据,若判断当前屏幕共享设备为一个,则直接将共享终端屏幕数据显示在屏幕上,若判断当前屏幕共享设备为多个,则将所有屏幕共享设备屏幕数据均呈现在屏幕上,根据用户输入的控制指令进行选择性显示。选择性显示是指用户可以控制当前同一屏幕以相同大小方式呈现多个共享的屏幕视频,并可以任意更换屏幕呈现的位置。也可以在当前屏幕着重较大显示一个共享的屏幕视频,其他共享的屏幕视频以较小的方式显示。同时还可以全屏显示任意一个共享的屏幕视频。并且同一屏幕在显示屏幕共享的视频信息流时,也可以同时显示视频会议的其他信息,包括其他视频、电子白板、文字聊天、文档共享、多媒体共享等。—种更具体的用户控制屏幕共享设备的方法为首先用户发出屏幕共享设备控制命令,所述控制命令包括本地屏幕显示命令和远程共享设备控制命令,所述本地屏幕显示控制命令包括显示窗口切换、放大和缩小,所述远程共享设备控制命令包括屏幕共享设备参数设置;然后服务器接收远程共享设备控制命令并将其转发给屏幕共享设备;最后屏幕共享设备接收并执行命令,进行参数变化检测,对未变化的参数不处理,对变化的参数进行屏幕共享采集重新初始化,对分辨率设置进行调用设备分辨率改变设置。
为了更好的说明本发明的技术方案,下面通过将本发明应用于视频会议系统的实施例来详细的描述本发明的具体实现过程实施例如图I所示,为本发明应用于视频会议系统的结构示意图,其中,终端为视频会议系统终端,WindowsClient为操作系统端,MCU为服务器,本例中共三个屏幕共享设备,分别为屏幕共享设备I、屏幕共享设备2和屏幕共享设备3。本例应用本发明所述的方案实现在视频会议系统中进行屏幕共享与控制的具体步骤如下I.首先启动视频会议系统,登录MCU服务器;视频会议系统登录MCU服务器的方式包括用户名、密码方式登录、匿名登录、会议室密码等多种方式。2.登录视频会议系统后,点击屏幕共享切换按钮切换到屏幕共享模式,此时开始启用屏幕共享功能。在切换屏幕共享模式时,系统将会先关闭视频会议系统其他的相关信息,包括音视频、电子白板、文字聊天、主讲屏幕共享、媒体共享等视频会议所包含的功能,主要目的为释放系统资源,当完成本步骤后,系统通知MCU服务器切换屏幕共享模式。完成通知后客户端调用并退出视频会议系统功能,结束视频会议相关功能,同时自动登录MCU启用屏幕共享服务。3.启动屏幕共享服务重新登录MCU成功后,开始初始化虚拟视频对象信息和本地屏幕共享视频采集器。屏幕共享设备初始化的具体流程如图2所示屏幕共享设备接收到屏幕共享命令后,首先停止视频会议相关功能进程,退出视频会议系统功能,然后自动冲洗登录服务器,在本地创建视频信息对象,然后向MCU服务器登录一个视频连接数据LoginMediaServer,接着获取MCU注册结果,如果注册失败,则切换回视频会议模式,注册成功后,开始获取视频会议支持且屏幕支持的分辨率,设置屏幕分辨率为二者均可支持的范围,最后初始化本地采集器和视频对象信息完成屏幕共享初始化。其中在创建抽象视频数据对象时,与视频会议系统中的具体摄像头数据对象创建相同,具有相同行为与属性,但其行为与属性的具体体现方式不同。区别在于启动具体摄像头采集视频数据时,其行为实现为调用视频采集卡,通过摄像头采集图像信息,返回视频会议系统,而抽象的视频数据对象采集数据时需接收桌面共享设备发送的数据并进行转发。其摄像头相关参数设置与屏幕控制相关操作属性及行为也存在一些区别。其中本地视频采集器是利用通用的屏幕视频采集技术,通过固定频率对屏幕进行图片剪切采集,将每一帧进行数据缓冲形成视频流实现视频数据的采集。固定频率指每秒采集屏幕图片的数量,通由用户指定,用户未指定的情况下采用默认值。固定频率越高,采集的视频越流畅,同时带宽占用也越高。同时在初始化本地视频采集器时,可由用户指定共享屏幕的区域,通常根据起点坐标和终点坐标计算。未指定共享屏幕区域时,通常默认为全屏共享。初始化编码器是指视频网络传输前,对采集的桌面共享视频流进行视频压缩、编码的编码器。编码器采用通用技术和协议,主要包括H264、X264、MPEG4等。4.本地屏幕共享设备完成初始化后,与服务器建立视频传输通道。当本地屏幕共享设备完成初始化后将通知MCU本地视频信息初始化完成,此时其他用户可以通过接收视频接收到共享设备用户的屏幕界面。5.用户端需要接收屏幕共享视频数据时,向MCU发起视频获取请求。
如图3所示,用户获取屏幕共享视频的具体流程为当MCU在接收到用户的视频请求时,首选判断MCU服务器是否有接收到待共享屏幕的视频流数据。如果MCU已接收该视频流数据时,直接将视频流数据转发给观看端。如果MCU未接收到屏幕共享用户的视频流数据时,则向屏幕共享用户端发起屏幕共享请求。屏幕共享端在接收到MCU的命令请求时,使用初始化好的本地屏幕采集器采集屏幕视频流、压缩编码、发送视频流信息向MCU。MCU接收到视频流信息时,将视频流信息转发给观看端。观看端接收到视频流信息时,采用与本地屏幕采集器使用的压缩编码相匹配的解压缩解码对流进行解码操作,然后播放给用户观看。6.在视频会议的其他桌面共享观看端,拥有操作共享屏幕设置权限用户可以发起屏幕操作控制命令。远程设置屏幕共享端的具体方法如图4所示客户端将屏幕操作控制命令发送到MCU。其中屏幕操作控制包括设置被共享屏幕的分辨率、设置屏幕共享的范围、设置编码格式、设置视频传输码率等。在设置被共享屏幕分辨率时,先向MCU发起屏幕支持的分辨率获取请求,MCU将屏幕分辨率请求转发给屏幕共享的用户端。屏幕共享用户端获取本地设备所支持的屏幕分辨率数据信息并与视频会议系统所支持的分辨率进行比对,得出视频会议系统支持且屏幕共享设备也支持的分辨率信息组发送给MCU服务器,MCU服务器将分辨率信息转发到请求分辨率数据的视频会议客户端。用户在获取到可以设置的分辨率后,对屏幕共享的参数信息进行设置,并将设置后的信息发送到MCU服务器端。其中所述的屏幕共享参数设置包括屏幕分辨率、屏幕抓取的起始坐标、屏幕抓取的终点坐标、屏幕共享压缩编码方式、屏幕共享码率设置等。MCU接收到视频会议客户端发送的信息及命令并转发给屏幕共享的视频会议用户端。用户执行相关命令。在屏幕共享端用户执行相关命令时,需检查参数变化情况,对未变化的参数不处理;对变化的参数进行屏幕共享采集重新初始化;对分辨率设置进行调用设备分辨率改变设置。从而实现视频会议客户端上对多路屏幕共享的管理。
权利要求
1.屏幕共享及控制方法,其特征在于,包括以下步骤 a.服务器和屏幕共享设备建立通信连接; b.服务器开启屏幕共享服务,屏幕共享设备与服务器建立视频传输通道; c.用户向服务器发出屏幕共享控制指令; d.服务器根据屏幕共享控制指令选择并设置屏幕共享设备,屏幕共享设备采集自身屏幕共享数据,并将采集到的屏幕共享数据发送到服务器; e.服务器将接收到的屏幕共享数据转发到接收共享数据的屏幕共享设备; f.屏幕共享设备接收并显示屏幕共享数据。
2.根据权利要求I所述的屏幕共享及控制方法,其特征在于,步骤b还包括以下步骤 bl.服务器初始化虚拟视频对象信息,开启视频转发服务; b2.屏幕共享设备初始化本地视频采集器和编码器,与服务器建立视频传输通道,所述屏幕共享设备为PC机、笔记本电脑、智能手机和平板电脑中的一种或多种。
3.根据权利要求I或2所述的屏幕共享及控制方法,其特征在于,步骤b2还包括以下步骤 b21.判断用户是否自行指定共享屏幕区域,若是,则进入步骤b22,若否,则默认为全屏共享并初始化视频采集器; b22.接收并解析用户输入的屏幕共享区域,并初始化视频采集器。
4.根据权利要求3所述的屏幕共享及控制方法,其特征在于,所述视频传输通道为根据TCP或UDP传输协议建立的数据传输通道。
5.根据权利要求I 4任意一项所述的屏幕共享及控制方法,其特征在于,所述屏幕共享控制指令包括视频获取请求、提供共享的屏幕共享设备信息、接收共享信息的屏幕共享设备信息、屏幕共享设备屏幕分辨率、屏幕共享范围、编码格式和视频传输码率中的一种或多种。
6.根据权利要求5所述的屏幕共享及控制方法,其特征在于,步骤c还包括以下步骤 Cl.用户向服务器发出视频获取请求; c2.服务器接收并分析用户发出的屏幕共享控制指令,解析出提供共享的屏幕共享设备的地址和接收共享信息的屏幕共享设备的地址,所述提供共享的屏幕共享设备的地址为一个或多个,所述接收共享信息的屏幕共享设备的地址为一个或多个; c3.服务器判断当前是否已接收到提供共享的屏幕共享设备的数据,若是,则直接进行转发,若否,则进入步骤c4; c4.服务器向提供共享的屏幕共享设备发起屏幕共享请求。
7.根据权利要求5所述的屏幕共享及控制方法,其特征在于,步骤d还包括以下步骤 dl.服务器获取屏幕共享设备所支持的分辨率信息,并与所支持的分辨率进行对比,得出服务器支持且屏幕共享设备也支持的分辨率信息组; d2.服务器将分辨率信息组反馈给用户,用户根据分辨率信息组进行屏幕共享参数设置,所述参数设置包括屏幕分辨率、屏幕抓取的起始坐标、屏幕抓取的终点坐标、屏幕共享压缩编码方式和屏幕共享码率中的一种或多种; d3.服务器将用户的参数设置信息发送到屏幕共享设备执行。
8.根据权利要求6或7所述的屏幕共享及控制方法,其特征在于,步骤e还包括以下步骤el.服务器读取接收列表中的屏幕共享设备地址;e2.将视频共享数据根据屏幕共享设备地方发送到所有的屏幕共享设备。
9.根据权利要求8所述的屏幕共享及控制方法,其特征在于,步骤f还包括以下步骤 fl.屏幕共享设备判断接收并解析屏幕共享数据,判断当前接收的屏幕共享数据是否包括了多个屏幕共享设备屏幕数据,若判断当前屏幕共享设备为一个,则直接将共享终端屏幕数据显示在屏幕上,若判断当前屏幕共享设备为多个,则进入步骤f2 ; f2.将所有屏幕共享设备屏幕数据均呈现在屏幕上,根据用户输入的控制指令进行选择性显示。
10.根据权利要求9所述的屏幕共享及控制方法,其特征在于,步骤f2还包括以下步骤 f21.用户发出屏幕共享设备控制命令,所述控制命令包括本地屏幕显示命令和远程共享设备控制命令,所述本地屏幕显示控制命令包括显示窗口切换、放大和缩小,所述远程共享设备控制命令包括屏幕共享设备参数设置; f22.服务器接收远程共享设备控制命令并将其转发给屏幕共享设备;f23.屏幕共享设备接收并执行命令,进行参数变化检测,对未变化的参数不处理,对变化的参数进行屏幕共享采集重新初始化,对分辨率设置进行调用设备分辨率改变设置。
全文摘要
本发明涉及计算机数据共享技术,具体的说是涉及一种屏幕共享及控制方法。本发明所述的方法主要技术方案为服务器和屏幕共享设备建立通信连接并开启屏幕共享服务,屏幕共享设备与服务器建立视频传输通道;服务器选择并设置屏幕共享设备,屏幕共享设备采集自身屏幕共享数据,并发送到服务器;服务器将屏幕共享数据进行转发;屏幕共享设备接收并显示屏幕共享数据。本发明的有益效果为,实现同时共享多个PC桌面和移动设备桌面,同时在共享过程中其他用户能通过参数设置方式,远程调整设备终端的分辨率等参数,并可以在同一屏幕中同时显示多个已共享的设备屏幕,满足多种情况下对桌面屏幕共享的需求。本发明尤其适用于视频会议系统。
文档编号H04N7/15GK102883135SQ201210430978
公开日2013年1月16日 申请日期2012年11月1日 优先权日2012年11月1日
发明者刘天成, 高锦欣 申请人:成都飞视美视频技术有限公司