屏幕画面传输方法、装置、服务器、系统及存储介质与流程

文档序号:16007610发布日期:2018-11-20 20:15阅读:299来源:国知局

本发明涉及屏幕共享领域,尤其涉及一种屏幕画面传输方法、装置、服务器、系统及存储介质。



背景技术:

屏幕共享是现代工作中具有很高的应用价值,在现代教学中也具有广泛的应用。例如在同一活动的参与中,如会议或是课堂,一名参与者希望将自己的源设备正在播放的屏幕画面分享给其他的参与者,如会议上的发言人将显示内容分享到座下听者们的设备上进行播放,或是教师将讲课内容分享到学生们的设备上进行显示等,使活动的多个参与者都能够在自己的设备上收看到相同的显示内容。

而在屏幕共享的实现上,屏幕画面传输是其中的核心技术。在现有技术,为了实现屏幕画面传输,发送端往往是通过socket与接收端实现连接并传送屏幕画面数据,接收端通过socket接收到所述屏幕画面数据并进行显示,从而将发送端的显示内容共享到接收端上。在具体实现上,其中一种方法是发送端与接收端通过socket直接连接,而另一种方法是发送端通过socket与外置的转发单元连接,由所述转发单元通过socket接收到的发送端发出的屏幕画面数据发送到接收端上。

在实施本发明的过程中,发明人发现,现有的屏幕画面传输技术中,由于socket的底层基于TCP协议,受限于TCP协议的拥塞控制和重传策略,传输的冗余信息会逐渐累积,将导致每一接收端的播放内容与发送端的播放内容之间的延时增加,信息传输效率低下,影响共享的实时性和流畅性,对同一网络中的参与者数量构成了极大的限制。



技术实现要素:

本发明实施例的目的是提供一种屏幕画面传输方法、装置、服务器、系统及存储介质,能有效提升屏幕画面传输的实时性和流畅性,提高屏幕画面传输中可支持的参与者上限。

为实现上述目的,本发明实施例提供了一种屏幕画面传输方法,包括:

对当前时刻的显示画面进行截取;

将截取到的所述显示画面的数据传输至本地浏览器;

基于所述本地浏览器,将所述显示画面的数据发送至服务器;所述显示画面的数据用于触发所述服务器将其通过媒体通道发送至已订阅的接收端设备,并触发接收到所述显示画面的数据的接收端设备通过浏览器对所述显示画面的数据进行渲染显示;其中,所述媒体通道为基于WebRTC的UDP协议的通信链路。

作为上述方案的改进,还包括:

向所述服务器发送订阅指令;所述订阅指令用于触发所述服务器向至少一个接收端设备转发所述订阅指令,并将反馈订阅请求的接收端设备的订阅状态置为已订阅。

与现有技术相比,本发明实施例提供的一种基于浏览器的屏幕画面传输方法,通过对本设备的当前时刻的显示画面进行截取,通过浏览器将截取到的所述显示画面的数据发送给服务器,再由所述服务器通过基于WebRTC的UDP协议的媒体通道发送到接收端设备上进行显示,从而实现屏幕画面的传输。由于采用基于WebRTC的UDP协议的媒体通道进行传输,解决了现有技术由于TCP协议的拥塞控制和重传策略导致的传输效率低下,进而导致的共享的实时性和流畅性不高、可支持的参与者上限较低的技术问题,有效地提升了屏幕画面传输的实时性和流畅性,提高了屏幕画面传输中可支持的参与者上限。

本发明实施例还提供了另一种屏幕画面传输方法,包括步骤:

通过第一媒体通道接收由发送端设备通过浏览器发送的显示画面的数据;其中,所述第一媒体通道为基于WebRTC的UDP协议的通信链路,所述显示画面的数据由所述发送端设备对当前的显示画面进行截取获得;

获取当前已订阅的接收端设备;

通过第二媒体通道向当前已订阅的接收端设备转发接收到的所述显示画面的数据;其中,所述第二媒体通道为基于WebRTC的UDP协议的通信链路。

作为上述方案的改进,还包括:

接收来自至少一个接收端设备的订阅请求;

将发出所述订阅请求的所述接收端设备的订阅状态置为已订阅。

