屏幕内容共享方法、装置及存储介质与流程

文档序号:16149948发布日期:2018-12-05 17:22阅读:228来源:国知局
屏幕内容共享方法、装置及存储介质与流程

本发明涉及网络信息技术领域,特别是涉及一种屏幕内容共享方法、一种屏幕内容共享装置、及一种计算机存储介质。

背景技术

随着网络信息技术的快速发展,多方终端之间的信息共享的需求和应用也日益众多,其中例如多终端之间的多人视频会话等应用。在多人视频会话中,各终端本地的摄像设备采集视频图像,并将采集的视频图像通过后台服务器分发给其他终端。由于在多人视频会话的过程中,各终端会将本地的视频图像通过服务器即时地分发到其他终端,因而在各种网络视频会议中得到了使用。然而,在这种多人视频会话中,只能将终端的摄像设备采集到的视频图像分发到其他终端,无法提供更多的分享内容的互动和交互,从而制约了多方信息共享的应用。



技术实现要素:

基于此,本发明实施例的目的在于提供一种屏幕内容共享方法、一种屏幕内容共享装置、及存储介质,以提高信息共享时的分享内容的互动性能和交互性能。

为达到上述目的,一个实施例中采用以下技术方案:

一种屏幕内容共享方法,包括步骤:

在通过视频会话界面接收到屏幕内容共享指令时,向后台服务器发送屏幕内容共享请求,所述屏幕内容共享请求包括第一用户标识;

在接收到所述后台服务器返回的共享确认消息时,切换到内容分享界面,并设置内容分享界面的屏幕共享视频源;

向所述后台服务器发送屏幕共享通知消息,由后台服务器将所述屏幕共享通知消息向各第二用户标识对应的各第二用户终端发送,所述第一用户标识与各所述第二用户标识与所述视频会话界面对应的视频会话房间标识关联;

获取所述屏幕共享视频源的待分享屏幕内容数据,将所述待分享屏幕内容数据在所述内容分享界面的分享内容显示子窗口显示,并将所述待分享屏幕内容数据发送给各所述第二用户终端。

一种屏幕内容共享方法,包括:

接收第一用户终端发送的屏幕内容共享请求,所述屏幕内容共享请求包括所述第一用户终端的第一用户标识;

获取与所述第一用户标识关联的视频会话房间标识,向所述第一用户终端返回共享确认消息;

接收所述第一用户终端根据所述共享确认消息将视频会话界面切换到内容分享界面、并设置内容分享界面的屏幕共享视频源之后发送的屏幕共享通知消息;

将所述屏幕共享通知消息向与所述视频会话房间标识关联的、除了所述第一用户标识之外的各第二用户标识对应的各第二用户终端发送。

一种屏幕内容共享装置,包括:

分享请求模块,用于在通过视频会话界面接收到屏幕内容共享指令时,向后台服务器发送屏幕内容共享请求,所述屏幕内容共享请求包括第一用户标识;

第一界面切换模块,用于在接收到所述后台服务器返回的共享确认消息时,切换到内容分享界面,并设置内容分享界面的屏幕共享视频源;

第一共享通知模块,用于向所述后台服务器发送屏幕共享通知消息,由后台服务器将所述屏幕共享通知消息向各第二用户标识对应的各第二用户终端发送,所述第一用户标识与各所述第二用户标识与所述视频会话界面对应的视频会话房间标识关联;

内容共享模块,用于获取所述屏幕共享视频源的待分享屏幕内容数据,将所述待分享屏幕内容数据在所述内容分享界面的分享内容显示子窗口显示,并将所述待分享屏幕内容数据发送给各所述第二用户终端。

一种屏幕内容共享装置,包括:

分享请求响应模块,用于接收第一用户终端发送的屏幕内容共享请求,所述屏幕内容共享请求包括所述第一用户终端的第一用户标识;并获取与所述第一用户标识关联的视频会话房间标识,向所述第一用户终端返回共享确认消息;

第二共享通知模块,用于接收所述第一用户终端根据所述共享确认消息将视频会话界面切换到内容分享界面、并设置内容分享界面的屏幕共享视频源之后发送的屏幕共享通知消息,并将所述屏幕共享通知消息向与所述视频会话房间标识关联的、除了所述第一用户标识之外的各第二用户标识对应的各第二用户终端发送。

一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的屏幕内容共享方法。

根据如上所述的实施例的方案,终端可以通过视频会话界面接收屏幕内容共享指令,并向后台服务器发送屏幕内容共享请求,终端在接收到后台服务器的共享确认消息后可切换至内容分享界面,并设置好屏幕共享视频源,并经由后台服务器通知到进行屏幕共享的其他各第二用户终端,从而实现了在视频会话的过程中的当前用户终端与其他各第二用户终端之间的内容共享,即在需要进行屏幕内容共享时,直接基于视频会话过程就可以发起屏幕内容的共享,基于进行视频会话的视频会话房间标识关联的各用户终端,即可以确定进行屏幕内容共享的各共享方,无需专门使用特定的屏幕内容共享系统,也无需专门为了屏幕内容的共享特意进行注册、登记、连接等处理,不仅提高了信息共享时的分享内容的互动性能和交互性能,而且提高了屏幕内容共享的便利性和快捷性。

附图说明

图1是一个本实施例方案的工作环境的示意图;

图2是一个实施例的用户终端的组成结构的示意图;

图3是一个实施例的服务器的组成结构的示意图;

图4是一个实施例中的屏幕内容共享方法的流程示意图;

图5是另一个实施例中的屏幕内容共享方法的流程示意图;

图6是另一个实施例中的屏幕内容共享方法的流程示意图;

