投屏方法、设备、系统及存储介质与流程

文档序号:31868996发布日期:2022-10-21 18:00阅读:96来源:国知局
投屏方法、设备、系统及存储介质与流程

1.本技术涉及互联网技术领域,尤其涉及一种投屏方法、设备、系统及存储介质。


背景技术:

2.投屏,指的是将某一终端的屏幕上显示的内容,投放到另一个终端上进行显示。例如,用户可将手机上播放的影视视频,投放到电视上进行播放,以享受大屏的观影体验;又例如,会议人员可将电脑上的会议文件,投放到会议室的屏幕上,进行会议内容共享。
3.现有的投屏方法多依赖投屏硬件实现,扩展性较差。因此,有待提出一种新的解决方案。


技术实现要素:

4.本技术的多个方面提供一种投屏方法、设备、系统及存储介质,用以提升投屏技术的扩展性,降低投屏所需的硬件成本。
5.本技术实施例提供一种投屏方法,适用于第一终端设备,包括:响应投屏发送指令,获取至少一个投屏接收方的虚拟投屏码;根据所述至少一个投屏接收方的虚拟投屏码,向投屏服务器发起投屏发送请求;将待投屏的第一屏幕数据发送至投屏服务器,以使所述投屏服务器将所述第一屏幕数据发送至所述至少一个投屏接收方进行展示。
6.进一步可选地,所述至少一个投屏接收方,包括:终端设备、直播服务器以及会议服务器中的至少一种。
7.进一步可选地,获取至少一个投屏接收方的虚拟投屏码,包括:向所述投屏服务器发送所述第一终端设备的位置信息,以使所述投屏服务器根据所述位置信息确定位于所述第一终端设备的设定距离范围内的候选投屏接收方;接收所述投屏服务器返回的所述候选投屏接收方的虚拟投屏码;展示所述候选投屏接收方的虚拟投屏码,以供用户从所述候选投屏接收方的虚拟投屏码中选择所述至少一个投屏接收方的虚拟投屏码。
8.进一步可选地,所述投屏发送指令,包括:用于发起投屏请求的语音指令,或者,用于探测投屏接收方的语音指令。
9.进一步可选地,还包括:响应投屏接收指令,获取至少一个投屏发送方的虚拟投屏码;根据所述至少一个投屏发送方的虚拟投屏码,向所述投屏服务器发送投屏接收请求;接收所述投屏服务器发送的所述至少一个投屏发送方的屏幕数据;在屏幕上的至少一个显示区域中,展示所述至少一个投屏发送方的屏幕数据。
10.进一步可选地,还包括:确定第一终端设备的第一虚拟投屏码;响应投屏接收指令,根据所述第一虚拟投屏码,向所述投屏服务器发送投屏接收请求;接收所述投屏服务器发送的第二屏幕数据,所述第二屏幕数据由关联所述第一虚拟投屏码的第二终端设备发送;展示所述第二屏幕数据。
11.进一步可选地,还包括:确定第一终端设备的第一虚拟投屏码;响应投屏发送指令,根据所述第一虚拟投屏码,向所述投屏服务器发起投屏发送请求;将待投屏的第三屏幕
数据发送至所述投屏服务器,以使所述投屏服务器将所述第三屏幕数据发送至关联所述第一虚拟投屏码的至少一个终端设备进行展示。
12.进一步可选地,确定第一终端设备的第一虚拟投屏码,包括:按照设定的投屏码生成算法,生成所述第一虚拟投屏码;或者,向所述投屏服务器发送投屏码获取请求,并接收所述投屏服务器返回的所述第一虚拟投屏码。
13.本技术实施例提供一种投屏方法,适用于第一终端设备,包括:响应投屏接收指令,获取至少一个投屏发送方的虚拟投屏码;根据所述至少一个投屏发送方的虚拟投屏码向所述投屏服务器发送投屏接收请求;接收所述投屏服务器发送的所述至少一个投屏发送方的屏幕数据;在屏幕上的至少一个显示区域中,展示所述至少一个投屏发送方的屏幕数据。
14.本技术实施例提供一种投屏方法,适用于第一终端设备,包括:确定第一终端设备的虚拟投屏码;响应投屏接收指令,根据所述第一终端设备的第一虚拟投屏码,向所述投屏服务器发送投屏接收请求;接收所述投屏服务器发送的屏幕数据,所述屏幕数据由关联所述虚拟投屏码的第二终端设备发送;展示所述屏幕数据。
15.本技术实施例提供一种投屏方法,适用于第一终端设备,包括:确定第一终端设备的虚拟投屏码;响应投屏发送指令,根据所述虚拟投屏码,向所述投屏服务器发起投屏发送请求;将待投屏的屏幕数据发送至所述投屏服务器,以使投屏服务器将所述屏幕数据发送至与所述虚拟投屏码关联的投屏接收方。
16.本技术实施例提供一种投屏方法,适用于第一终端设备,包括:确定终端设备所在的用户群组的虚拟投屏码;响应投屏发送指令,根据所述虚拟投屏码,向所述投屏服务器发起投屏发送请求;将待投屏的屏幕数据发送至所述投屏服务器,以使投屏服务器将所述屏幕数据发送至所述用户群组中的终端设备进行展示。
17.本技术实施例提供一种投屏方法,适用于投屏服务器,包括:接收第一终端设备发送的投屏发送请求;所述投屏发送请求包括:至少一个投屏接收方的虚拟投屏码;根据所述至少一个投屏接收方的虚拟投屏码,确定所述第一终端设备与所述至少一个投屏接收方之间的投屏连接关系;接收所述第一终端设备发送的待投屏的第一屏幕数据;将所述第一屏幕数据发送至所述至少一个投屏接收方进行展示。
18.进一步可选地,接收第一终端设备发送的投屏发送请求之前,还包括:接收所述第一终端设备的位置信息;根据所述位置信息,确定位于所述第一终端设备的设定距离范围内的候选投屏接收方;将所述候选投屏接收方的虚拟投屏码发送至所述第一终端设备,以供用户从所述候选投屏接收方的虚拟投屏码中选择所述至少一个投屏接收方的虚拟投屏码。
19.进一步可选地,所述至少一个投屏接收方,包括:终端设备、直播服务器以及会议服务器中的至少一种。
20.进一步可选地,根据所述至少一个投屏接收方的虚拟投屏码,确定所述第一终端设备与所述至少一个投屏接收方之间的投屏连接关系,包括:根据所述会议服务器的虚拟投屏码,确定所述会议服务器创建的视频会议;通过设定的会话协议,接入所述视频会议,以向接入所述视频会议的视频会议终端发送所述第一屏幕数据。
21.进一步可选地,还包括:接收所述第一终端设备发送的投屏接收请求,所述投屏接
收请求包含至少一个投屏发送方的虚拟投屏码;确定所述第一终端设备与所述至少一个投屏发送方之间的投屏连接关系;接收所述至少一个投屏发送方的屏幕数据;将所述至少一个投屏发送方的屏幕数据发送至所述第一终端设备进行展示。
22.进一步可选地,还包括:接收所述第一终端设备的投屏接收请求,所述投屏接收请求包含所述第一终端设备的第一虚拟投屏码;接收第二终端设备发送的第二屏幕数据和所述第一虚拟投屏码;确定所述第一终端设备和所述第二终端设备的投屏连接关系;将所述第二屏幕数据发送至所述第一终端设备进行展示。
23.进一步可选地,还包括:接收所述第一终端设备的投屏发送请求,所述投屏发送请求包含所述第一终端设备的第一虚拟投屏码;确定所述第一终端设备与关联所述第一虚拟投屏码的至少一个终端设备之间的投屏连接关系;接收所述第一终端设备的第三屏幕数据;将所述第三屏幕数据发送至所述至少一个终端设备进行展示。
24.本技术实施例提供一种投屏方法,适用于直播服务器,包括:响应推流终端的直播请求,创建第一直播;为所述第一直播分配虚拟投屏码,所述虚拟投屏码由拉流终端进行展示;接收投屏服务器发送的终端设备的屏幕数据,所述终端设备通过所述第一直播的虚拟投屏码与所述直播服务器建立投屏连接关系;将所述屏幕数据和所述推流终端的直播数据流进行合并,得到所述第一直播的融合数据流;将所述融合数据流发送至内容分发节点,以供拉流终端进行观看。
25.本技术实施例提供一种投屏方法,适用于会议服务器,包括:响应会议请求,创建视频会议;为所述视频会议分配虚拟投屏码;呼叫视频会议终端,以使所述视频会议终端接入所述视频会议;将所述虚拟投屏码发送至所述视频会议终端进行展示。
26.本技术实施例提供一种投屏方法,适用于投屏服务器,包括:接收终端设备的投屏发送请求,所述投屏发送请求包含所述终端设备所属的用户群组的虚拟投屏码;确定所述终端设备与所述用户群组中的终端设备之间的投屏连接关系;接收所述终端设备发送的屏幕数据;将所述屏幕数据发送至所述用户群组中的终端设备进行展示。
27.进一步可选地,将所述屏幕数据发送至所述用户群组中的终端设备进行展示,包括:判断所述用户群组是否对应已启动的视频会议;若为是,则将所述屏幕数据发送至参与所述视频会议的终端设备。
28.本技术实施例提供一种终端设备,包括:存储器、处理器、通信组件以及显示组件;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:通过所述通信组件以及所述显示组件,执行本技术实施例提供的方法中的步骤。
29.本技术实施例提供一种服务器,包括:存储器、处理器以及通信组件;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:通过所述通信组件,执行本技术实施例提供的方法中的步骤。
30.本技术实施例提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够实现执行本技术实施例提供的方法中的步骤。
31.本技术实施例提供的投屏方法中,投屏发送方可根据投屏接收方的虚拟投屏码向投屏服务器发起投屏发送请求。投屏服务器可基于该投屏发送请求中的虚拟投屏码,建立投屏发送方和投屏接收方的投屏连接关系,并将投屏发送方的屏幕数据转发至投屏接收
方。进而,基于虚拟投屏码,投屏发送方以及投屏接收方可在不借助投屏硬件的情况下实现屏幕数据共享。一方面,降低了投屏操作对硬件设备的依赖,降低投屏所需的硬件成本;另一方面,投屏操作不受硬件设备的限制,极大增加了投屏技术的扩展性,有利于投屏场景的不断衍生。
附图说明
32.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
33.图1为本技术一示例性实施例提供的投屏系统的结构示意图;
34.图2a、图2b、图2c为本技术一示例性实例提供的第一终端设备的界面示意图;
35.图3a为本技术一示例性实施例提供的投屏系统的结构示意图;
36.图3b为本技术一示例性实施例提供的拉流终端的直播画面示意图;
37.图4a为本技术一示例性实施例提供的投屏系统的结构示意图;
38.图4b为本技术一示例性实施例提供的视频会议终端的屏幕画面示意图;
39.图4c为本技术一示例性实施例提供的向视频会议终端投屏的界面示意图;
40.图4d为本技术一示例性实施例提供的本地大屏以及直播间投屏的界面示意图;
41.图5为本技术一示例性实施例提供的虚拟会议室的界面示意图;
42.图6a、图6b、图6c、图6d、图6e、图7a、图7b、图8a以及图8b、为本技术示例性实施例提供的投屏方法的流程图;
43.图9为本技术一示例性实施例提供的终端设备的结构示意图;
44.图10为本技术一示例性实施例提供的服务器的结构示意图。
具体实施方式
45.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
46.目前,许多投屏场景依赖专业的投屏硬件实现投屏,例如投屏智能硬件、电视盒子等等。但是,这种依赖硬件的投屏方法,一方面导致硬件成本较高,另一方面,受限于硬件部署,导致投屏系统的扩展性较差,极大限制了投屏场景的衍生。
47.针对上述技术问题,在本技术一些实施例中,提供了一种解决方案,该解决方案基于虚拟投屏码实现,克服了对硬件设备的依赖,可应用于多种不同的投屏场景。以下将结合附图,详细说明本技术各实施例提供的技术方案。
48.图1为本技术一示例性实施例提供的投屏系统的结构示意图,如图1所示,投屏系统100包括:终端设备10以及投屏服务器20。其中,终端设备10可包括多个终端设备,并不限于图1所示的第一终端设备101以及第二终端设备102。
49.其中,终端设备10是指能够与用户进行交互操作,并且具有通信功能的设备。在不同的应用场景下,终端设备10的实现形态也会有所不同。例如,在一些场景下,终端设备10可表现为用户侧的手机、平板电脑、计算机设备等。通常,终端设备10上可运行有用于投屏
相关操作的插件或者应用程序等。
50.在一些可选的实施例中,终端设备10可包括一电子显示屏,用户可通过该显示屏发起资源预约操作。其中,电子显示屏可包括液晶显示器(lcd)和触摸面板(tp)。如果电子显示屏包括触摸面板,电子显示屏可以被实现为触摸屏,该触摸屏可接收来自用户的输入信号。当然,在其他可选的实施例中,终端设备10可包括用于获取用户的输入信号的物理按键或者语音输入装置等,此处不赘述。
51.在投屏系统100中,投屏服务器20是能够提供数据管理以及数据转发功能的设备。在一些实施例中,投屏服务器20可实现为服务器设备,包括常规服务器、云服务器、云主机、虚拟中心等服务器等设备,本实施例对此不做限制。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,不再赘述。
52.在投屏系统100中,终端设备10主要用于:与用户进行交互,根据用户的投屏需求,按照特定的投屏协议接收屏幕数据或者发送屏幕数据。在本实施例中,屏幕数据是一种流式数据,又可被称为屏幕共享数据流。
53.在投屏系统100中,投屏服务器20主要用于:基于终端设备的虚拟投屏码,建立终端设备之间的投屏连接关系,并基于终端设备之间的投屏连接关系,在不同终端设备之间进行屏幕数据转发。
54.以下首先以第一终端设备101实现为投屏发送方为例进行示例性说明。
55.以第一终端设备101为例,存在投屏需求时,持有第一终端设备101的第一用户可开启第一终端设备101上安装的投屏应用。此时,第一终端设备101可未接入远程会议或者视频会议。
56.在一些实施例中,存在向其他投屏接收方发送屏幕数据的需求时,第一用户可获取至少一个投屏接收方各自的虚拟投屏码,并将该至少一个投屏接收方各自的虚拟投屏码输入第一终端设备101,并触发投屏发送指令。
57.响应投屏发送指令,第一终端设备101可获取输入的该至少一个投屏接收方各自的虚拟投屏码,并根据该至少一个投屏接收方各自的虚拟投屏码,向投屏服务器20发送投屏发送请求。
58.在另一些实施例中,该至少一个投屏接收方各自的虚拟投屏码,可由投屏系统100识别得到。在这种实施方式中,第一终端设备101可响应投屏发送指令,向投屏服务器20发送第一终端设备101的位置信息。投屏服务器20接收到第一终端设备101的位置信息后,可根据该位置信息确定位于第一终端设备101的设定距离范围内的候选投屏接收方。其中,该设定距离范围可由用户进行设置,例如该设定距离范围可以为10米内、3米内、或者1米内等等,本实施例不做限制。
59.确定候选投屏接收方后,投屏服务器20可将候选投屏接收方的虚拟投屏码发送至第一终端设备101。第一终端设备101接收投屏服务器20返回的候选投屏接收方的虚拟投屏码后,可展示候选投屏接收方的虚拟投屏码。进而,用户可从第一终端设备101展示的候选投屏接收方的虚拟投屏码中选择一个或者多个目标投屏接收方,得到该至少一个投屏接收方的虚拟投屏码。
60.第一终端设备101获取用户选择的该至少一个投屏接收方各自的虚拟投屏码后,可根据该至少一个投屏接收方各自的虚拟投屏码,向投屏服务器20发送投屏发送请求。
61.投屏服务器20接收到该至少一个接收方各自的虚拟投屏码后,可确定第一终端设备101和该至少一个投屏接收方之间的投屏连接关系。
62.接下来,第一终端设备101可确定待投屏的第一屏幕数据。例如,第一终端设备101可对屏幕上展示的内容进行录制,得到第一屏幕数据。确定第一屏幕数据后,第一终端设备101可将该第一屏幕数据发送至投屏服务器20。
63.投屏服务器20接收到该第一屏幕数据后,可基于第一终端设备101和该至少一个投屏接收方之间的投屏连接关系,将该第一屏幕数据转发至该至少一个投屏接收方。该至少一个投屏接收方接收到该第一屏幕数据后,可展示该第一屏幕数据,以实现投屏接收。
64.可选地,第一终端设备101可展示用于输入投屏接收方的虚拟投屏码的输入区域以及用于发送投屏发送指令的控件按钮。如图2a示意的输入框以及“开始投屏”按钮。第一用户确定投屏接收方的虚拟投屏码之后,可在输入框中输入投屏接收方的虚拟投屏码,如图2b所示;接下来,第一用户可点击该“开始投屏”按钮,以触发投屏发送指令。
65.响应投屏发送指令,第一终端设备101可获取至少一个投屏接收方各自的虚拟投屏码,并将该至少一个投屏接收方各自的虚拟投屏码发送至投屏服务器20,以向投屏服务器20请求投屏至该至少一个投屏接收方。
66.当该至少一个投屏接收方包括一个投屏接收方时,上述投屏方式,可被描述为“投单码”或者“投单屏”的投屏方式。当该至少一个投屏接收方包括多个投屏接收方时,上述投屏方式,可被描述为“投多码”或者“投多屏”的投屏方式。即,第一终端设备101可输入多个投屏接收方各自的虚拟投屏码,并向多个投屏接收方进行投屏。
67.在上述投屏过程中,第一终端设备101与该至少一个投屏接收方,通过虚拟投屏码实现了投屏连接以及屏幕数据的收发,克服了对投屏硬件的依赖。
68.在投屏系统100中,为实现终端设备10和投屏服务器20之间的上述数据交互过程,终端设备10和投屏服务器20可建立通信连接,具体的通信连接方式可视实际的应用场景而定。
69.在一些示例性实施方式中,终端设备10和投屏服务器20之间可采用有线通信方式无线通信方式进行通信。其中,无线通信方式包括蓝牙、zigbee、红外线、wifi(wireless-fidelity,无线保真技术)等短距离通信方式,也包括lora等远距离无线通信方式,还可包括基于移动网络的无线通信方式。其中,当通过移动网络通信连接时,移动网络的网络制式可以为2g(gsm)、2.5g(gprs)、3g(wcdma、td-scdma、cdma2000、utms)、4g(lte)、4g+(lte+)、5g、wimax等中的任意一种。
70.在本实施例中,投屏发送方可根据投屏接收方的虚拟投屏码向投屏服务器发起投屏发送请求。投屏服务器可基于该投屏发送请求中的虚拟投屏码,建立投屏发送方和投屏接收方的投屏连接关系,并将投屏发送方的屏幕数据转发至投屏接收方。进而,基于虚拟投屏码,投屏发送方以及投屏接收方可在不借助投屏硬件的情况下实现屏幕数据共享。一方面,降低了投屏操作对硬件设备的依赖,降低投屏所需的硬件成本;另一方面,投屏操作不受硬件设备的限制,极大增加了投屏的扩展性,有利于投屏场景的不断衍生。
71.在上述实施例中,可选地,投屏发送指令的实现形式与第一终端设备101的实现实现形态相关。当第一终端设备101实现为包含显示组件的设备时,该投屏发送指令可实现为用户针对屏幕发起的触摸指令;当第一终端设备101实现为包含音频组件的设备时,该投屏
发送指令可实现为用户发出的语音指令;当第一终端设备101实现为包含物理按键的设备时,该投屏发送指令可实现为用户针对物理按键的按压操作、旋转操作等等,本实施例不做限制。
72.在一些实施例中,当用户发起投屏发送指令之前,已输入至少一个投屏接收方的虚拟投屏码时,该投屏发送指令可实现为用于发起投屏请求的语音指令,例如“请投屏”、“请帮我投屏”等语音指令。
73.在另一些实施例中,该投屏发送指令可实现为探测投屏接收方的语音指令,例如“找投屏”、“找接收方”、“请查找附近的投屏接收设备”等语音指令。基于该语音指令,第一终端设备101可向投屏服务器20发送自身的位置信息,以供投屏服务器20根据该位置信息自动识别可接收投屏的候选接收方,不再赘述。
74.在这种实施方式中,每个可接收投屏的设备可在运行投屏应用后,自动向投屏服务器20上报位置信息;或者,每个可接收投屏的设备可在投屏服务器20发起位置获取请求后,上报自身的位置信息,本实施例不做限制。其中,每个可接收投屏的设备可在其所属的用户的设置下开启基于位置信息被探测到的功能,也可以不开启基于定位信息被探测到的功能,本实施例不做限制。
75.值得说明的是,在本技术的上述以及下述可选的实施例中,用户向第一终端设备101输入虚拟投屏码时,可输入虚拟投屏码对应的用户的姓名、会议室的名称、员工的工号等等,如图2c所示。投屏服务器20处可保存有虚拟投屏码与用户的姓名、会议室的名称、员工的工号等信息的对应关系。基于这种实施方式,一方面,可避免用户记忆复杂的投屏码,另一方面,可避免投屏码的过度暴露,引发数据安全问题。
76.在一些可能的应用场景中,用户可通过发起包含投屏接收方的标识的语音指令,唤起第一终端设备101的投屏功能,以实现语音投单屏或者语音投多屏功能。例如,在家庭环境中,用户可对手机发出“向客厅的电视和主卧的电视发起投屏”的指令,以使得投屏系统100将手机显示的屏幕数据投屏至家庭环境中位于客厅的电视屏幕上以及位于主卧的电视的屏幕上。又例如,在好友屏幕分享的场景中,用户可对手机发出“向好友f1以及好友f2的手机发起投屏”的指令,以使得投屏系统100将手机显示的屏幕数据投屏好友列表中的好友f1的手机上以及好友f2的手机上。
77.在一些示例性的实施例中,第一终端设备101可以实现为投屏发送方,还可以实现为投屏接收方。具体,当第一终端设备101实现为投屏发送方时,投屏接收方可实现为另一终端设备、直播服务器以及会议服务器中的至少一种。以下将分别进行示例性说明。
78.在一些实施例a1中,投屏接收方实现为终端设备(以下描述为第二终端设备102),第一终端设备101基于终端设备的虚拟投屏码与第二终端设备102建立投屏连接。
79.以投屏接收方实现为第二终端设备102为例。在这种实施例中,第一用户可向第一终端设备101输入第二终端设备102的虚拟投屏码。在用户触发页面上的“开始投屏”按钮时,第一终端设备101可将第二终端设备102的虚拟投屏码发送至投屏服务器20,以向投屏服务器20发送投屏发送请求。投屏服务器20可接收到该投屏发送请求后,可基于第二终端设备102的虚拟投屏码,建立第一终端设备101与第二终端设备102的投屏连接关系。
80.接下来,第一终端设备101可将待投屏的屏幕数据发送至投屏服务器20。投屏服务器20可根据第一终端设备101和第二终端设备102之间的投屏连接关系,将第一终端设备
101发送的屏幕数据下发至第二终端设备102进行展示。
81.在一些实施例a2中,投屏接收方实现为直播服务器,第一终端设备101基于直播服务器的虚拟投屏码与直播服务器建立投屏连接。
82.在这种实施例中,投屏系统100可实现为图3a所示的结构。直播服务器30可响应推流终端的直播请求,创建一个直播,并为该直播分配一个虚拟投屏码。其中,直播服务器30可将该虚拟投屏码与推流终端的直播数据流一并发送至内容分发节点(content delivery network,cdn),以使得拉流终端从内容分发节点获取该虚拟投屏码,并展示该虚拟投屏码。如图3b所示,拉流终端可在直播界面中展示虚拟投屏码。
83.第一用户可从拉流终端获取该虚拟投屏码,并向第一终端设备101输入直播服务器为该直播创建的虚拟投屏码。响应投屏发送指令,第一终端设备101可将直播服务器为直播创建的虚拟投屏码发送至投屏服务器20。投屏服务器20可建立第一终端设备101与直播服务器之间的投屏连接关系。
84.投屏服务器20接收到第一终端设备101发送的屏幕数据后,可基于第一终端设备101和直播服务器30之间的投屏连接关系,将屏幕数据转发至直播服务器30。可选地,在一些实施例中,为便于屏幕数据在直播间进行展示,投屏服务器20可对屏幕数据进行编码转换,并将编码转换后的屏幕数据发送至直播服务器30,本实施例对此不做限制。
85.直播服务器30可将屏幕数据与推流终端的直播数据流进行合并,得到该直播对应的融合数据流,并将融合数据流发送至内容分发节点,以供拉流终端进行观看。基于这一过程,可将第一终端设备101的屏幕数据投射至对应的直播中,进而可以确保屏幕数据清晰地直播间进行展示。
86.在一些实施例a3中,投屏接收方实现为会议服务器,第一终端设备101基于会议服务器的虚拟投屏码与会议服务器建立投屏连接。
87.在一些实施例中,视频会议系统可实现为由视频会议终端、视频会议服务器(mcu,multipoint control unit,多点控制单元)、网络管理系统和传输网络四部分组成的视频会议系统。会议服务器40发起的视频会议可以实现为mcu会议。
88.通常,视频会议终端不具有无线投屏功能。为实现在视频会议终端上进行投屏,投屏系统100可实现为图4a所示的结构。会议服务器40可响应视频会议请求,创建一个视频会议,并为该视频会议分配一个虚拟投屏码。
89.创建视频会议后,会议服务器40可呼叫视频会议终端,以使视频会议终端接入该视频会议。视频会议终端接入视频会议后,会议服务器40可将为视频会议创建的虚拟投屏码发送至该视频会议终端,如图4a所示。会议终端可通过会议大屏展示该虚拟投屏码,如图4b所示。
90.第一用户通过会议大屏查看该虚拟投屏码之后,可向第一终端设备101输入会议服务器40为该视频会议创建的虚拟投屏码,如图4c所示。
91.响应投屏发送指令,第一终端设备101可将会议服务器为视频会议创建的虚拟投屏码发送至投屏服务器20。投屏服务器20可根据该虚拟投屏码,确定会议服务器40创建的视频会议,并通过设定的会话协议,接入该视频会议。其中,该设定的会话协议,可以是sip(session initiation protocol,会话初始协议)协议,本实施例不做限制。
92.如图4a所示,投屏服务器20接收到第一终端设备101发送的屏幕数据后,可将屏幕
数据发送至接入视频会议的视频会议终端。该视频会议终端(例如视频会议硬件设备)可通过会议大屏展示该投屏数据。可选地,在一些实施例中,为便于屏幕数据在视频会议终端进行展示,投屏服务器20可对屏幕数据进行编码转换,并将编码转换后的屏幕数据发送至视频会议终端,本实施例对此不做限制。
93.基于这一过程,可将第一终端设备101的屏幕数据投射至视频会议终端接入的视频会议中,使得传统的不具有无线投屏功能的视频会议终端实现了投屏功能。
94.应当理解的是,上述多种实施例可以单独执行,也可以组合执行。每种实施例单独执行的过程,可被称为“投单码”的投屏过程。多种实施例组合执行时,可被称为“投多码”的投屏过程。以下将结合一个可选的组合实施例进行进一步示例性说明。
95.在一些实施例a4中,投屏接收方实现为第二终端设备102以及直播服务器30,第一终端设备101基于第二终端设备102的虚拟投屏码与第二终端设备102建立投屏连接,并基于直播服务器30的虚拟投屏码与直播服务器30建立投屏连接。
96.这种实施例中,第一用户可向第一终端设备101发起“投多码”的请求,并分别输入第二终端设备102的虚拟投屏码以及直播服务器30为直播创建的虚拟投屏码,如图4d所示。
97.开始投屏时,第一终端设备101可将屏幕数据、第二终端设备102的虚拟投屏码以及直播服务器30为直播创建的虚拟投屏码发送至投屏服务器20。投屏服务器20根据第二终端设备102的虚拟投屏码建立第一终端设备101与第二终端设备102的投屏连接关系,以及,通过直播服务器30为直播创建的虚拟投屏码,建立第一终端设备101与直播服务器30之间的投屏连接关系。接下来,投屏服务器20可将第一终端设备101的屏幕数据分别发送至第二终端设备102以及直播服务器30。第二终端设备102接收到该屏幕数据时,可进行展示;直播服务器30接收到该屏幕数据时,可将屏幕数据进而直播数据流进行合并后推送至内容分发节点,以最终到达直播拉流终端进行展示基于这一过程,可将第一终端设备101的屏幕数据分别投屏至终端设备以及对应的直播间。
98.在一种典型的应用场景中,对课堂授课、视频会议或者培训进行直播时,主讲人需要将电脑上的课件投屏到本地的大屏幕以及直播间。在这种情况下,主讲人获取本地大屏幕的虚拟投屏码以及直播间的虚拟投屏码。向电脑请求“投双码”,并在电脑上输入本地大屏幕的虚拟投屏码以及直播间的虚拟投屏码。进而,主讲人发起投屏时,可将课件分别投屏到本地的大屏幕以及直播间。在这种场景中,基于虚拟投屏码进行投屏,可兼顾多种不同的需求。一方面,可确保直播间观看到的投屏画面具有较高的清晰度,另一方面,降低了设备投屏和直播间投屏两种投屏需求对硬件设备的要求,节省了硬件成本。
99.在一些实施例b中,第一终端设备101可作为投屏接收方,并基于投屏发送方的虚拟投屏码与投屏发送方建立投屏连接,实现屏幕数据的接收。以下将进行示例性说明。
100.存在接收其他投屏发送方的屏幕数据的需求时,第一用户可向第一终端设备101输入至少一个投屏发送方各自的虚拟投屏码,并触发投屏接收指令。
101.可选地,第一终端设备101可展示用于输入其他终端设备的虚拟投屏码的输入区域以及用于触发投屏接收指令的控件按钮。如图2a示意的输入框以及“接收投屏”按钮。第一用户确定投屏发送方的虚拟投屏码之后,可在输入框中输入投屏发送方的虚拟投屏码,如图2b所示;接下来,第一用户可触发该“接收投屏”按钮,以触发投屏接收指令。
102.响应投屏接收指令,第一终端设备101可获取至少一个投屏发送方各自的虚拟投
屏码,并根据该至少一个投屏发送方各自的虚拟投屏码,向投屏服务器20发送投屏接收请求。投屏服务器20接收到该投屏接收请求后,可根据该至少一个投屏发送方各自的虚拟投屏码,分别建立第一终端设备101与该至少一个投屏发送方之间的投屏连接。
103.其中,投屏发送方可实现为除第一终端设备101之外的一个或者多个终端设备。
104.在一些场景中,投屏发送方包含一个终端设备。以下将以投屏发送方实现为第三终端设备为例进行示例性说明。
105.第一用户获取到第三终端设备的虚拟投屏码之后,可将第三终端设备的虚拟投屏码输入第一终端设备101,并触发投屏接收指令。响应该投屏接收指令,第一终端设备101获取第一用户输入的第三终端设备的虚拟投屏码,并可根据第三终端设备的虚拟投屏码向投屏服务器20发送投屏接收请求。投屏服务器20接收到该投屏接收请求后,可根据第一终端设备101发送的第三终端设备的虚拟投屏码,建立第一终端设备101与第三终端设备之间的投屏连接。
106.第三终端设备投屏时,可将待投屏的第三屏幕数据发送至投屏服务器20。投屏服务器20建立第一终端设备101和第三终端设备之间的投屏连接关系之后,可将该第三屏幕数据转发至第一终端设备101。第一终端设备101可接收投屏服务器发送的第三屏幕数据,并在屏幕上的显示区域中,展示该第三屏幕数据。
107.在另一些场景中,投屏发送方包含多个终端设备。当第一终端设备101将多个终端设备各自的虚拟投屏码发送至投屏服务器20以请求接收投屏时,投屏服务器20可分别根据该多个终端设备各自的虚拟投屏码建立第一终端设备101与该多个终端设备之间的投屏连接关系。即,第一终端设备101可同时作为多个投屏发送方的投屏接收方。在这种实施例中,第一终端设备101可将显示界面划分为多个投屏显示区域。当接收到投屏服务器20多个终端设备的屏幕数据后,可在屏幕上的多个显示区域中,同屏展示多个终端设备各自的屏幕数据,不再赘述。
108.以上实施例记载了第一终端设备101基于投屏发送方或者投屏接收方的虚拟投屏码,与投屏发送方或者投屏接收方建立投屏连接并实现投屏的可选实施方式。在另一些可选的实施例中,第一终端设备101可基于自身的虚拟投屏码与投屏发送方或者投屏接收方建立投屏连接,以下将进行示例性说明。
109.在这种实施方式中,可选地,第一终端设备101可基于投屏应用内置的投屏码生成算法,自主创建虚拟投屏码;或者,可选地,第一终端设备101也可在运行投屏应用时,向投屏服务器20申请创建虚拟投屏码,并接收投屏服务器20返回的虚拟投屏码。其中,虚拟投屏码可以是固定的,也可以是动态生成的。
110.第一终端设备101确定自身的虚拟投屏码后,可展示该虚拟投屏码,以供第一用户查看。图2a对第一终端设备101展示的虚拟投屏码进行了示意。其中,虚拟投屏码指的是为设备生成的用于实现投屏接收或者投屏发送的标识或凭证,该虚拟投屏吗可动态生成,不受硬件设备的限制,不需要硬件设备原始具有投屏功能。应当理解,本技术实施例中,虚拟投屏码可实现为图2a所示的数字,也可实现为字母,或者可实现为数字和字母的组合,本实施例不做限制。
111.当第一终端设备101需要与其他终端设备建立投屏连接关系时,第一用户可通过多种途径将第一终端设备101的虚拟投屏码告知其他终端设备的用户(以下称第二用户)。
例如,第一用户可通过电话、短信、邮件或者即时通讯软件的方式将虚拟投屏码告知第二用户。第二用户获知第一终端设备101的虚拟投屏码之后,可在持有的终端设备中输入第一终端设备101的虚拟投屏码。
112.在一些实施例c1中,第一终端设备101作为投屏接收方,并基于第一终端设备101的虚拟投屏码与投屏发送方建立投屏连接,实现屏幕数据的接收。
113.第一终端设备101确定自身的虚拟投屏码之后,可检测用户输入的投屏接收指令,并根据用户输入的投屏接收指令进入投屏接收状态。其中,该指令可以实现为第一用户对屏幕上的控件按钮的触发指令,或者第一用户发出的语音指令,本实施例不做限制。
114.例如,第一终端设备101可展示用于触发第一终端设备101进入投屏状态的操作控件,如图2a所示的“接收投屏”控件。当第一终端设备101检测到用户针对“接收投屏”控件的触发操作时,可认为检测到了用户的投屏接收指令。
115.响应投屏接收指令,第一终端设备101可根据自身的虚拟投屏码向投屏服务器20发送投屏接收请求,以进入投屏接收状态。
116.以投屏发送方实现为第四终端设备为例。第二用户将第一终端设备101的虚拟投屏码输入第四终端设备后,可触发投屏发送指令。响应该投屏发送指令,第四终端设备可根据第一终端设备101的虚拟投屏码向投屏服务器20发送投屏发送请求,并将第四终端设备的第四屏幕数据发送至投屏服务器20。
117.投屏服务器20接收到第四终端设备发送第一终端设备101的虚拟投屏码时,可创建第一终端设备101与第四终端设备之间的投屏连接关系,并将第四屏幕数据转发至第一终端设备101。第一终端设备101接收到投屏服务器20发送的第四屏幕数据后,可在屏幕上展示该第四屏幕数据。
118.在一些可选的实施例中,在上述实施例中,当第一终端设备101作为投屏接收方时,第一终端设备101创建虚拟投屏码之后,可直接进入投屏接收状态。也就是说,第一用户运行第一终端设备101上的投屏软件后,无需执行手动接收投屏发送请求的操作即可接收投屏服务器20下发的屏幕数据。
119.在另一些可选的实施例中,
120.在一些实施例c2中,第一终端设备101作为投屏发送方,并基于第一终端设备101的虚拟投屏码与投屏接收方方建立投屏连接,实现屏幕数据的发送。
121.第一终端设备101确定自身的虚拟投屏码之后,可检测用户输入的投屏发送指令,并根据用户输入的投屏发送指令进入投屏发送状态。其中,该指令可以实现为第一用户对屏幕上的控件按钮的触发指令,或者第一用户发出的语音指令,本实施例不做限制。在一些实施例中,第一终端设备101展示有用于触发投屏操作的控件,如图2a所示的“开始投屏”控件。第一终端设备101检测到第一用户对该“开始投屏”控件的触发操作后,可认为检测到了用户的投屏发送指令。
122.响应投屏发送指令,第一终端设备101可根据自身的虚拟投屏码向投屏服务器20发送投屏发送请求,以进入投屏发送状态。
123.以投屏接收方实现为第五终端设备为例。第一用户可通过即时通信、邮件、口头转达等多种可选的信息传达方式,将第一终端设备101的虚拟投屏码告知持有第五终端设备的第二用户。第二用户可将该虚拟投屏码输入第五终端设备。第二用户将第一终端设备101
的虚拟投屏码输入第五终端设备后,可触发投屏接收指令。响应该投屏发送指令,第五终端设备可将输入的第一终端设备101的虚拟投屏码发送至投屏服务器20。投屏服务器20可建立第一终端设备101和第五终端设备之间的投屏连接关系。
124.在投屏发送状态下,第一终端设备101可获取待投屏的第五屏幕数据,并将第五屏幕数据发送至投屏服务器20。投屏服务器20接收到第一终端设备101发送的第五屏幕数据后,可根据第一终端设备101与第五终端设备的投屏连接关系,将第五屏幕数据转发给第五终端设备。第五终端设备接收到投屏服务器20发送的屏幕数据后,可进行展示。
125.除前述实施例之外,本技术实施例提供的投屏系统100还可用于实现用户群组内部的快速投屏。
126.基于以第一终端设备101为例,第一终端设备101位于一个用户群组中。该用户群组,可以是家庭群、好友群,或者多个用户形成的虚拟会议室。第一终端设备101主要用于:确定终端设备所在的用户群组的虚拟投屏码。该用户群组对应的虚拟投屏码可以固定设置,也可以按照设定的周期进行动态更新。响应投屏发送指令,第一终端设备101可根据用户群组对应的虚拟投屏码,向投屏服务器20发起投屏发送请求。投屏服务器20接收到第一终端设备101的投屏发送请求后,可解析到投屏发送请求包含的第一终端设备所属的用户群组的虚拟投屏码。接下来,投屏服务器20可根据该用户群组的虚拟投屏码,确定第一终端设备101与该用户群组中的终端设备之间的投屏连接关系。
127.接下来,第一终端设备101可将待投屏的屏幕数据发送至投屏服务器20。投屏服务器20接收到第一终端设备101发送的屏幕数据后,可将该屏幕数据发送至该用户群组中的终端设备进行展示。当用户群组包含多个成员时,第一终端设备101基于用户群组对应的虚拟投屏码,向多个成员各自的终端设备进行投屏,实现了“一码投多屏”的投屏效果。
128.可选地,当用户群组的实现形态为虚拟会议室时,投屏服务器20在转发第一终端设备101的屏幕数据时,可进一步判断该用户群组是否对应已启动的视频会议。即,判断该虚拟会议室是否存在正在召开的会议。若为是,则可将第一终端设备101的屏幕数据发送至参与该视频会议的终端设备。
129.可选地,若虚拟会议室当前不存在正在召开的会议,则投屏服务器20可判该虚拟会议室当前是否存在投屏操作,若为否,则投屏服务器20可将第一终端设备101的屏幕数据发送至虚拟会议室中处于投屏接收状态的所有用户的终端设备,不再赘述。
130.如图5所示,用户群组的实现形态为虚拟会议室时,该虚拟会议室可包含多个成员,多个成员数量可以增加或者删减。如图5所示,该虚拟会议室对应一个虚拟投屏码。基于该虚拟投屏码,虚拟会议室中的用户成员,可接收虚拟会议室中的其他成员的投屏数据,也可向虚拟会议室中的其他成员进行投屏。当虚拟会议室中存在正在召开的会议时,任一群组成员可将屏幕数据投屏至会议中;当虚拟会议室中不存在正在召开的会议时,任一群组成员可将屏幕数据投屏至群组中的所有成员的屏幕上,不再赘述。
131.除前述实施例记载的投屏系统之外,本技术实施例还提供一种投屏方法,以下将结合附图进行示例性说明。
132.图6a是本技术一示例性实施例提供的投屏方法的流程示意图,该方法在第一终端设备侧执行时,可包括如图6a所示的步骤:
133.步骤601a、响应投屏发送指令,获取至少一个投屏接收方各自的虚拟投屏码。
134.步骤602a、根据所述至少一个投屏接收方各自的虚拟投屏码,向投屏服务器发起投屏发送请求。
135.步骤603a、将待投屏的第一屏幕数据发送至投屏服务器,以使所述投屏服务器将所述第一屏幕数据发送至所述至少一个投屏接收方进行展示。
136.在一些示例性的实施例中,所述至少一个投屏接收方,包括:终端设备、直播服务器以及会议服务器中的至少一种。
137.在一些示例性的实施例中,获取至少一个投屏接收方的虚拟投屏码的一种方式,可包括:向所述投屏服务器发送所述第一终端设备的位置信息,以使所述投屏服务器根据所述位置信息确定位于所述第一终端设备的设定距离范围内的候选投屏接收方;接收所述投屏服务器返回的所述候选投屏接收方的虚拟投屏码;展示所述候选投屏接收方的虚拟投屏码,以供用户从所述候选投屏接收方的虚拟投屏码中选择所述至少一个投屏接收方的虚拟投屏码。
138.在一些示例性的实施例中,所述投屏发送指令,包括:用于发起投屏请求的语音指令,或者,用于探测投屏接收方的语音指令。
139.在一些示例性的实施例中,该方法还包括:响应投屏接收指令,获取至少一个投屏发送方各自的虚拟投屏码;根据所述至少一个投屏发送方各自的虚拟投屏码,向所述投屏服务器发送投屏接收请求;接收所述投屏服务器发送的所述至少一个投屏发送方各自的屏幕数据;在屏幕上的至少一个显示区域中,展示所述至少一个投屏发送方各自的屏幕数据。
140.在一些示例性的实施例中,该方法还包括:确定第一终端设备的第一虚拟投屏码;响应投屏接收指令,根据所述第一虚拟投屏码,向所述投屏服务器发送投屏接收请求;接收所述投屏服务器发送的第二屏幕数据,所述第二屏幕数据由关联所述第一虚拟投屏码的第二终端设备发送;展示所述第二屏幕数据。
141.在一些示例性的实施例中,该方法还包括:确定第一终端设备的第一虚拟投屏码;响应投屏发送指令,根据所述第一虚拟投屏码,向所述投屏服务器发起投屏发送请求;将待投屏的第三屏幕数据发送至所述投屏服务器,以使所述投屏服务器将所述第三屏幕数据发送至关联所述第一虚拟投屏码的至少一个终端设备进行展示。
142.在一些示例性的实施例中,确定第一终端设备的第一虚拟投屏码,包括:
143.按照设定的投屏码生成算法,生成所述第一虚拟投屏码;或者,向所述投屏服务器发送投屏码获取请求,并接收所述投屏服务器返回的所述第一虚拟投屏码。
144.在本实施例中,投屏发送方可根据投屏接收方的虚拟投屏码向投屏服务器发起投屏发送请求。投屏服务器可基于该投屏发送请求中的虚拟投屏码,建立投屏发送方和投屏接收方的投屏连接关系,并将投屏发送方的屏幕数据转发至投屏接收方。进而,基于虚拟投屏码,投屏发送方以及投屏接收方可在不借助投屏硬件的情况下实现屏幕数据共享。一方面,降低了投屏操作对硬件设备的依赖,降低投屏所需的硬件成本;另一方面,投屏操作不受硬件设备的限制,极大增加了投屏技术的扩展性,有利于投屏场景的不断衍生。
145.图6b是本技术一示例性实施例提供的投屏方法的流程示意图,该方法在第一终端设备侧执行时,可包括如图6b所示的步骤:
146.步骤601b、响应投屏接收指令,获取至少一个投屏发送方各自的虚拟投屏码。
147.步骤602b、根据所述至少一个投屏发送方各自的虚拟投屏码向投屏服务器发送投
屏接收请求。
148.步骤603b、接收所述投屏服务器发送的所述至少一个投屏发送方各自的屏幕数据。
149.步骤604b、在屏幕上的至少一个显示区域中,展示所述至少一个投屏发送方各自的屏幕数据。
150.在本实施例中,投屏接收方可根据投屏发送方的虚拟投屏码向投屏服务器发起投屏接收请求。投屏服务器可基于该投屏接收请求中的虚拟投屏码,建立投屏发送方和投屏接收方的投屏连接关系,并将投屏发送方的屏幕数据转发至投屏接收方。进而,基于虚拟投屏码,投屏发送方以及投屏接收方可在不借助投屏硬件的情况下实现屏幕数据共享,降低了投屏操作对硬件设备的依赖。
151.图6c是本技术一示例性实施例提供的投屏方法的流程示意图,该方法在第一终端设备侧执行时,可包括如图6c所示的步骤:
152.步骤601c、确定第一终端设备的虚拟投屏码。
153.步骤602c、响应投屏接收指令,根据所述第一终端设备的第一虚拟投屏码,向投屏服务器发送投屏接收请求。
154.步骤603c、接收所述投屏服务器发送的屏幕数据,所述屏幕数据由关联所述虚拟投屏码的第二终端设备发送。
155.步骤604c、展示所述屏幕数据。
156.在本实施例中,作为投屏接收方的终端设备可根据自身的虚拟投屏码向投屏服务器发起投屏接收请求。当投屏服务器接收到关联该虚拟投屏码的其他终端设备的屏幕数据后,可将该屏幕数据发送至该投屏接收方进行展示。进而,投屏发送方可基于自身的虚拟投屏码实现共享屏幕数据的接收。
157.图6d是本技术一示例性实施例提供的投屏方法的流程示意图,该方法在第一终端设备侧执行时,可包括如图6d所示的步骤:
158.步骤601d、确定第一终端设备的虚拟投屏码。
159.步骤602d、响应投屏发送指令,根据所述虚拟投屏码,向投屏服务器发起投屏发送请求。
160.步骤603d、将待投屏的屏幕数据发送至所述投屏服务器,以使投屏服务器将所述屏幕数据发送至与所述虚拟投屏码关联的投屏接收方。
161.在本实施例中,作为投屏发送方的终端设备可根据自身的虚拟投屏码向投屏服务器发起投屏发送请求。投屏服务器接收到该终端设备的屏幕数据后,可将该屏幕数据发送至关联该虚拟投屏码的其他终端设备进行展示。进而,投屏发送方可基于自身的虚拟投屏码实现共享屏幕数据的发送。
162.图6e是本技术一示例性实施例提供的投屏方法的流程示意图,该方法在投屏服务器侧执行时,可包括如图6e所示的步骤:
163.步骤601e、接收第一终端设备发送的投屏发送请求;所述投屏发送请求包括:至少一个投屏接收方各自的虚拟投屏码。
164.步骤602e、根据所述至少一个投屏接收方各自的虚拟投屏码,确定所述第一终端设备与所述至少一个投屏接收方之间的投屏连接关系。
165.步骤603e、接收所述第一终端设备发送的待投屏的第一屏幕数据。
166.步骤604e、将所述第一屏幕数据发送至所述至少一个投屏接收方进行展示。
167.在一些示例性的实施例中,接收第一终端设备发送的投屏发送请求之前,还包括:接收所述第一终端设备的位置信息;根据所述位置信息,确定位于所述第一终端设备的设定距离范围内的候选投屏接收方;将所述候选投屏接收方的虚拟投屏码发送至所述第一终端设备,以供用户从所述候选投屏接收方的虚拟投屏码中选择所述至少一个投屏接收方的虚拟投屏码。
168.在一些示例性的实施例中,所述至少一个投屏接收方,包括:终端设备、直播服务器以及会议服务器中的至少一种。
169.在一些示例性的实施例中,根据所述至少一个投屏接收方各自的虚拟投屏码,确定所述第一终端设备与所述至少一个投屏接收方之间的投屏连接关系的一种方法,可包括:根据所述会议服务器的虚拟投屏码,确定所述会议服务器创建的视频会议;通过设定的会话协议,接入所述视频会议,以向接入所述视频会议的视频会议终端发送所述第一屏幕数据。
170.在一些示例性的实施例中,该方法还包括:接收所述第一终端设备发送的投屏接收请求,所述投屏接收请求包含至少一个投屏发送方各自的虚拟投屏码;确定所述第一终端设备与所述至少一个投屏发送方之间的投屏连接关系;接收所述至少一个投屏发送方各自的屏幕数据;将所述至少一个投屏发送方各自的屏幕数据发送至所述第一终端设备进行展示。
171.在一些示例性的实施例中,该方法还包括:接收所述第一终端设备的投屏接收请求,所述投屏接收请求包含所述第一终端设备的第一虚拟投屏码;接收第二终端设备发送的第二屏幕数据和所述第一虚拟投屏码;确定所述第一终端设备和所述第二终端设备的投屏连接关系;将所述第二屏幕数据发送至所述第一终端设备进行展示。
172.在一些示例性的实施例中,该方法还包括:接收所述第一终端设备的投屏发送请求,所述投屏发送请求包含所述第一终端设备的第一虚拟投屏码;确定所述第一终端设备与关联所述第一虚拟投屏码的至少一个终端设备之间的投屏连接关系;接收所述第一终端设备的第三屏幕数据;将所述第三屏幕数据发送至所述至少一个终端设备进行展示。
173.在本实施例中,投屏发送方可根据投屏接收方的虚拟投屏码向投屏服务器发起投屏发送请求。投屏服务器可基于该投屏发送请求中的虚拟投屏码,建立投屏发送方和投屏接收方的投屏连接关系,并将投屏发送方的屏幕数据转发至投屏接收方。进而,基于虚拟投屏码,投屏发送方以及投屏接收方可在不借助投屏硬件的情况下实现屏幕数据共享。一方面,降低了投屏操作对硬件设备的依赖,降低投屏所需的硬件成本;另一方面,投屏操作不受硬件设备的限制,极大增加了投屏技术的扩展性,有利于投屏场景的不断衍生。
174.图7a是本技术一示例性实施例提供的投屏方法的流程示意图,该方法在终端设备侧执行时,可包括如图7a所示的步骤:
175.步骤701a、确定终端设备所在的用户群组的虚拟投屏码。
176.步骤702a、响应投屏发送指令,根据所述虚拟投屏码,向所述投屏服务器发起投屏发送请求。
177.步骤703a、将待投屏的屏幕数据发送至所述投屏服务器,以使投屏服务器将所述
屏幕数据发送至所述用户群组中的终端设备进行展示。
178.相应地,在一投屏服务器一侧,投屏服务器可执行图7b所示的步骤:
179.步骤701b、接收终端设备的投屏发送请求,所述投屏发送请求包含所述终端设备所属的用户群组的虚拟投屏码。
180.步骤702b、确定所述终端设备与所述用户群组中的终端设备之间的投屏连接关系。
181.步骤703b、接收所述终端设备发送的屏幕数据。
182.步骤704b、将所述屏幕数据发送至所述用户群组中的终端设备进行展示。
183.在一些示例性的实施例中,将所述屏幕数据发送至所述用户群组中的终端设备进行展示的一种方式,可包括:判断所述用户群组是否对应已启动的视频会议;若为是,则将所述屏幕数据发送至参与所述视频会议的终端设备。
184.基于上述终端设备和投屏服务器的交互,用户群组中的成员,可基于用户群组对应的虚拟投屏码,向用户群组中的终端设备进行投屏,可在不借助投屏硬件的情况下,快速实现群组内成员的屏幕共享,实现了“一码投多屏”。
185.图8a是本技术一示例性实施例提供的投屏方法的流程示意图,该方法在直播服务器侧执行时,可包括如图8a所示的步骤:
186.步骤801a、响应推流终端的直播请求,创建第一直播。
187.步骤802a、为所述第一直播分配虚拟投屏码,所述虚拟投屏码由拉流终端展示。
188.步骤803a、接收投屏服务器发送的终端设备的屏幕数据,所述终端设备通过所述第一直播的虚拟投屏码与所述直播服务器建立投屏连接关系。
189.步骤804a、将所述屏幕数据和所述推流终端的直播数据流进行合并,得到所述第一直播的融合数据流。
190.步骤805a、将所述融合数据流发送至内容分发节点,以供拉流终端进行观看。
191.在本实施例中,当需要将投屏发送方的屏幕数据投屏至直播中时,直播服务器可为直播分配虚拟投屏码,并由直播拉流终端展示该虚拟投屏码。投屏发送方可根据直播对应的虚拟投屏码向投屏服务器发送投屏发送请求。当接收到投屏发送方的屏幕数据后,投屏服务器可将该屏幕数据发送至直播服务器,并由直播服务器将屏幕数据和直播数据流合并后发送至内容分发节点。进而,拉流终端可从内容分发节点获取到融合数据,并在直播间同时观看到直播数据以及较为清晰的投屏数据。
192.图8b是本技术一示例性实施例提供的投屏方法的流程示意图,该方法在会议服务器侧执行时,可包括如图8b所示的步骤:
193.步骤801b、响应会议请求,创建视频会议。
194.步骤802b、为所述视频会议分配虚拟投屏码。
195.步骤803b、呼叫视频会议终端,以使所述视频会议终端接入所述视频会议。
196.步骤804b、将所述虚拟投屏码发送至所述视频会议终端进行展示。
197.在本实施例中,传统的视频会议终端不具有无线投屏的功能,为在视频会议终端上实现投屏,会议服务器在创建视频会议时,为视频会议分配一个虚拟投屏码,并由视频会议终端展示该虚拟投屏码。投屏发送方可根据该虚拟投屏码向投屏服务器发送投屏发送请求。接收到该投屏发送请求后,投屏服务器可接入该视频会议,并将后续接收到的投屏发送
方的屏幕数据发送至视频会议终端进行展示。进而,实现了对传统的视频会议终端进行改造,使得传统的视频会议终端具备接收投屏数据的能力,丰富视频会议终端的功能。
198.需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤204的执行主体可以为设备a;又比如,步骤201和202的执行主体可以为设备a,步骤203的执行主体可以为设备b;等等。
199.另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
200.图9是本技术一示例性实施例提供的终端设备的结构示意图,该终端设备适用于前述实施例提供的投屏系统。如图9所示,该终端设备包括:存储器901、处理器902、通信组件903以及显示组件904。在以下的实施例中,为便于描述和区分,将图9示意的终端设备描述为第一终端设备。
201.存储器901,用于存储计算机程序,并可被配置为存储其它各种数据以支持在终端设备上的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
202.处理器902,与存储器901耦合,用于执行存储器901中的计算机程序,以用于:响应投屏发送指令,获取至少一个投屏接收方各自的虚拟投屏码;通过通信组件903,根据所述至少一个投屏接收方各自的虚拟投屏码,向投屏服务器发起投屏发送请求;将待投屏的第一屏幕数据发送至投屏服务器,以使所述投屏服务器将所述第一屏幕数据发送至所述至少一个投屏接收方进行展示。
203.进一步可选地,所述至少一个投屏接收方,包括:终端设备、直播服务器以及会议服务器中的至少一种。
204.进一步可选地,处理器902在获取至少一个投屏接收方的虚拟投屏码时,具体用于:向所述投屏服务器发送所述第一终端设备的位置信息,以使所述投屏服务器根据所述位置信息确定位于所述第一终端设备的设定距离范围内的候选投屏接收方;接收所述投屏服务器返回的所述候选投屏接收方的虚拟投屏码;展示所述候选投屏接收方的虚拟投屏码,以供用户从所述候选投屏接收方的虚拟投屏码中选择所述至少一个投屏接收方的虚拟投屏码。
205.在一些示例性的实施例中,所述投屏发送指令,包括:用于发起投屏请求的语音指令,或者,用于探测投屏接收方的语音指令。
206.进一步可选地,处理器902还用于:响应投屏接收指令,获取至少一个投屏发送方各自的虚拟投屏码;根据所述至少一个投屏发送方各自的虚拟投屏码,向所述投屏服务器发送投屏接收请求;接收所述投屏服务器发送的所述至少一个投屏发送方的屏幕数据;在屏幕上的至少一个显示区域中,展示所述至少一个投屏发送方的屏幕数据。
207.进一步可选地,处理器902还用于:确定第一终端设备的第一虚拟投屏码;响应投屏接收指令,根据所述第一虚拟投屏码,向所述投屏服务器发送投屏接收请求;接收所述投
屏服务器发送的第二屏幕数据,所述第二屏幕数据由关联所述第一虚拟投屏码的第二终端设备发送;展示所述第二屏幕数据。
208.进一步可选地,处理器902还用于:确定第一终端设备的第一虚拟投屏码;响应投屏发送指令,根据所述第一虚拟投屏码,向所述投屏服务器发起投屏发送请求;将待投屏的第三屏幕数据发送至所述投屏服务器,以使所述投屏服务器将所述第三屏幕数据发送至关联所述第一虚拟投屏码的至少一个终端设备进行展示。
209.进一步可选地,处理器902在确定第一终端设备的第一虚拟投屏码时,具体用于:按照设定的投屏码生成算法,生成所述第一虚拟投屏码;或者,向所述投屏服务器发送投屏码获取请求,并接收所述投屏服务器返回的所述第一虚拟投屏码。
210.进一步,如图9所示,该终端设备还包括:电源组件905、音频组件906等其它组件。图9中仅示意性给出部分组件,并不意味着终端设备只包括图9所示组件。
211.在本实施例中,投屏发送方可根据投屏接收方的虚拟投屏码向投屏服务器发起投屏发送请求。投屏服务器可基于该投屏发送请求中的虚拟投屏码,建立投屏发送方和投屏接收方的投屏连接关系,并将投屏发送方的屏幕数据转发至投屏接收方。进而,基于虚拟投屏码,投屏发送方以及投屏接收方可在不借助投屏硬件的情况下实现屏幕数据共享。一方面,降低了投屏操作对硬件设备的依赖,降低投屏所需的硬件成本;另一方面,投屏操作不受硬件设备的限制,极大增加了投屏技术的扩展性,有利于投屏场景的衍生。
212.除前述记载的投屏逻辑之外,图9所示的第一终端设备还用于执行以下的投屏逻辑:响应投屏接收指令,获取至少一个投屏发送方各自的虚拟投屏码;通过通信组件903,根据所述至少一个投屏发送方各自的虚拟投屏码向所述投屏服务器发送投屏接收请求;通过通信组件903,接收所述投屏服务器发送的所述至少一个投屏发送方各自的屏幕数据;通过显示组件904,在屏幕上的至少一个显示区域中,展示所述至少一个投屏发送方各自的屏幕数据。
213.除前述记载的投屏逻辑之外,图9所示的第一终端设备还用于执行以下的投屏逻辑:确定第一终端设备的虚拟投屏码;响应投屏接收指令,通过通信组件903,根据所述第一终端设备的第一虚拟投屏码,向所述投屏服务器发送投屏接收请求;通过通信组件903,接收所述投屏服务器发送的屏幕数据,所述屏幕数据由关联所述虚拟投屏码的第二终端设备发送;通过显示组件904展示所述屏幕数据。
214.除前述记载的投屏逻辑之外,图9所示的第一终端设备还用于执行以下的投屏逻辑:确定第一终端设备的虚拟投屏码;响应投屏发送指令,通过通信组件903,根据所述虚拟投屏码,向所述投屏服务器发起投屏发送请求;通过通信组件903,将待投屏的屏幕数据发送至所述投屏服务器,以使投屏服务器将所述屏幕数据发送至与所述虚拟投屏码关联的投屏接收方。
215.除前述记载的投屏逻辑之外,图9所示的第一终端设备还用于执行以下的投屏逻辑:确定终端设备所在的用户群组的虚拟投屏码;响应投屏发送指令,根据所述虚拟投屏码,通过通信组件903,向所述投屏服务器发起投屏发送请求;通过通信组件903,将待投屏的屏幕数据发送至所述投屏服务器,以使投屏服务器将所述屏幕数据发送至所述用户群组中的终端设备进行展示。
216.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计
算机程序被执行时能够实现上述方法实施例中可由终端设备执行的各步骤。
217.图10示意了本技术一示例性实施例提供的服务器的结构示意图,该服务器适用于前述实施例提供的投屏系统。如图10所示,该服务器包括:存储器1001、处理器1002以及通信组件1003。
218.存储器1001,用于存储计算机程序,并可被配置为存储其它各种数据以支持在服务器上的操作。这些数据的示例包括用于在服务器上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
219.处理器1002,与存储器1001耦合,用于执行存储器1001中的计算机程序,以用于执行设定的投屏逻辑。
220.在一些实施例中,图10所示的服务器实现为投屏服务器。
221.处理器1002具体用于:通过通信组件1003,接收第一终端设备发送的投屏发送请求;所述投屏发送请求包括:至少一个投屏接收方各自的虚拟投屏码;根据所述至少一个投屏接收方各自的虚拟投屏码,确定所述第一终端设备与所述至少一个投屏接收方之间的投屏连接关系;通过通信组件1003,接收所述第一终端设备发送的待投屏的第一屏幕数据;通过通信组件1003,将所述第一屏幕数据发送至所述至少一个投屏接收方进行展示。
222.进一步可选地,处理器1002在接收第一终端设备发送的投屏发送请求之前,还用于:接收所述第一终端设备的位置信息;根据所述位置信息,确定位于所述第一终端设备的设定距离范围内的候选投屏接收方;将所述候选投屏接收方的虚拟投屏码发送至所述第一终端设备,以供用户从所述候选投屏接收方的虚拟投屏码中选择所述至少一个投屏接收方的虚拟投屏码。
223.进一步可选地,所述至少一个投屏接收方,包括:终端设备、直播服务器以及会议服务器中的至少一种。
224.进一步可选地,处理器1002根据所述至少一个投屏接收方各自的虚拟投屏码,确定所述第一终端设备与所述至少一个投屏接收方之间的投屏连接关系时,具体用于:根据所述会议服务器的虚拟投屏码,确定所述会议服务器创建的视频会议;通过设定的会话协议,接入所述视频会议,以向接入所述视频会议的视频会议终端发送所述第一屏幕数据。
225.进一步可选地,处理器1002还用于:通过通信组件1003,接收所述第一终端设备发送的投屏接收请求,所述投屏接收请求包含至少一个投屏发送方各自的虚拟投屏码;确定所述第一终端设备与所述至少一个投屏发送方之间的投屏连接关系;接收所述至少一个投屏发送方各自的屏幕数据;将所述至少一个投屏发送方各自的屏幕数据发送至所述第一终端设备进行展示。
226.进一步可选地,处理器1002还用于:通过通信组件1003,接收所述第一终端设备的投屏接收请求,所述投屏接收请求包含所述第一终端设备的第一虚拟投屏码;接收第二终端设备发送的第二屏幕数据和所述第一虚拟投屏码;确定所述第一终端设备和所述第二终端设备的投屏连接关系;将所述第二屏幕数据发送至所述第一终端设备展示。
227.进一步可选地,处理器1002还用于:通过通信组件1003,接收所述第一终端设备的投屏发送请求,所述投屏发送请求包含所述第一终端设备的第一虚拟投屏码;确定所述第一终端设备与关联所述第一虚拟投屏码的至少一个终端设备之间的投屏连接关系;接收所述第一终端设备的第三屏幕数据;将所述第三屏幕数据发送至所述至少一个终端设备进行
展示。
228.进一步,如图10所示,该投屏服务器还包括:电源组件1004等其它组件。图10中仅示意性给出部分组件,并不意味着投屏服务器只包括图10所示组件。
229.在本实施例中,投屏发送方可根据投屏接收方的虚拟投屏码向投屏服务器发起投屏发送请求。投屏服务器可基于该投屏发送请求中的虚拟投屏码,建立投屏发送方和投屏接收方的投屏连接关系,并将投屏发送方的屏幕数据转发至投屏接收方。进而,基于虚拟投屏码,投屏发送方以及投屏接收方可在不借助投屏硬件的情况下实现屏幕数据共享。一方面,降低了投屏操作对硬件设备的依赖,降低投屏所需的硬件成本;另一方面,投屏操作不受硬件设备的限制,极大增加了投屏技术的扩展性,有利于投屏场景的衍生。
230.除前述记载的投屏逻辑之外,图10所示的投屏服务器还用于执行以下的投屏逻辑:处理器1002通过通信组件1003,接收终端设备的投屏发送请求,所述投屏发送请求包含所述终端设备所属的用户群组的虚拟投屏码;确定所述终端设备与所述用户群组中的终端设备之间的投屏连接关系;通过通信组件1003,接收所述终端设备发送的屏幕数据,并将所述屏幕数据发送至所述用户群组中的终端设备进行展示。
231.进一步可选地,处理器1002将所述屏幕数据发送至所述用户群组中的终端设备进行展示时,具体用于:判断所述用户群组是否对应已启动的视频会议;若为是,则将所述屏幕数据发送至参与所述视频会议的终端设备。
232.在另一些可选的实施例中,图10所示的服务器可实现为直播服务器。处理器1002具体用于:响应推流终端的直播请求,创建第一直播;为所述第一直播分配虚拟投屏码,所述虚拟投屏码由拉流终端进行展示;接收投屏服务器发送的终端设备的屏幕数据,所述终端设备通过所述第一直播的虚拟投屏码与所述直播服务器建立投屏连接关系;将所述屏幕数据和所述推流终端的直播数据流进行合并,得到所述第一直播的融合数据流;将所述融合数据流发送至内容分发节点,以供拉流终端进行观看。
233.在又一些可选的实施例中,图10所示的服务器可实现为会议服务器。处理器1002具体用于:响应会议请求,创建视频会议;为所述视频会议分配虚拟投屏码;呼叫视频会议终端,以使所述视频会议终端接入所述视频会议;将所述虚拟投屏码发送至所述视频会议终端进行展示。
234.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由投屏服务器执行的各步骤。
235.上述图9和图10中的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
236.上述图9和图10中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g或5g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(nfc)技术、射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实现。
237.上述图9中的显示组件包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
238.上述图9和图10中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
239.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
240.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
241.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
242.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的
包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
243.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1