作为上述方案的改进,与所述发送端设备之间的通信链路还包括,基于WebSocket的TCP协议的第一信令通道;在所述接收来自所述接收端设备的订阅请求之前,还包括:

接收所述发送端设备通过所述第一信令通道发送的订阅指令;所述订阅指令包括本设备的地址信息;

向待订阅的接收端设备转发接收到的所述订阅指令;其中,所述订阅指令用于触发所述接收端设备根据所述订阅指令中的地址信息向本设备发起订阅请求。

作为上述方案的改进,所述订阅指令还包括至少一个接收端设备的地址信息;所述待订阅的接收端设备为所述接收端设备的地址信息对应的接收端设备。

作为上述方案的改进,与所述接收端设备之间的通信链路还包括,基于WebSocket的TCP协议的第二信令通道;通过所述第二信令通道,向待订阅的所述接收端设备转发接收到的订阅指令,并接收所述接收端设备响应所述订阅指令而发出的订阅信号。

与现有技术相比,本发明实施例提供的一种基于浏览器的屏幕画面传输方法,通过第一媒体通道接收发送端设备发送的显示画面的数据,并将所述显示画面的数据通过第二媒体通道转发给接收端设备,从而实现所述发送端设备的屏幕画面的传输。由于所述第一媒体通道和所述第二媒体通道均为采用WebRTC的UDP协议的通信链路,解决了现有技术由于TCP协议的拥塞控制和重传策略导致的传输效率低下,进而导致的共享的实时性和流畅性不高、可支持的参与者上限较低的技术问题,有效地提升了屏幕画面传输的实时性和流畅性,提高了屏幕画面传输中可支持的参与者上限。

本发明实施例还提供了一种屏幕画面传输装置,包括:

画面截取模块,用于对当前时刻的显示画面进行截取;

画面传输模块,用于将截取到的所述显示画面的数据传输至本地浏览器;

画面转发模块,基于所述本地浏览器,将所述显示画面的数据发送至服务器;所述显示画面的数据用于触发所述服务器将其通过媒体通道发送至已订阅的接收端设备,并触发接收到所述显示画面的数据的接收端设备通过浏览器对所述显示画面的数据进行渲染显示;其中,所述媒体通道为基于WebRTC的UDP协议的通信链路。

本发明实施例还提供了另一种屏幕画面传输装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的第一种屏幕画面传输方法。

本发明实施例还提供了一种屏幕画面传输服务器,包括第一子服务器,所述第一子服务器包括:

接收模块,用于通过第一媒体通道接收由发送端设备通过浏览器发送的显示画面的数据;其中,所述第一媒体通道为基于WebRTC的UDP协议的通信链路,所述显示画面的数据由所述发送端设备对当前的显示画面进行截取获得;

检测模块,用于获取当前已订阅的接收端设备;

转发模块,用于通过第二媒体通道向当前已订阅的接收端设备转发接收到的所述显示画面的数据;其中,所述第二媒体通道为基于WebRTC的UDP协议的通信链路。

作为上述方案的改进,还包括第二子服务器,所述第二子服务器包括:

指令接收模块,用于接收发送端设备发出的订阅指令;所述订阅指令包括所述第一子服务器的地址信息;

指令转发模块,用于向待订阅的所述接收端设备转发接收到的订阅指令,并接收所述接收端设备响应所述订阅指令而发出的订阅信号。

作为上述方案的改进,所述第一子服务器和所述第二子服务器设于同一计算机设备或设于不同的计算机设备。

本发明实施例还提供了另一种屏幕画面传输服务器,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的第二种屏幕画面传输方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任意一项所述的屏幕画面传输方法。

本发明实施例还提供了一种屏幕画面传输系统,包括如上任一项所述的屏幕画面传输装置,以及若干个接收端设备,还包括如上任一项所述的屏幕画面传输服务器;

所述屏幕画面传输装置作为发送端设备,通过网络与所述屏幕画面传输服务器连接;所述接收端设备通过网络与所述屏幕画面传输服务器连接。