图7是一个具体应用示例的屏幕内容共享时的交互流程示意图;

图8是一个具体应用示例中的屏幕内容共享时的终端的处理框架示意图;

图9是一个具体应用示例中的发起屏幕内容共享时的流程示意图;

图10是一个具体应用示例中的结束屏幕内容共享时的流程示意图;

图11是一个具体应用示例中的视频会话界面的示意图;

图12是一个具体应用示例中的内容分享界面的示意图;

图13是一个实施例中的屏幕内容共享装置的结构示意图;

图14是另一个实施例中的屏幕内容共享装置的结构示意图;

图15是另一个实施例中的屏幕内容共享装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“或/及”包括一个或多个相关的所列项目的任意的和所有的组合。

图1示出了本发明一个实施例中的工作环境示意图,如图1所示,其工作环境涉及终端101、终端102以及后台服务器103,还可能涉及视频数据服务器104。终端101、终端102以及后台服务器103可以通过网络进行通信,终端101与各终端102之间可以经由后台服务器103进行即时通信,并在此基础上进行视频会话。在视频会话时,终端101的视频数据可以经由后台服务器103发送给各终端102,各终端102的视频数据也经由后台服务器103发送给终端101。在一些实施例中,在视频会话时,终端101的视频数据可以经由视频数据服务器发送到各终端102,各终端102的视频数据也可以经由视频数据服务器发送到终端102。不经过后台服务器,而是经由网络直接发送给终端102。在本发明实施例中,在视频会话的过程中,可以同时进行屏幕内容共享,例如终端101的屏幕内容共享给其他终端102。在屏幕内容共享时,终端101的待分享屏幕内容数据可以经由后台服务器103发送给各终端102,也可以经由数据平台服务器104发送给各终端102。本发明实施例涉及的是终端101与终端102进行屏幕内容共享时的处理方案。

用户终端101、102在一个实施例中的结构示意图如图2所示。该用户终端包括通过系统总线连接的处理器、非易失性存储介质、通信接口、电源接口和内存。其中,用户终端的处理器用于提供计算和控制能力,支撑整个用户终端的运行。用户终端的非易失性存储介质存储有操作系统和一种屏幕内容共享装置的计算机应用程序,该屏幕内容共享装置的计算机应用程序被处理器执行时,实现一种屏幕内容共享方法。用户终端的存储器为非易失性存储介质中的屏幕内容共享装置的运行提供环境。用户终端的网络接口用于与其他终端以及后台服务器、视频数据服务器通过网络连接和通信,用户终端的电源接口用于与外部电源连接,外部电源通过该电源接口向用户终端供电。用户终端可以是任何一种能够实现智能输入输出的设备,例如移动终端,比如手机、平板电脑等;也可以是其它具有上述结构的设备。

图3为一个实施例中服务器103的组成结构示意图。如图3所示,服务器包括通过系统总线连接的处理器、供电模块、存储介质、内存和通信接口。其中,处理器用于提供计算和控制能力,支撑整个服务器的运行。服务器的存储介质存储有操作系统、数据库和一种屏幕内容共享装置的计算机程序,该屏幕内容共享装置的计算机程序被处理器执行时,实现一种屏幕内容共享方法。服务器中的内存为存储介质中的计算机程序运行提供环境,通信接口用于与各用户终端以及视频数据服务器进行网络通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与实施例方案相关的部分结构的框图,并不构成对本实施例方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图4示出了一个实施例中的屏幕内容共享方法的流程示意图,该实施例中是以进行屏幕内容共享的第一用户终端101的处理过程为例进行说明。

如图4所示,该实施例中的屏幕内容共享方法包括:

步骤s401:在通过视频会话界面接收到屏幕内容共享指令时,向后台服务器发送屏幕内容共享请求,所述屏幕内容共享请求包括第一用户标识;

步骤s402:在接收到所述后台服务器返回的共享确认消息时,切换到内容分享界面,并设置内容分享界面的屏幕共享视频源;

步骤s403:向所述后台服务器发送屏幕共享通知消息,由后台服务器将所述屏幕共享通知消息向各第二用户标识对应的各第二用户终端发送,所述第一用户标识与各所述第二用户标识与所述视频会话界面对应的视频会话房间标识关联;

步骤s404:获取所述屏幕共享视频源的待分享屏幕内容数据,将所述待分享屏幕内容数据在所述内容分享界面的分享内容显示子窗口显示,并将所述待分享屏幕内容数据发送给各所述第二用户终端。

根据如上所述的实施例的方案,终端可以通过视频会话界面接收屏幕内容共享指令,并向后台服务器发送屏幕内容共享请求,终端在接收到后台服务器的共享确认消息后可切换至内容分享界面,并设置好屏幕共享视频源,并经由后台服务器通知到进行屏幕共享的其他各第二用户终端,从而实现了在视频会话的过程中的当前用户终端与其他各第二用户终端之间的内容共享,即在需要进行屏幕内容共享时,直接基于视频会话过程就可以发起屏幕内容的共享,基于进行视频会话的视频会话房间标识关联的各用户终端,即可以确定进行屏幕内容共享的各共享方,无需专门使用特定的屏幕内容共享系统,也无需专门为了屏幕内容的共享特意进行注册、登记、连接等处理,不仅提高了信息共享时的分享内容的互动性能和交互性能,且提高了屏幕内容共享的便利性和快捷性。

其中,在上述通过视频会话界面接收屏幕内容共享指令时,可以采用任何可能的方式进行,例如,视频会话界面上可以设置有分享按钮,通过视频会话界面上的该分享按钮接收该屏幕内容共享指令。

本实施例的屏幕内容共享方法,可以对终端屏幕上显示的任何内容进行分享,因此,在实际技术应用中,可以由终端用户来选择要共享的是什么内容。具体的选择可以在任何可能的方式进行,只要在步骤s104将待分享屏幕内容数据进行显示和发送给第二用户终端之前,能够确定分享的屏幕内容即可。

在一个示例中,可以在接收到屏幕内容共享指令时,向后台服务器发送屏幕内容共享请求之前进行选择。此时,可以在上述通过视频会话界面接收到屏幕内容共享指令之后,向后台服务器发送屏幕内容共享请求之前,接收选择指令,所述选择指令包括待分享内容标识,所述待分享内容标识为窗口标识或桌面屏幕标识。此时,在上述设置内容分享界面的屏幕共享视频源时,可以将采集的与所述待分享内容标识对应的视频数据设置为所述屏幕共享视频源即可。

在另一个示例中,可以在接收到后台服务器返回的共享确认消息之后进行。此时,在上述设置内容分享界面的屏幕共享视频源时,可以采用下述方式进行:

接收选择指令,所述选择指令包括待分享内容标识,所述待分享内容标识为窗口标识或者桌面屏幕标识;

将采集的与所述待分享内容标识对应的视频数据设置为所述屏幕共享视频源。

在一个具体示例中,可以通过扫描当前所在用户终端的所有进程,获取所有进程的进程窗口信息;获取桌面截图;将获得的进程窗口信息以及桌面截图进行显示;并从显示进程窗口信息以及桌面截图的显示界面接收所述窗口分享选择指令。

进一步地,在上述待分享内容标识为窗口标识时,还可以进一步捕获光标在屏幕上的第一位置坐标;并对所述第一位置坐标进行转换,获得所述光标相对于所述窗口标识对应的窗口区域的第二位置坐标。此时,上述待分享屏幕内容数据还包括该第二位置坐标。从而,可以在进行屏幕内容共享的同时,还将用户终端的光标共享到其他用户终端。

进一步地,在一个示例中,还可以在接收到屏幕共享停止指令时,向所述后台服务器发送屏幕共享结束请求。并在接收到所述后台服务器根据所述屏幕共享结束请求返回的结束确认消息时,切换到视频会话界面,停止采集所述视频共享视频源的数据,并向所述后台服务器发送停止分享消息,由所述后台服务将所述停止分享消息向各所述第二用户终端发送。

在另一个示例中,上述共享确认消息、屏幕共享通知消息可以包括视频数据服务器的地址信息。此时,将所述待分享屏幕内容数据发送给各所述第二用户终端时,可以将所述待分享屏幕内容数据发送给视频数据服务器后,通过所述视频数据服务器发送给各所述第二用户终端。另一方面,也可以是将所述待分享屏幕内容数据发送给视频数据服务器后,由各所述第二用户终端每隔预定时间段根据所述视频数据服务器的地址信息,从所述视频数据服务器下载所述待分享屏幕内容数据。

相对应地,图5中示出了另一实施例中的屏幕内容共享方法的流程示意图。该实施例中是以后台服务器103的处理过程为例进行说明。

如图5所示,该实施例中的屏幕内容共享方法包括:

步骤s501:接收第一用户终端发送的屏幕内容共享请求,所述屏幕内容共享请求包括所述第一用户终端的第一用户标识;

步骤s502:获取与所述第一用户标识关联的视频会话房间标识,向所述第一用户终端返回共享确认消息;

步骤s503:接收所述第一用户终端根据所述共享确认消息将视频会话界面切换到内容分享界面、并设置内容分享界面的屏幕共享视频源之后发送的屏幕共享通知消息;

步骤s504:将所述屏幕共享通知消息向与所述视频会话房间标识关联的、除了所述第一用户标识之外的各第二用户标识对应的各第二用户终端发送。

在一个示例中,后台服务器在获取与所述第一用户标识关联的视频会话房间标识之后,还可以先将所述视频会话房间标识对应的视频会话房间的状态设定为锁定状态,然后再向所述第一用户终端返回共享确认消息。从而避免其他用户终端也发起屏幕内容共享请求产生的冲突的问题。

在另一个示例中,上述共享确认消息、屏幕共享通知消息中可以包括由视频数据服务器的地址信息。从而在后续的屏幕内容共享的过程中,第一用户终端可以经由视频数据服务器将需要共享的待分享屏幕内容数据发送到各第二用户终端。

在另一个示例中,还可以接收第一用户终端发送的屏幕共享结束请求,其中屏幕共享结束请求包括第一用户标识;并向所述第一用户终端返回结束确认消息;并接收第一用户终端根据所述结束确认消息返回的停止分享消息,将所述停止分享消息向各所述第二用户终端发送。其中,在之前已经将所述视频会话房间标识对应的视频会话房间的状态设定为锁定状态的情况下,在接收到第一用户终端发送的停止分享消息之后,还可以将视频会话房间标识对应视频会话房间的状态设定为非锁定状态。

图6示出了另一个实施例中的屏幕内容共享方法的流程示意图,该实施例中是以被分享终端(例如图1中所述的第二用户终端)的处理过程为例进行说明。

如图6所示,该实施例中的屏幕内容共享方法包括:

步骤s601:接收后台服务器发送的屏幕共享通知消息,屏幕共享通知消息包括第一用户标识;

步骤s602:根据所述屏幕共享通知消息从视频会话界面切换到内容分享界面;

步骤s603:接收所述第一用户标识对应的第一用户终端发送的待分享屏幕内容数据,并将所述待分享屏幕内容数据在所述内容分享界面的分享内容显示子窗口显示。