与现有技术相比,本发明实施例提供的一种屏幕画面传输系统,由屏幕画面传输装置当前时刻的显示画面进行截取,通过第一媒体通道将所述显示画面的数据发送到屏幕画面传输服务器,并由所述屏幕画面传输服务器通过第二媒体通道转发给接收端设备,从而实现所述屏幕画面传输装置的屏幕画面的传输。由于所述第一媒体通道和所述第二媒体通道均为采用WebRTC的UDP协议的通信链路,解决了现有技术由于TCP协议的拥塞控制和重传策略导致的传输效率低下,进而导致的共享的实时性和流畅性不高、可支持的参与者上限较低的技术问题,有效地提升了屏幕画面传输的实时性和流畅性,提高了屏幕画面传输中可支持的参与者上限。

附图说明

图1是本发明实施例提供的一种屏幕画面传输系统的结构示意图。

图2是本发明实施例提供的一种屏幕画面传输方法的流程示意图。

图3是本发明实施例提供的另一种屏幕画面传输方法的流程示意图。

图4是如图3所示的屏幕画面传输方法的可选流程的流程示意图。

图5是本发明实施例提供的一种屏幕画面传输方法的流程示意图。

图6是本发明实施例提供的一种屏幕画面传输装置的结构示意图。

图7是本发明实施例提供的一种屏幕画面传输服务器的结构示意图。

图8是本发明实施例提供的一种屏幕画面传输装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中,屏幕画面传输系统包括至少一个发送端设备、至少一个服务器以及若干个接收端设备;其中,所述发送端设备与所述接收端设备至少具有显示功能,并安装具有浏览器功能的相关程序。

在所述屏幕画面传输系统中,所述发送端设备通过网络与所述服务器连接,且所述接收端设备通过网络与所述服务器连接。

参见图1,是本发明实施例提供的一种屏幕画面传输系统的结构示意图,作为举例,屏幕画面传输系统100包括一个发送端设备110、一个服务器120和三个接收端设备130,其中,发送端设备110和接收端设备130均通过网络连接到服务器120。可以理解地,屏幕画面传输系统100所示的结构仅作为举例,在其他情况下,屏幕画面传输系统中的设备数量可以进行调整,例如,可以包括两个或四个接收端设备等,也可以是数量更多的发送端设备,还可以是数量更多的服务器,均不影响本发明可取得的有益效果。

本发明实施例提供了一种如图2所示的屏幕画面传输方法,该屏幕画面传输方法可以由屏幕画面传输系统的发送端设备执行。例如,在多人参与的会议中,与会者拥有平板电脑或是智能手机等设备的情况下,任一与会者的平板电脑或是智能手机均可以作为所述发送端设备,同时其他与会者的可联网显示设备作为接收端设备;又如,在教学课堂上,可以是由教师的平板电脑或是智能手机作为发送端设备,学生的平板电脑或是智能手机作为接收端设备。

可以理解地,可作为发送端设备的设备种类包括但不限于平板电脑或是智能手机,还可以是如笔记本电脑、台式计算机或是学习机等具有显示功能且安装具有浏览器功能的相关程序的电子设备。

本发明实施例提供的所述屏幕画面传输方法包括如下步骤S110至步骤S130。

S110、对当前时刻的显示画面进行截取。

其中,可以是所述发送端设备对设备本身在当前时刻的显示画面进行截取,从而得到所述显示画面的数据。可选地,所述显示画面可以是所述发送端设备的显示模块正在显示的全部内容,也可以是正在显示的部分内容;所述截取可以是通过数据提取以获得所述显示画面的数据,也可以是通过将所述显示画面保存下来,以获得所述显示画面的数据,均不影响本发明取得的有益效果。

S120、将截取到的所述显示画面的数据传输至本地浏览器。

可选地,所述发送端设备可以通过设备本身的内部数据通道,将所述显示画面的数据传输至所述本地浏览器;在由所述本地浏览器完成对所述显示画面的截取工作的情况下,也可以是所述本地浏览器将截取的所述显示画面的数据在程序内部传输进行传输。

S130、基于所述本地浏览器,将所述显示画面的数据发送至服务器;所述显示画面的数据用于触发所述服务器将其通过媒体通道发送至已订阅的接收端设备,并触发接收到所述显示画面的数据的接收端设备通过浏览器对所述显示画面的数据进行渲染显示;其中,所述媒体通道为基于WebRTC的UDP协议的通信链路。

可选地,可以通过预先向所述服务器发送订阅指令,以将全部或部分所述接收端设备的订阅状态置为已订阅;其中,所述订阅指令用于在被所述服务器接收时,触发所述服务器向至少一个接收端设备转发订阅指令;由所述服务器转发的订阅指令用于在被所述接收端设备接收时,触发所述接收端设备向所述服务器反馈订阅请求,所述服务器将反馈所述订阅请求的接收端设备的订阅状态置为已订阅。可以理解的,向所述服务器发送订阅指令的时机可以在步骤S110执行之前,也可以在步骤S120或步骤S130执行之前,均不影响本发明取得的有益效果。

所述发送端设备与所述服务器之间连接的所述媒体通道,基于WebRTC的UDP协议预先构建。具体地,所述发送端设备可以通过在所述本地浏览器上访问所述服务器的IP地址,从而基于WebRTC的UDP协议构建通信链路以连接所述服务器,并经由该通信链路将后续步骤中截取到的显示画面的数据发送给所述服务器。由于所述媒体通道基于WebRTC的UDP通道构建,并且在本设备的功能基于本地浏览器实现,无需针对不同操作系统开发不同的客户端程序,在降低了开发难度的基础上,还同时提高了屏幕画面传输方法在不同应用环境下的兼容性和稳定性。

本发明实施例提供的一种基于浏览器的屏幕画面传输方法,通过对本设备的当前时刻的显示画面进行截取,通过浏览器将截取到的所述显示画面的数据发送给服务器,再由所述服务器通过基于WebRTC的UDP协议的媒体通道发送到接收端设备上进行显示,从而实现屏幕画面的传输。由于采用基于WebRTC的UDP协议的媒体通道进行传输,解决了现有技术由于TCP协议的拥塞控制和重传策略导致的传输效率低下,进而导致的共享的实时性和流畅性不高、可支持的参与者上限较低的技术问题,有效地提升了屏幕画面传输的实时性和流畅性,提高了屏幕画面传输中可支持的参与者上限。

本发明实施例还提供了一种如图3所示基于浏览器的屏幕画面传输方法,该屏幕画面传输方法可以由屏幕画面传输系统的服务器执行,包括如下所述的步骤S210至步骤S230。

S210、通过第一媒体通道接收由发送端设备通过浏览器发送的显示画面的数据;其中,所述第一媒体通道为基于WebRTC的UDP协议的通信链路,所述显示画面的数据由所述发送端设备对当前的显示画面进行截取获得。

其中,所述服务器通过所述第一媒体通道连接到所述发送端设备,具体地,可以是所述服务器预先接收所述发送端设备的网络访问请求并响应,从而基于WebRTC的UDP协议构建与所述发送端设备之间的通信链路,即为所述第一媒体通道。

S220、获取当前已订阅的接收端设备。

可选地,可以是通过预先设定所述接收端设备的订阅状态,在执行本步骤时所述服务器直接获取已订阅的接收端设备;也可以是所述服务器通过预先执行如图4中步骤S221至步骤S224所示的流程或执行如步骤S223至步骤S224所示的流程,即时更新所述接收端设备的订阅状态,以提供对所述接收端设备的订阅状态的调整的灵活性。可以理解的,上述对所述接收端设备的订阅状态的两种调控方式仅作为举例,不论所述服务器采用上述何种方式对所述接收端设备的订阅状态进行调控,均不影响本发明可取得的有益效果。

参见图4,步骤S221至步骤S224如下:

S221、接收所述发送端设备通过所述第一信令通道发送的订阅指令;所述订阅指令包括本设备的地址信息。

优选地,所述订阅指令还可以包括至少一个接收端设备的地址信息,以所述接收端设备的地址信息对应的接收端设备作为待订阅的接收端设备。

所述本设备的地址信息可以是所述服务器的IP地址,或是包括所述服务器的网内地址的其他信息。所述第一信令通道为预先构建的基于WebSocket的TCP的通信链路,该通信链路连接所述服务器与所述发送端设备,使所述服务器与所述发送端设备之间的信令流和媒体流通过不同的通信链路进行传输,避免了媒体流与信令流的传输相互影响的情况发生,提高了带宽的利用率和通信效率。

S222、向待订阅的接收端设备转发接收到的所述订阅指令;其中,所述订阅指令用于触发所述接收端设备根据所述订阅指令中的地址信息向本设备发起订阅请求。