在一个具体示例中,上述待分享屏幕内容数据还可以包括:光标相对于所述待分享屏幕内容数据中的窗口区域的第二位置坐标。此时,在将待分享屏幕内容数据在所述内容分享界面的分享内容显示子窗口显示时,可以同时在分享内容显示子窗口中的所述第二位置坐标处显示光标。

在另一个实施例中,上述屏幕共享通知消息还可以包括视频数据服务器的地址信息。据此,在一个具体示例中,该第二用户终端可以从视频数据服务器接收待分享屏幕内容数据。在另一个具体示例中,该第二用户终端可以是根据所述视频数据服务器的地址信息,每隔预定时间段从所述视频数据服务器下载所述待分享屏幕内容数据。

基于如上所述的各实施例,图7示出了一个具体应用示例中的屏幕内容共享时的交互流程示意图。该示例中是以一个具体的视频会话过程中同时进行屏幕内容共享的各设备之间的交互流程为例进行说明。

在图7所示中,假设是由第一用户终端发起视频会话请求。可以理解的是,也可以是由其他的用户终端发起视频会话请求,在本发明实施例中,发起视频会话请求的终端与发起屏幕内容共享请求的终端无需限定是同一个用户终端。

结合图7所示,在实际技术应用中,第一用户终端在需要进行接收到终端用户通过点击“视频会话”、“视频聊天”等相关按钮发出的视频通话指令时,向后台服务器发送视频通话请求,该视频通话请求携带有该第一用户终端的第一用户标识。同时,该视频通话请求中还可以携带有拟进行视频通话的各第二用户终端的第二用户标识,或者是携带有该第一用户标识所在的群组或者讨论组的群组标识。

后台服务器接收到该视频通话请求后,在视频通话请求中携带有第二用户标识时,向该第二用户标识对应的第二用户终端发送视频通话请求。在视频通话请求中携带有群组标识时,获取与该群组标识关联的用户标识中、除了第一用户标识之外的其他各第二用户标识,并向各第二用户标识对应的各第二用户终端你发送视频通话请求。可以理解的是,出于简易说明的目的,图7中只示出了一个第二用户终端,在实际技术应用中,第二用户终端的数目还可以包含有多个,多个第二用户终端的处理过程可以与图7中所述的第二用户终端的处理过程相同。

第二用户终端接收到后台服务器发送的视频通话请求后,基于终端用户的选择决定是否需要进行视频通话。若需要进行视频通话,则向后台服务器返回视频通话确认信息。

后台服务器接收到第二用户终端返回的视频通话确认信息后,为该视频通话创建视频会话房间,得到视频会话房间标识。可以理解的是,在视频通话请求中携带有群组标识时,只要有一个第二用户终端返回视频通话确认信息,就可以创建视频会话房间,而可以无需等待所有的第二用户终端返回视频通话确认信息。此外,在视频通话请求中携带有群组标识时,可以直接将该群组标识作为该视频会话房间标识,也可以另外重新创建视频会话房间标识。在视频通话请求中携带第二用户标识,则需要为该第一用户标识、第二用户标识关联的视频会话分配视频会话房间标识。

分配的视频会话房间标识,可返回给第一用户终端以及各第二用户终端,第一用户终端以及各第二用户终端基于该共同的视频会话房间标识进行视频会话。第一用户终端通过摄像头拍摄得到的视频图像数据经由后台服务器或者第三方数据服务器或者直接传送给各第二用户终端。另一方面,任意一个与视频会话房间标识关联的第二用户终端通过摄像头拍摄得到的视频图像数据经由后台服务器或者第三方数据服务器或者直接传送给第一用户终端以及其他的各第二用户终端。一个应用示例中的视频会话界面如图11所示。

在视频会话的过程中,可以发起屏幕内容共享的过程,从而进行丰富的桌面分享。以第一用户终端发起分享为例,第一用户终端的用户可以通过点击视频会话界面的“分享”、“共享”等发起屏幕内容分享的按钮发出屏幕内容共享指令,可以理解,这里的发起屏幕内容分享的按钮的也可以是通过相关的符号标记显示,例如图11中所示的底部的左侧第一个按钮。从而,终端用户基于视频会话过程就可以发起屏幕内容的共享,无需专门使用特定的屏幕内容共享系统,也无需专门为了屏幕内容的共享进行特意的注册、登记、连接等处理。

结合图8所示的进行屏幕共享时终端的处理框架示意图,以及图9所示的终端发起屏幕共享时的流程示意图,本实施例方案通过会话分享管理的相关模块wewtalksharemanager接收到该屏幕内容共享指令后,可以通过分享内容管理的相关模块screenwndinfograbmanager让终端用户来选择要共享的是什么内容。例如,例如screenwndinfograbmanager可以通过扫描当前所在用户终端的系统的所有进程,并获取所有进程的信息,其中包括进程窗口信息。并获取桌面截图,以windows系统为例,该桌面截图可以是windows桌面截图。然后将获得的进程窗口信息以及桌面截图进行显示,展示给终端用户进行选择选择。在进行显示时,可以是将各进程窗口信息以及桌面截图以缩略图的方式显示以供终端用户选择,也可以是通过列表等其他方式供终端用户选择。终端用户可以通过点击缩略图、列表中的选项或者其他方式对要共享的内容选择,发出窗口分享选择指令,该窗口分享选择指令中包括有待分享内容标识,该待分享内容标识可记为windowinfo。该待分享内容标识可以为窗口标识或者桌面屏幕标识,其中,该窗口标识在本示例中指某个进程对应的窗口的标识。从而,在进行屏幕内容的共享时,共享的屏幕内容可以不是第一用户终端桌面的整个屏幕,而是与第一用户终端当前运行的进程有关,是某一个具体的进程对应的窗口,从而可以无需为了屏幕内容的共享特意上传要共享的文件,使得屏幕内容的共享更简洁,而且可以据此实现任意屏幕内容的共享,实现了共享的屏幕内容的多样性。

在接收到窗口分享选择指令,确定了要分享的是某个窗口或者是整个电脑屏幕后,为了避免多个用户同时发起分享,第一用户终端向后台服务器发送屏幕内容共享请求。该屏幕内容共享请求中包括有第一用户终端的第一用户标识。

后台服务器接收到给屏幕内容共享请求后,如果当前没有与视频会话房间标识关联的其他终端标识进行分享并且通话正常,则向第一用户终端返回可以进行分享的共享确认消息。在发送共享确认消息之前或者发送共享确认消息的同时,将当前视频会话房间标识对应的视频会话房间的状态设定为锁定状态,即将该视频会话房间锁定,以满足同一时刻只有一个终端的屏幕内容进行共享。

另一方面,后台服务器在确定第一用户终端可以进行分享时,还可以确定出第一用户终端进行屏幕内容共享的视频数据服务器的地址信息,该视频数据服务器的地址信息可以与该视频会话房间标识关联,并且可以携带在共享确认消息中返回给第一用户终端。

第一用户终端接收到后台服务器发送的共享确认消息后,将显示界面从视频会话界面切换到内容分享界面,一个示例中的内容分享界面如图12所示。

同时设置内容分享界面的屏幕共享视频源,将屏幕共享视频源切换到进行分享的窗口或者桌面的视频数据,例如通过窗口分享选择指令得到的待分享内容标识windowinfo,可以发送到屏幕数据捕获引擎screencaptureengine、窗口数据引擎windowcaptureengine中决定是屏幕分享还是窗口分享,进而可以通过屏幕数据捕获引擎screencaptureengine或者窗口数据引擎windowcaptureengine来分别捕获采集选中的桌面屏幕或者窗口数据。

在一个实施例中,在切换到内容分享界面之后,可以直接关闭或者取消视频会话界面的各视频窗口的显示,控制终端的摄像头不再捕获摄像数据。在另一些实施例中,也可以在通过内容分享界面进行屏幕内容共享时,同时显示各摄像头的数据,实现屏幕内容和摄像头捕获内容的同时交互共享。在此情况下,在一个具体应用示例中,在切换到内容分享界面之后,可以将视频会话界面的各视频窗口缩小后在所述内容分享界面的指定位置显示,该指定位置可以结合实际应用需要进行设置,例如图12所示的内容分享界面的边界处排列显示。在另一个具体应用示例中,还可以将视频会话界面的各视频窗口缩小后在内容分享界面的指定位置处浮动显示,以便于终端用户基于展示需要自由调整各视频窗口的显示位置。在另一个具体应用示例中,还可以将视频会话界面的各视频窗口缩小后在当前所在用户终端的桌面边缘隐藏。在其他的具体应用示例中,还可以将视频会话界面的各视频窗口缩小后通过其他的方式进行显示。从而,在实现屏幕内容共享的同时,还可以进行视频会话,提高了交互性能和信息共享的多样性。

另一方面,第一用户终端向后台服务器发送屏幕共享通知消息,以告知后台服务器第一用户终端已经做好共享准备,以通知其他成员进入分享态。该屏幕共享通知消息中携带有第一用户标识。在一些实施例中,该屏幕共享通知消息中还可以携带有上述视频数据服务器的地址信息。

后台服务器接收到该屏幕共享通知消息后,若该屏幕共享通知消息中携带有视频数据服务器的地址信息,则在查找到与第一用户标识关联的视频会话房间标识,以及与视频会话房间标识关联的、除了第一用户标识之外的各第二用户标识之后,可以直接将该屏幕共享通知消息发送给各第二用户标识关联的各第二用户终端。另一方面,若该屏幕共享通知消息中没有携带视频数据服务器的地址信息,则可以在查找到与第一用户标识关联的视频会话房间标识、并查找到与视频会话房间标识关联的视频数据服务器的地址信息、以及除了第一用户标识之外的各第二用户标识后,将视频数据服务器的地址信息添加到该屏幕共享通知消息中之后发送给各第二用户标识关联的各第二用户终端,以通知视频会话中的其他成员进入分享态。

各第二用户终端接收到给屏幕共享通知消息之后,可以进行屏幕共享通知消息的显示,各第二用户终端的终端用户可以基于显示的屏幕共享通知消息决定是否需要进行分享。若终端用户确认进入分享或者没有发出不进入分享的指令,则进入分享,如果当前视频会话正常没有关闭,则进入到被分享状态,将视频会话界面切换至内容分享界面,并准备接收分享者发送的待分享屏幕内容数据。被分享的第二用户终端的内容分享界面与进行分享的第一用户终端的内容分享界面可以相同,也可以有不同的设计。

第一用户终端在向后台服务器发送了屏幕共享通知消息后,即可以通过屏幕数据捕获引擎screencaptureengine或者窗口数据引擎windowcaptureengine来分别捕获采集选中的桌面屏幕或者窗口数据。以对整个桌面屏幕进行分享为例,可以通过screencaptureengine捕获桌面屏幕内容,获得捕获的数据,并发送给视频处理引擎wewtalkmanger进行处理,同时可以通知上层交互界面进行刷新,以在第一用户终端的内容分享界面的分享内容显示子窗口显示。以对窗口内容进行分享为例,可以通过窗口数据引擎windowcaptureengine捕获需要进行分享的窗口的数据,获得捕获的数据,并发送给视频处理引擎wewtalkmanger进行处理,同时可以通知上层交互界面进行刷新,以在第一用户终端的内容分享界面的分享内容显示子窗口显示。此外,捕获到的数据,即上述待分享屏幕内容,还可以通过数据平台服务器传输到各第二用户终端,实现待分享屏幕内容的数据传输。