优选地,所述服务器可以是通过第二信令通道想所述接收端设备转发接收到的所述订阅指令。所述第二信令通道为预先构建的基于WebSocket的TCP通信链路,该通信链路连接所述服务器与所述接收端设备,使所述服务器与所述接收端设备之间的信令流和媒体流通过不同的通信链路进行传输,避免了媒体流与信令流的传输相互影响的情况发生,提高了带宽的利用率和通信效率。

S223、接收来自至少一个接收端设备的订阅请求。

其中,所述订阅请求可以是所述接收端设备主动向所述服务器发送的构建媒体通道的请求信息或是向所述服务器订阅媒体流的请求信息,也可以是所述接收端设备在接收到的订阅指令的触发下向所述服务器发送的请求信息。

可选的,所述服务器可以是接收所述接收端设备主动发送的订阅请求,即不经过步骤S221和步骤S222直接执行步骤S223;也可以是接收所述接收端设备在特定的触发条件下发送的订阅请求,如所述服务器执行步骤S221和步骤S222,触发所述接收端设备发送订阅请求,再执行步骤S223的内容,从而提高所述接收端设备的订阅状态的可控性以及对订阅状态的调控的便利性。可以理解的,不论所述服务器接收到所述接收端设备通过上述何种方式发送的订阅请求,均不影响本发明可取得的有益效果。

S224、将发出所述订阅请求的所述接收端设备的订阅状态置为已订阅。

S230、通过第二媒体通道向当前已订阅的接收端设备转发接收到的所述显示画面的数据;其中,所述第二媒体通道为基于WebRTC的UDP协议的通信链路。

其中,所述第二媒体通道可以是在所述接收端设备访问到所述服务器时进行构建,也可以是在所述服务器接收到所述接收端设备发送的订阅请求时进行构建,均不影响本发明可取得的有益效果。

本发明实施例提供的一种屏幕画面传输方法,通过第一媒体通道接收发送端设备发送的显示画面的数据,并将所述显示画面的数据通过第二媒体通道转发给接收端设备,从而实现所述发送端设备的屏幕画面的传输。由于所述第一媒体通道和所述第二媒体通道均为采用WebRTC的UDP协议的通信链路,解决了现有技术由于TCP协议的拥塞控制和重传策略导致的传输效率低下,进而导致的共享的实时性和流畅性不高、可支持的参与者上限较低的技术问题,有效地提升了屏幕画面传输的实时性和流畅性,提高了屏幕画面传输中可支持的参与者上限。

本发明实施例还提供了一种如图5所示的屏幕画面传输方法,该屏幕画面传输方法可以由屏幕画面传输系统执行,包括如下步骤S310至步骤S370:

S310、发送端设备对当前时刻的显示画面进行截取。

S320、所述发送端设备将截取到的所述显示画面的数据传输至本地浏览器。

S330、所述发送端设备基于所述本地浏览器,通过第一媒体通道将所述显示画面的数据发送至服务器;其中,所述第一媒体通道为基于WebRTC的UDP协议的通信链路。

S340、所述服务器通过所述第一媒体通道接收到所述显示画面的数据。

S350、所述服务器获取当前已订阅的接收端设备。

S360、所述服务器通过第二媒体通道向当前已订阅的接收端设备转发接收到的所述显示画面的数据;其中,所述第二媒体通道为基于WebRTC的UDP协议的通信链路。

S370、所述接收端设备接收来自所述第二媒体通道的所述显示画面的数据,并对所述显示画面的数据进行渲染显示。

以图1所示的屏幕画面传输系统为例,屏幕画面传输系统100包括发送端设备110、服务器120、接收端设备130A、接收端设备130B和接收端设备130C。发送端设备110通过服务器120连接到接收端设备130A、130B和130C。发送端设备110截取自身当前时刻的显示画面A,得到显示画面A的数据。发送端设备110将显示画面A的数据传输至本地浏览器,再基于所述本地浏览器,将显示画面A的数据发送至服务器120。由显示画面A的数据触发服务器120进行转发工作,即将显示画面A的数据转发给接收端设备。