其中,考虑到一些应用系统(例如mac系统)只提供了对整个桌面(或者链接电脑的手机)的整个桌面的屏幕数据采集接口,而对于相关程序的窗口并没有直接的系统接口可以进行数据采集。因此,针对桌面屏幕的共享可以直接调用系统中的屏幕数据采集接口进行数据采集。而对于窗口内容的共享,可以通过不同的机制进行窗口内容的数据采集。例如通过捕获整个桌面屏幕数据后,对其进行坐标转换得到对应窗口的窗口数据。在本发明的一个具体示例中,在待分享内容标识为窗口标识时,可以按照预定频率对窗口标识对应的窗口区域进行截图获得窗口截图,获得所述待分享屏幕内容数据。由于人眼可以分辨的帧率基本在24帧左右,因此,可以采用1秒钟24帧的频率进行窗口截图采集。

由于截图采集的格式和大小不利于网络的传输,针对进行截图获得的窗口截图,还可以进行数据格式和数据质量的转换后,将其转换为可以有利于网络传输的视频帧格式的待分析那个屏幕内容数据,再向网络发送。具体的数据格式和数据质量的转换,可以采用任何可能的方式进行,只要是便于网络视频帧的传输即可。以第一用户终端采用的mac平台为例,可以通过将采样得到的cgimageref转换成统一的cvpixbuffer,然后进行正常的视频编码后进行网络传输,通过所述视频数据服务器发送给各第二用户终端。

另一个方面,在上述待分享内容标识为窗口标识时,还可以进一步监控整个过程中的光标移动事件,捕获光标在屏幕上的第一位置坐标;并对所述第一位置坐标进行相对于窗口标识对应的窗口的转换,将光标的位置投射到要进行分享的窗口上,获得所述光标相对于所述窗口标识对应的窗口区域的第二位置坐标。并将该第二位置坐标携带在待分享屏幕内容数据。从而各第二用户终端在获取到需要进行分享的视频数据源时,还可以获得光标的第二位置信息,并将光标绘制显示到截图的视频源上,可以动态地看到光标在屏幕共享内容上的运动,从而被共享的其他受众可以在观看到进行共享的屏幕内容时,也可以同时观看到共享者目前定位的位置。

第一用户终端将待分享屏幕内容数据发送给视频数据服务器后,通过视频数据服务器可以主动将该待分享屏幕数据发送给各所述第二用户终端,也可以由第二用户终端每隔预定时间段根据所述视频数据服务器的地址信息,从视频数据服务器下载所述待分享屏幕内容数据。

在本发明的一个实施例中,只有发起者可以结束分享过程。结合图10所示,在需要结束分享时,第一用户终端的用户可以通过点击内容分享界面“结束分享”等类似按钮发出屏幕共享停止指令,本实施例方案接收到该屏幕共享停止指令后,向后台服务器发送屏幕共享结束请求,如果后台服务器确定可以结束共享,则向第一用户终端返回结束确认消息。第一用户终端接收到该结束确认消息后,切换回视频会话界面,通过向采集所述屏幕共享视频源的视频采集引擎发送停止采集指令等方式,停止采集窗口或者桌面的数据,在进行内容分享时控制摄像头停止采集视频数据的情况下,还控制摄像头开始正常采集视频数据,恢复到视频会话过程。此外,第一用户终端还向后台服务器发送停止分享消息,停止分享消息中携带有第一用户标识。后台服务器接收到该停止分享消息后,查找到与第一用户标识关联的视频会话房间标识,以及与视频会话房间标识关联的、除了第一用户标识之外的各第二用户标识,将该停止分享消息向各第二用户标识对应的各第二用户终端发送,以通知其他成员。第二用户终端接收到停止分享消息后,切换回视频会话界面,进入视频会话过程。从而,在结束屏幕内容共享过程之后,可以切换回视频会话界面,使得视频会话和屏幕内容共享可以随意进行切换,方便便捷。

基于与上述各实施例的方法相同的思想,图13示出了一个实施例中的屏幕内容共享装置的结构示意图,该实施例中的屏幕内容共享装置设置在图1所示的第一用户终端101上。

如图13所示,该实施例中的屏幕内容共享装置包括:

分享请求模块131,用于在通过视频会话界面接收到屏幕内容共享指令时,向后台服务器发送屏幕内容共享请求,该屏幕内容共享请求包括第一用户标识;

第一界面切换模块132,用于在接收到所述后台服务器返回的共享确认消息时,切换到内容分享界面,并设置内容分享界面的屏幕共享视频源;

第一共享通知模块133,用于向所述后台服务器发送屏幕共享通知消息,由后台服务器将所述屏幕共享通知消息向各第二用户标识对应的各第二用户终端发送,所述第一用户标识与各所述第二用户标识与所述视频会话界面对应的视频会话房间标识关联;

内容共享模块134,用于获取所述屏幕共享视频源的待分享屏幕内容数据,将所述待分享屏幕内容数据在所述内容分享界面的分享内容显示子窗口显示,并将所述待分享屏幕内容数据发送给各所述第二用户终端。