假设服务器120对显示画面A的数据进行转发之前,还接收到了由发送端设备110发送出来的订阅指令B,服务器120将订阅指令B转发给接收端设备130A和接收端设备130B,并且接收端设备130A在接收到服务器120转发的订阅指令B之后,向服务器120反馈了订阅请求C,服务器120在接收到订阅请求C之后,将接收端设备130A的订阅状态置为已订阅。当服务器120对显示画面A的数据进行转发时,由于接收端设备130A的订阅状态为已订阅,接收端设备130B和130C的订阅状态未置为已订阅,因此服务器120将显示画面A的数据转发给接收端设备130A,接收端设备130A对接收到的显示画面A的数据进行渲染显示,从而实现发送端设备110的截取的显示画面分享到接收端设备130A上。

本发明实施例提供的一种屏幕画面传输方法,由发送端设备截取当前的显示画面,并将所述显示画面的数据通过第一媒体通道发送给服务器,由服务器将所述显示画面的数据通过第二媒体通道转发给接收端设备,从而实现所述发送端设备的屏幕画面的传输。由于所述第一媒体通道和所述第二媒体通道均为采用WebRTC的UDP协议的通信链路,解决了现有技术由于TCP协议的拥塞控制和重传策略导致的传输效率低下,进而导致的共享的实时性和流畅性不高、可支持的参与者上限较低的技术问题,有效地提升了屏幕画面传输的实时性和流畅性,提高了屏幕画面传输中可支持的参与者上限。

本发明实施例还提供了一种屏幕画面传输装置,参见图6,屏幕画面传输装置40可以作为所述屏幕画面传输系统的发送端设备,也可以作为发送端设备的组成部分。其中,屏幕画面传输装置40包括:

画面截取模块41,用于对当前时刻的显示画面进行截取;

画面传输模块42,用于将截取到的所述显示画面的数据传输至本地浏览器;

画面转发模块43,基于所述本地浏览器,将所述显示画面的数据发送至服务器;所述显示画面的数据用于触发所述服务器将其通过媒体通道发送至已订阅的接收端设备,并触发接收到所述显示画面的数据的接收端设备通过浏览器对所述显示画面的数据进行渲染显示;其中,所述媒体通道为基于WebRTC的UDP协议的通信链路。

屏幕画面传输装置40的工作流程同如图2所示的屏幕画面传输方法,在此不作赘述。

本发明实施例提供的一种屏幕画面传输装置,通过对本设备的当前时刻的显示画面进行截取,通过浏览器将截取到的所述显示画面的数据发送给服务器,再由所述服务器通过基于WebRTC的UDP协议的媒体通道发送到接收端设备上进行显示,从而实现屏幕画面的传输。由于采用基于WebRTC的UDP协议的媒体通道进行传输,解决了现有技术由于TCP协议的拥塞控制和重传策略导致的传输效率低下,进而导致的共享的实时性和流畅性不高、可支持的参与者上限较低的技术问题,有效地提升了屏幕画面传输的实时性和流畅性,提高了屏幕画面传输中可支持的参与者上限。

本发明实施例还提供了一种屏幕画面传输服务器,如图7所示,屏幕画面传输服务器50可以作为所述屏幕画面传输系统的服务器,也可以作为服务器的组成部分。屏幕画面传输服务器50包括第一子服务器51,第一子服务器51包括接收模块51a、检测模块51b和转发模块51c。

接收模块51a,用于通过第一媒体通道接收由发送端设备通过浏览器发送的显示画面的数据;其中,所述第一媒体通道为基于WebRTC的UDP协议的通信链路,所述显示画面的数据由所述发送端设备对当前的显示画面进行截取获得。检测模块51b,用于获取当前已订阅的接收端设备。转发模块51c,用于通过第二媒体通道向当前已订阅的接收端设备转发接收到的所述显示画面的数据;其中,所述第二媒体通道为基于WebRTC的UDP协议的通信链路。

优选地,屏幕画面传输服务器50还可以包括第二子服务器52,第二子服务器52包括指令接收模块52a和指令转发模块52b。

指令接收模块52a,用于接收发送端设备发出的订阅指令;所述订阅指令包括所述第一子服务器的地址信息。指令转发模块52b,用于向待订阅的所述接收端设备转发接收到的订阅指令,并接收所述接收端设备响应所述订阅指令而发出的订阅信号。