根据如上所述的实施例的方案,终端可以通过视频会话界面接收屏幕内容共享指令,并向后台服务器发送屏幕内容共享请求,终端在接收到后台服务器的共享确认消息后可切换至内容分享界面,并设置好屏幕共享视频源,并经由后台服务器通知到进行屏幕共享的其他各第二用户终端,从而实现了在视频会话的过程中的当前用户终端与其他各第二用户终端之间的内容共享,即在需要进行屏幕内容共享时,直接基于视频会话过程就可以发起屏幕内容的共享,基于进行视频会话的视频会话房间标识关联的各用户终端,即可以确定进行屏幕内容共享的各共享方,无需专门使用特定的屏幕内容共享系统,也无需专门为了屏幕内容的共享特意进行注册、登记、连接等处理,不仅提高了信息共享时的分享内容的互动性能和交互性能,且提高了屏幕内容共享的便利性和快捷性。

其中,分享请求模块131通过视频会话界面接收屏幕内容共享指令时,可以采用任何可能的方式进行,例如,视频会话界面上可以设置有分享按钮,分享请求模块131可以通过视频会话界面上的该分享按钮接收该屏幕内容共享指令。

本实施例的屏幕内容共享装置,可以对终端屏幕上显示的任何内容进行分享,因此,在实际技术应用中,可以由终端用户来选择要共享的是什么内容。具体的选择可以在任何可能的方式进行,只要内容共享模块134将待分享屏幕内容数据进行显示和发送给第二用户终端之前,能够确定分享的屏幕内容即可。

据此,如图13所示,本实施例的屏幕内容共享装置还可以包括分享内容选择模块135。

其中,该分享内容选择模块135,用于接收选择指令,所述选择指令包括待分享内容标识,所述待分享内容标识为窗口标识或者桌面屏幕标识。

此时,上述第一界面切换模块132,是将采集的与所述待分享内容标识对应的视频数据设置为所述屏幕共享视频源。

在一个实施例中,第一界面切换模块132在切换到内容分享界面之后,可以直接关闭或者取消视频会话界面的各视频窗口的显示,控制终端的摄像头不再捕获摄像数据。在另一些实施例中,也可以在通过内容分享界面进行屏幕内容共享时,同时显示各摄像头的数据,实现屏幕内容和摄像头捕获内容的同时交互共享。在此情况下,在一个具体应用示例中,在切换到内容分享界面之后,第一界面切换模块132可以将视频会话界面的各视频窗口缩小后在所述内容分享界面的指定位置显示,该指定位置可以结合实际应用需要进行设置,例如图12所示的内容分享界面的边界处排列显示。在另一个具体应用示例中,第一界面切换模块132可以将视频会话界面的各视频窗口缩小后在内容分享界面的指定位置处浮动显示,以便于终端用户基于展示需要自由调整各视频窗口的显示位置。在另一个具体应用示例中,第一界面切换模块132可以将视频会话界面的各视频窗口缩小后在当前所在用户终端的桌面边缘隐藏。在其他的具体应用示例中,第一界面切换模块132还可以将视频会话界面的各视频窗口缩小后通过其他的方式进行显示。

在一个具体示例中,分享内容选择模块135,可以扫描当前所在用户终端的所有进程,获取所有进程的进程窗口信息;获取桌面截图;将获得的进程窗口信息以及桌面截图进行显示;并从显示进程窗口信息以及桌面截图的显示界面接收所述窗口分享选择指令。

在此情况下,进一步地,上述内容共享模块134,在所述待分享内容标识为窗口标识时,按照预定频率对所述窗口标识对应的窗口区域进行截图获得窗口截图,获得所述待分享屏幕内容数据。

进一步地,上述内容共享模块134,还可以在所述待分享内容标识为窗口标识时,捕获光标在屏幕上的第一位置坐标;对所述第一位置坐标进行转换,获得所述光标相对于所述窗口标识对应的窗口区域的第二位置坐标;所述待分享屏幕内容数据包括所述第二位置坐标。从而,可以在进行屏幕内容共享的同时,还将用户终端的光标共享到其他用户终端。

进一步地,在一个具体示例中,上述共享确认消息、上述屏幕共享通知消息还可以包括视频数据服务器的地址信息。

在此情况下,内容共享模块134将待分享屏幕内容数据发送给视频数据服务器后,可以通过视频数据服务器发送给各第二用户终端。另一方面,也可以是内容共享模块134将待分享屏幕内容数据发送给视频数据服务器后,由各第二用户终端每隔预定时间段根据所述视频数据服务器的地址信息,从所述视频数据服务器下载所述待分享屏幕内容数据。

另一方面,内容共享模块134还可以将待分享屏幕内容数据进行数据格式和数据质量的转换后,向视频数据服务器发送,通过所述视频数据服务器发送给各所述第二用户终端。以满足网络视频传输的格式和质量的要求。

在一个实施例中,如图13所示,该实施例中的屏幕内容共享装置还可以包括:

结束分享处理模块136,用于在接收到屏幕共享停止指令时,向所述后台服务器发送屏幕共享结束请求;并在接收到所述后台服务器根据所述屏幕共享结束请求返回的结束确认消息时,切换到视频会话界面,停止采集所述视频共享视频源的数据,并向所述后台服务器发送停止分享消息,由所述后台服务将所述停止分享消息向各所述第二用户终端发送。

进一步地,在具体技术应用中,结束分享处理模块136可以通过向采集所述屏幕共享视频源的视频采集引擎发送停止采集指令,停止采集所述视频共享视频源的数据。

图14示出了另一个实施例中的屏幕内容共享装置的结构示意图,该实施例中的屏幕内容共享装置设置在图1所示的第一用户终端102上。

如图14所示,该实施例中的屏幕内容共享装置包括:

第二界面切换模块141,用于接收后台服务器发送的屏幕共享通知消息,屏幕共享通知消息包括第一用户标识;根据所述屏幕共享通知消息从视频会话界面切换到内容分享界面;

共享终端显示模块142,用于接收所述第一用户标识对应的第一用户终端发送的待分享屏幕内容数据,并将所述待分享屏幕内容数据在所述内容分享界面的分享内容显示子窗口显示。

在一个具体示例中,上述待分享屏幕内容数据还可以包括:光标相对于所述待分享屏幕内容数据中的窗口区域的第二位置坐标。此时,共享终端显示模块142在将待分享屏幕内容数据在所述内容分享界面的分享内容显示子窗口显示时,可以同时在分享内容显示子窗口中的所述第二位置坐标处显示光标。

在另一个实施例中,上述屏幕共享通知消息还可以包括视频数据服务器的地址信息。据此,在一个具体示例中,共享终端显示模块142可以直接接收所述视频数据服务器发送的所述待分享屏幕内容数据。在另一个具体示例中,共享终端显示模块142可以根据所述视频数据服务器的地址信息,每隔预定时间段从所述视频数据服务器下载所述待分享屏幕内容数据。

其中,该分享内容选择模块135,用于接收选择指令,所述选择指令包括待分享内容标识,所述待分享内容标识为窗口标识或者桌面屏幕标识。

此时,上述第一界面切换模块132,是将采集的与所述待分享内容标识对应的视频数据设置为所述屏幕共享视频源。

在一个实施例中,第二界面切换模块141在切换到内容分享界面之后,可以直接关闭或者取消视频会话界面的各视频窗口的显示,控制终端的摄像头不再捕获摄像数据。在另一些实施例中,也可以在通过内容分享界面进行屏幕内容共享时,同时显示各摄像头的数据,实现屏幕内容和摄像头捕获内容的同时交互共享。在此情况下,在一个具体应用示例中,在切换到内容分享界面之后,第二界面切换模块141可以将视频会话界面的各视频窗口缩小后在所述内容分享界面的指定位置显示,该指定位置可以结合实际应用需要进行设置,例如图12所示的内容分享界面的边界处排列显示。在另一个具体应用示例中,第二界面切换模块141可以将视频会话界面的各视频窗口缩小后在内容分享界面的指定位置处浮动显示,以便于终端用户基于展示需要自由调整各视频窗口的显示位置。在另一个具体应用示例中,第二界面切换模块141可以将视频会话界面的各视频窗口缩小后在当前所在用户终端的桌面边缘隐藏。在其他的具体应用示例中,第二界面切换模块141还可以将视频会话界面的各视频窗口缩小后通过其他的方式进行显示。

可以理解,上述图13中所示的以及图14中所示的屏幕内容共享装置,可以作为一个共同的屏幕内容共享装置存在,即一个实施例中的屏幕内容共享装置可以同时包括图13示例中的屏幕内容共享装置和图14示例中的屏幕内容共享装置,使得在实际技术应用中可以作为分享端也可以作为被分享端。其中,在屏幕内容共享装置同时包括图13示例中的屏幕内容共享装置和图14示例中的屏幕内容共享装置时,第一界面切换模块132与第二界面切换模块141可以集成在一个模块中。

图15示出了另一个实施例中的屏幕内容共享装置的结构示意图,该实施例中是以屏幕内容共享装置设置在图1所示的后台服务器103上为例进行说明。

如图15所示,该实施例中的屏幕内容共享装置包括:

分享请求响应模块151,用于接收第一用户终端发送的屏幕内容共享请求,所述屏幕内容共享请求包括所述第一用户终端的第一用户标识;并获取与所述第一用户标识关联的视频会话房间标识,向所述第一用户终端返回共享确认消息;

第二共享通知模块152,用于接收所述第一用户终端根据所述共享确认消息将视频会话界面切换到内容分享界面、并设置内容分享界面的屏幕共享视频源之后发送的屏幕共享通知消息,并将所述屏幕共享通知消息向与所述视频会话房间标识关联的、除了所述第一用户标识之外的各第二用户标识对应的各第二用户终端发送。

在一个示例中,分享请求响应模块151可以在获取与所述第一用户标识关联的视频会话房间标识之后,还可以先将所述视频会话房间标识对应的视频会话房间的状态设定为锁定状态,然后再向所述第一用户终端返回共享确认消息。从而避免其他用户终端也发起屏幕内容共享请求产生的冲突的问题。

在另一个示例中,上述共享确认消息、屏幕共享通知消息中可以包括由视频数据服务器的地址信息。从而在后续的屏幕内容共享的过程中,第一用户终端可以经由视频数据服务器将需要共享的待分享屏幕内容数据发送到各第二用户终端。

在另一个示例中,如图15所示,该实施例中的屏幕内容共享装置还可以

包括结束请求处理模块153,用于接收所述第一用户终端发送的屏幕共享结束请求,所述屏幕共享结束请求包括所述第一用户标识;向所述第一用户终端返回结束确认消息;接收所述第一用户终端根据所述结束确认消息返回的停止分享消息,并将所述停止分享消息向各所述第二用户终端发送。其中,在之前已经将所述视频会话房间标识对应的视频会话房间的状态设定为锁定状态的情况下,在接收到第一用户终端发送的停止分享消息之后,还可以将视频会话房间标识对应视频会话房间的状态设定为非锁定状态。

基于如上所述的示例,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种屏幕内容共享方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

据此,在一个实施例中还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述各实施例中的任意一种屏幕内容共享方法。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1