可选地,第一子服务器51和第二子服务器52可以设于同一计算机设备;第一子服务器51和第二子服务器52也可以设于不同计算机设备,并共享相同的IP地址,以在任一子服务器出现故障的情况下,另一子服务器可以保持正常工作,提供系统屏幕画面传输服务器的稳定性。

屏幕画面传输服务器50的工作过程同图3所示的屏幕画面传输方法,在此不作赘述。

本发明实施例提供的基于浏览器的屏幕画面传输服务器,通过第一媒体通道接收发送端设备发送的显示画面的数据,并将所述显示画面的数据通过第二媒体通道转发给接收端设备,从而实现所述发送端设备的屏幕画面的传输。由于所述第一媒体通道和所述第二媒体通道均为采用WebRTC的UDP协议的通信链路,解决了现有技术由于TCP协议的拥塞控制和重传策略导致的传输效率低下,进而导致的共享的实时性和流畅性不高、可支持的参与者上限较低的技术问题,有效地提升了屏幕画面传输的实时性和流畅性,提高了屏幕画面传输中可支持的参与者上限。

本发明实施例还提供了一种屏幕画面传输装置,如图8所示,屏幕画面传输装置60可作为屏幕画面传输系统中的发送端设备的组成部分或作为发送端设备,也可作为屏幕画面传输系统中的服务器的组成部分或是服务器,屏幕画面传输装置60包括:处理器61、存储器62以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如屏幕画面传输程序。所述处理器61执行所述计算机程序时实现上述各个屏幕画面传输方法实施例中的步骤,例如图2所示的步骤S120。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如上述实施例中所述的屏幕画面传输装置或屏幕画面传输服务器。

示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器62中,并由所述处理器61执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述屏幕画面传输装置60中的执行过程。例如,所述计算机程序可以被分割成画面截取模块、画面传输模块和画面转发模块,各模块具体功能如下:所述画面截取模块,用于对当前时刻的显示画面进行截取;所述画面传输模块,用于将截取到的所述显示画面的数据传输至本地浏览器;所述画面转发模块,基于所述本地浏览器,将所述显示画面的数据发送至服务器;所述显示画面的数据用于触发所述服务器将其通过媒体通道发送至已订阅的接收端设备,并触发接收到所述显示画面的数据的接收端设备通过浏览器对所述显示画面的数据进行渲染显示;其中,所述媒体通道为基于WebRTC的UDP协议的通信链路。

所述计算机程序还可以被分割成接收模块、检测模块和转发模块,各模块具体功能如下:所述接收模块,用于通过第一媒体通道接收由发送端设备通过浏览器发送的显示画面的数据;其中,所述第一媒体通道为基于WebRTC的UDP协议的通信链路,所述显示画面的数据由所述发送端设备对当前的显示画面进行截取获得;所述检测模块,用于获取当前已订阅的接收端设备;所述转发模块,用于通过第二媒体通道向当前已订阅的接收端设备转发接收到的所述显示画面的数据;其中,所述第二媒体通道为基于WebRTC的UDP协议的通信链路。

所述屏幕画面传输装置60可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述屏幕画面传输装置60可包括,但不仅限于,处理器61、存储器62。本领域技术人员可以理解,所述示意图仅仅是屏幕画面传输装置的示例,并不构成对屏幕画面传输装置60的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述屏幕画面传输装置60还可以包括输入输出设备、网络接入设备、总线等。

所称处理器61可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器61是所述屏幕画面传输装置60的控制中心,利用各种接口和线路连接整个屏幕画面传输装置60的各个部分。

所述存储器62可用于存储所述计算机程序和/或模块,所述处理器61通过运行或执行存储在所述存储器62内的计算机程序和/或模块,以及调用存储在存储器62内的数据,实现所述屏幕画面传输装置60的各种功能。所述存储器62可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器62可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述屏幕画面传输装置60集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

本发明实施例提供的屏幕画面传输装置,在作为屏幕画面传输系统的发送端设备的组成部分或是作为发送端设备时,可取得如图6所示的屏幕画面传输装置的有益效果;在作为屏幕画面传输系统的服务器的组成部分或是作为服务器时,可取得如图7所示的屏幕画面传输服务器的有益效果,在此不作赘述。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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