媒体流的传输方法、装置与系统的制作方法

文档序号:7790416阅读:148来源:国知局
媒体流的传输方法、装置与系统的制作方法
【专利摘要】本发明实施例涉及一种媒体流的传输方法、装置与系统。所述方法由接入终端执行,接入终端与云端服务器为接入终端分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述方法包括:接入终端建立与网络计算机之间的实时协作通道;接入终端通过第一VDI通道向网络计算机发送用户输入的操作指令;接入终端接收网络计算机通过实时协作通道发送的实时协作消息;接入终端通过网络计算机与通信设备进行媒体协商以确定接入终端与通信设备之间用于传输媒体流的媒体属性参数,其中,接入终端与网络计算机之间通过实时协作通道传输用于媒体协商的信息;接入终端根据媒体协商所确定的媒体属性参数与通信设备相互传输媒体流。
【专利说明】媒体流的传输方法、装置与系统
【技术领域】
[0001]本发明涉及通讯【技术领域】,尤其涉及一种媒体流的传输方法、装置与系统。
【背景技术】
[0002]云计算(cloud computing),是一种互联网上的资源利用新方式,为用户依托互联网上异构、自治的服务进行按需即取的计算。
[0003]当前的桌面云也为云计算定义中的一类云,桌面云将用户终端的桌面环境(即用户应用界面)通过云计算模式从物理机器中分离出来,成为一种可对外提供用户应用界面的服务;用户应用界面环境所需的计算、存储资源集中于中央服务器上,以取代终端的本地计算、存储资源;中央服务器的计算、存储资源同时也是共享的、可伸缩的,使得不同用户应用界面环境资源按需分配、交付,达到提升资源利用率,降低整体拥有成本的目的。
[0004]瘦终端(Thin Client,简称:TC)是最常见的接入桌面云的设备,一般是一个内嵌了独立的嵌入式操作系统、可以通过各种协议连接到运行在服务器上的设备。如图1所示的现有技术中用户通过个人电脑(Personal Computer,简称:PC)或TC访问桌面云系统的示意图。在桌面云系统中,云端服务器上虚拟出多个虚拟机,又为网络计算机(NetworkComputer,简称:NC),用户所需的应用运行在某一 NC内部。用户通过PC上的浏览器或者TC连接到云端服务器,云端服务器根据自身的调度策略分配一台NC给用户,TC/PC和NC之间会建立一条虚拟桌面架构(Virtualized Desktop Infrastructure,简称:VDI)通道,用来将NC内部的用户应用界面传递到TC/PC上显示,同时将TC/PC侧用户通过鼠标、键盘等设备输入的数据传递到NC。用户所需的应用、数据等全部存储在NC上,TC/PC仅仅相当于NC的“显示器”。
[0005]进一步地,为了满足用户之间进行视音频通信的需求,现有技术的部署方案具体为:在音频通信时,通信的另一方发送的音频流到达NC时,NC先将接收的音频流解码为原始音频数据,然后压缩成VDI数据,通过VDI通道传到TC/PC,TC/PC解压缩VDI数据得到原始音频数据然后呈现给用户;视频通信时,视频流到达NC后,NC先解码,然后在NC的视频窗口中进行布局和渲染,NC再将整个用户应用界面通过VDI通道呈现在TC/PC。TC/PC获取本地的媒体流时,TC/PC将麦克风和摄像头获取的媒体流通过VDI通道传递到NC,NC解压缩VDI数据得到媒体流,然后编码传递到通信的另一方。
[0006]因此,现有技术中媒体流的传输方案暴露出以下缺陷:1) NC上需要将媒体数据进行转换传输,转换传输的过程导致媒体流时延明显;2) TC/PC和NC之间要通过VDI通道传递媒体数据,增加TC/PC和NC之间的带宽占用,造成带宽的浪费。

【发明内容】

[0007]本发明提供了一种媒体流的传输方法、装置与系统,用以解决现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题。[0008]在第一方面,本发明实施例提供了一种媒体流的传输方法,所述传输方法由接入终端执行,所述接入终端与云端服务器为所述接入终端分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述方法包括:
[0009]所述接入终端建立与所述网络计算机之间的实时协作通道;
[0010]所述接入终端通过所述第一 VDI通道向所述网络计算机发送用户输入的操作指令;
[0011]所述接入终端接收所述网络计算机通过所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在确定所述操作指令是用于指示发起呼叫的操作指令时发送的,用于指示所述接入终端发起与所述通信设备之间的媒体协商;
[0012]所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,其中,所述接入终端与所述网络计算机之间通过所述实时协作通道传输用于所述媒体协商的信息;
[0013]所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流。
[0014]在第一种可能的实现方式中,所述接入终端建立与所述网络计算机之间的实时协作通道具体包括:
[0015]所述接入终端通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者,
[0016]所述接入终端建立与所述网络计算机之间的第二 VDI通道;或者,
[0017]所述接入终端通过所述接入终端的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述接入终端中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
[0018]结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括:
[0019]所述接入终端获取所述接入终端所支持的第一媒体属性参数,所述第一媒体属性参数包括所述接入终端支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0020]所述接入终端通过所述实时协作通道向所述网络计算机发送所述第一媒体属性参数,用于使所述网络计算机向被呼叫的通信设备发送携带所述第一媒体属性参数的连接请求消息;
[0021]所述接入终端接收所述网络计算机通过所述实时协作通道发送的所述网络计算机接收自所述通信设备的第二媒体属性参数,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0022]所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流,具体包括:
[0023]所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0024]结合第一方面或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述所述接入终端获取所述接入终端所支持的第一媒体属性参数具体包括:
[0025]所述接入终端调用所述接入终端的浏览器应用程序编程接口 API中的新建对等连接接口函数;
[0026]所述接入终端利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建请求函数,获取所述接入终端所支持的第一媒体属性参数。
[0027]在第二方面,本发明实施例提供了一种媒体流的传输方法,所述方法由云端服务器为接入终端分配的网络计算机执行,所述网络计算机与所述接入终端之间建立了第一虚拟桌面架构VDI通道,所述方法包括:
[0028]所述网络计算机建立与所述接入终端之间的实时协作通道;
[0029]所述网络计算机接收所述接入终端通过所述第一 VDI通道发送的用户输入的操作指令;
[0030]所述网络计算机在确定所述操作指令是用于指示发起呼叫的操作指令时,通过所述实时协作通道向所述接入终端发送实时协作消息,所述实时协作消息用于指示所述接入终端发起与所述通信设备之间的媒体协商;
[0031]所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述网络计算机与所述接入终端之间通过所述实时协作通道传输用于进行所述媒体协商的信息。
[0032]在第一种可能的实现方式,所述网络计算机建立与所述接入终端之间的实时协作通道具体包括:
[0033]所述网络计算机通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者,
[0034]所述网络计算机建立与所述接入终端之间的第二 VDI通道;或者,
[0035]所述网络计算机通过所述网络计算机的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述网络计算机中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
[0036]结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括:
[0037]所述网络计算机接收所述接入终端通过所述实时协作通道发送的所述接入终端所支持的第一媒体属性参数,所述第一媒体属性参数包括所述接入终端支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0038]根据所述用户输入的用于指示发起呼叫的操作指令,所述网络计算机向所述通信设备发送连接请求消息,所述连接请求消息包括所述第一媒体属性参数;
[0039]所述网络计算机接收所述通信设备确定所述通信设备支持所述第一媒体属性参数时发送的连接应答消息,所述连接应答消息包括所述通信设备所支持的第二媒体属性参数,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0040]所述网络计算机通过所述实时协作通道向所述接入终端发送所述第二媒体属性参数,以便于所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0041]结合第二方面或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述操作指令,所述网络计算机向所述通信设备发送连接请求消息之前还包括:
[0042]所述网络计算机调用WebRTC信令消息协议栈;
[0043]利用所述信令消息协议栈,所述网络计算机对所述第一媒体属性参数进行封装处理,生成所述连接请求消息,所述连接请求消息包括所述第一媒体属性参数。
[0044]在第三方面,本发明实施例提供了一种媒体流的传输方法,所述传输方法由接入终端执行,所述接入终端与云端服务器为所述接入终端分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述方法包括:
[0045]所述接入终端建立与所述网络计算机之间的实时协作通道;
[0046]所述接入终端接收所述网络计算机通过所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在接收到通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求时发送的,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商;
[0047]所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,其中,所述接入终端与所述网络计算机之间通过所述实时协作通道传输用于所述媒体协商的信息;
[0048]所述接入终端根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流。
[0049]在第一种可能的实现方式中,所述接入终端建立与所述网络计算机之间的实时协作通道具体包括:
[0050]所述接入终端通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者,
[0051]所述接入终端建立与所述网络计算机之间的第二 VDI通道;或者,
[0052]所述接入终端通过所述接入终端的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述接入终端中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
[0053]结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一媒体属性参数包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0054]所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括:
[0055]所述接入终端根据所述第一媒体属性参数确定所述接入终端所支持的第二媒体属性参数,所述第二媒体属性参数包括所述接入终端用于接收媒体的IP地址和端口号、以及所述接入终端根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0056]所述接入终端通过所述实时协作通道向所述网络计算机发送所述第二媒体属性参数,用于使所述网络计算机向所述通信设备转发所述第二媒体属性参数;
[0057]所述接入终端根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流,具体包括:
[0058]所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0059]结合第三方面或第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述接入终端根据所述第一媒体属性参数确定所述第二媒体属性参数具体包括:
[0060]所述接入终端调用所述接入终端的浏览器应用程序编程接口 API中的新建对等连接接口函数;
[0061]所述接入终端利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建回复函数,获取所述第二媒体属性参数。
[0062]在第四方面,本发明实施例提供了一种媒体流的传输方法,所述方法由云端服务器为接入终端分配的网络计算机执行,所述网络计算机与所述接入终端之间建立了第一虚拟桌面架构VDI通道,所述方法包括:
[0063]所述网络计算机建立与所述接入终端之间的实时协作通道;
[0064]所述网络计算机接收通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求;
[0065]根据所述呼叫请求,所述网络计算机通过所述实时协作通道向所述接入终端发送实时协作消息,其中,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商;
[0066]所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述网络计算机与所述接入终端之间通过所述实时协作通道传输用于进行所述媒体协商的信息。
[0067]在第一种可能的实现方式中,所述网络计算机建立与所述接入终端之间的实时协作通道具体包括:
[0068]所述网络计算机通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者,
[0069]所述网络计算机建立与所述接入终端之间的第二 VDI通道;或者,
[0070]所述网络计算机通过所述网络计算机的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述网络计算机中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
[0071]结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一媒体属性参数包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0072]所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括:
[0073]所述网络计算机接收所述接入终端通过所述实时协作通道发送的第二媒体属性参数,所述第二媒体属性参数包括所述接入终端用于接收媒体的IP地址和端口号、以及所述接入终端根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0074]所述网络计算机向所述通信设备转发所述第二媒体属性参数,以便于所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号向所述接入终端发送第一媒体,并接收所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0075]结合第四方面或第四方面的第二种可能的实现方式,在第三种可能的实现方式中,所述网络计算机向所述通信设备转发所述第二媒体属性参数之前还包括:
[0076]所述网络计算机调用WebRTC信令消息协议栈;
[0077]利用所述信令消息协议栈,所述网络计算机对所述第二媒体属性参数进行封装处理,生成呼叫响应;
[0078]所述网络计算机向所述通信设备发送所述呼叫响应,所述呼叫响应包括所述第二媒体属性参数。
[0079]在第五方面,本发明实施例提供了一种媒体流的传输装置,所述装置与云端服务器为所述装置分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述装置包括:
[0080]协作通道建立单元,用于建立与所述网络计算机之间的实时协作通道;
[0081]发送单元,用于通过所述第一 VDI通道向所述网络计算机发送用户输入的操作指令;
[0082]接收单元,用于接收所述网络计算机通过所述协作通道建立单元建立的所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机确定所述操作指令是用于发起呼叫的操作指令时发送的,用于指示所述装置发起与所述通信设备之间的媒体协商;
[0083]协商确定单元,用于通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数,并用于将所述媒体协商所确定的所述媒体属性参数传输至媒体传输单元,其中,所述装置与所述网络计算机之间通过所述协作通道建立单元建立的所述实时协作通道传输用于所述媒体协商的信息;
[0084]媒体传输单元,用于从所述协商确定单元接收所述媒体协商所确定的所述媒体属性参数,根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流。
[0085]在第一种可能的实现方式中,所述协作通道建立单元具体用于,
[0086]通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者,
[0087]建立与所述网络计算机之间的第二 VDI通道;或者,
[0088]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
[0089]结合第五方面或第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述协商确定单元具体包括获取子单元和确定子单元:
[0090]所述获取子单元,用于获取所述装置所支持的第一媒体属性参数,并用于将所述第一媒体属性参数传输至所述发送单元,所述第一媒体属性参数包括所述装置支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0091]所述发送单元还用于,从所述获取子单元接收所述第一媒体属性参数,通过所述协作通道建立单元建立的所述实时协作通道向所述网络计算机发送所述第一媒体属性参数,用于使所述网络计算机向被呼叫的通信设备发送携带所述第一媒体属性参数的连接请求消息;
[0092]所述接收单元还用于,接收所述网络计算机通过所述协作通道建立单元建立的所述实时协作通道发送的所述网络计算机接收自所述通信设备的第二媒体属性参数,并将所述第二媒体属性参数传输至所述协商确定单元的确定子单元,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述装置和所述通信设备均支持的媒体格式;
[0093]所述确定子单元,用于从所述接收单元接收所述第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述媒体传输单元;
[0094]所述媒体传输单元具体用于,通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述装置用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0095]结合第五方面或第五方面的第二种可能的实现方式,在第三种可能的实现方式中,所述获取子单元具体用于,
[0096]调用所述装置的浏览器应用程序编程接口 API中的新建对等连接接口函数;
[0097]利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建请求函数,获取所述装置所支持的第一媒体属性参数。
[0098]在第六方面,本发明实施例提供了 一种媒体流的传输装置,所述装置由云端服务器为接入终端分配的,所述装置与所述接入终端之间建立了第一虚拟桌面架构VDI通道,所述装置包括:
[0099]协作通道建立单元,用于建立与所述接入终端之间的实时协作通道;
[0100]接收单元,用于接收所述接入终端通过所述第一 VDI通道发送的用户输入的操作指令;
[0101]发送单元,用于在确定所述操作指令是用于指示发起呼叫的操作指令时,通过所述协作通道建立单元建立的所述实时协作通道向所述接入终端发送实时协作消息,所述实时协作消息用于指示所述接入终端发起与所述通信设备之间的媒体协商;
[0102]所述发送单元还用于,转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述装置与所述接入终端之间通过所述协作通道建立单元建立的所述实时协作通道传输用于进行所述媒体协商的信息。
[0103]在第一种可能的实现方式中,所述协作通道建立单元具体用于,
[0104]通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者,
[0105]建立与所述接入终端之间的第二 VDI通道;或者,
[0106]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
[0107]结合第六方面或第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收单元具体用于,接收所述接入终端通过所述协作通道建立单元建立的所述实时协作通道发送的所述接入终端所支持的第一媒体属性参数,并用于将所述第一媒体属性参数传输至所述发送单元,所述第一媒体属性参数包括所述接入终端支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0108]所述发送单元具体用于,从所述接收单元接收所述第一媒体属性参数,根据所述用户输入的用于指示发起呼叫的操作指令,向所述通信设备发送连接请求消息,所述连接请求消息包括所述第一媒体属性参数;
[0109]所述接收单元还具体用于,接收所述通信设备确定所述通信设备支持所述第一媒体属性参数时发送的连接应答消息,所述连接应答消息包括所述通信设备所支持的第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述发送单元,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0110]所述发送单元还具体用于,从所述接收单元接收所述第二媒体属性参数,通过所述协作通道建立单元建立的所述实时协作通道向所述接入终端发送所述第二媒体属性参数,以便于所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0111]结合第六方面或第六方面的第二种可能的实现方式,在第三种可能的实现方式中,所述传输装置还包括:
[0112]调用单元,用于调用WebRTC信令消息协议栈;
[0113]封装生成单元,用于利用所述调用单元调用的所述信令消息协议栈,对所述第一媒体属性参数进行封装处理,生成所述连接请求消息,所述连接请求消息包括所述第一媒体属性参数。
[0114]在第七方面,本发明实施例提供了一种媒体流的传输装置,所述装置与云端服务器为所述装置分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述装置包括:
[0115]协作通道建立单元,用于建立与所述网络计算机之间的实时协作通道;
[0116]接收单元,用于接收所述网络计算机通过所述协作通道建立单元建立的所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在接收到通信设备发送的用于呼叫所述装置对应的用户的呼叫请求时发送的,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述装置根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商;
[0117]协商确定单元,用于通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数,并用于将所述媒体协商所确定的所述媒体属性参数传输至媒体传输单元,其中,所述装置与所述网络计算机之间通过所述协作通道建立单元建立的所述实时协作通道传输用于所述媒体协商的信息;
[0118]媒体传输单元,用于从所述协商确定单元接收所述媒体协商所确定的所述媒体属性参数,根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流。
[0119]在第一种可能的实现方式中,所述协作通道建立单元具体用于,
[0120]通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者,
[0121]建立与所述网络计算机之间的第二 VDI通道;或者,
[0122]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
[0123]结合第七方面或第七方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收单元接收的所述实时协作消息中包括的所述第一媒体属性参数,包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0124]所述协商确定单元具体包括:确定子单元和发送子单元;
[0125]所述确定子单元,用于根据所述第一媒体属性参数确定所述装置所支持的第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述发送子单元,所述第二媒体属性参数包括所述装置用于接收媒体的IP地址和端口号、以及所述装置根据所述第一媒体属性参数确定的所述装置和所述通信设备均支持的媒体格式;
[0126]所述发送子单元,用于从所述确定子单元接收所述第二媒体属性参数,将所述所述第二媒体属性参数传输至所述媒体传输单元,并用于通过所述协作通道建立单元建立的所述实时协作通道向所述网络计算机发送所述第二媒体属性参数,用于使所述网络计算机向所述通信设备转发所述第二媒体属性参数;
[0127]所述媒体传输单元具体用于,通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述装置用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0128]结合第七方面或第七方面的第二种可能的实现方式,在第三种可能的实现方式中,所述确定子单元具体用于,
[0129]调用所述装置的浏览器应用程序编程接口 API中的新建对等连接接口函数,并利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建回复函数,获取所述第二媒体属性参数。
[0130]在第八方面,本发明实施例提供了一种媒体流的传输装置,所述装置由云端服务器为接入终端分配的,所述装置与所述接入终端之间建立了第一虚拟桌面架构VDI通道,所述装置包括:
[0131]协作通道建立单元,用于建立与所述接入终端之间的实时协作通道;
[0132]接收单元,用于接收通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求,并用于将所述呼叫请求传输至发送单元;
[0133]发送单元,用于从所述接收单元接收所述呼叫请求,根据所述呼叫请求,通过所述协作通道建立单元建立的所述实时协作通道向所述接入终端发送实时协作消息,其中,所述实时协作消息包括所述装置从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商;
[0134]所述发送单元还用于,转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述装置与所述接入终端之间通过所述协作通道建立单元建立的所述实时协作通道传输用于进行所述媒体协商的信息。
[0135]在第一种可能的实现方式中,所述协作通道建立单元具体用于,
[0136]通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者,
[0137]建立与所述接入终端之间的第二 VDI通道,
[0138]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
[0139]结合第八方面或第八方面的第一种可能的实现方式,在第二种可能的实现方式中,所述发送单元发送的所述实时协作消息中包括的所述第一媒体属性参数,包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0140]所述接收单元还用于,接收所述接入终端通过所述协作通道建立单元建立的所述实时协作通道发送的第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述发送单元,所述第二媒体属性参数包括所述接入终端用于接收媒体的IP地址和端口号、以及所述接入终端根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0141]所述发送单元具体用于,向所述通信设备转发所述接收单元接收的所述第二媒体属性参数,以便于所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号向所述接入终端发送第一媒体,并接收所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0142]结合第八方面或第八方面的第二种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:
[0143]调用单元,用于调用WebRTC信令消息协议栈;
[0144]封装生成单元,用于利用所述调用单元调用的所述信令消息协议栈,对所述接收单元接收的所述第二媒体属性参数进行封装处理,生成呼叫响应,并用于将所述呼叫响应传输至所述发送单元;
[0145]所述发送单元具体用于,向所述通信设备发送所述封装生成单元生成的所述呼叫响应,所述呼叫响应包括所述第二媒体属性参数。
[0146]在第九方面,本发明实施例提供了一种媒体流的传输装置,所述装置与云端服务器为所述装置分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述装置包括:
[0147]网络接口 ;
[0148]处理器;
[0149]存储器;
[0150]所述网络接口用于与网络计算机进行交互通信;
[0151 ] 所述存储器,用于存储应用程序,所述应用程序包括可用于使所述处理器执行以下过程的指令:
[0152]建立与所述网络计算机之间的实时协作通道;
[0153]通过所述第一 VDI通道向所述网络计算机发送用户输入的操作指令;
[0154]接收所述网络计算机通过所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在确定所述操作指令是用于指示发起呼叫的操作指令时发送的,用于指示所述装置发起与所述通信设备之间的媒体协商;
[0155]通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数,其中,所述装置与所述网络计算机之间通过所述实时协作通道传输用于所述媒体协商的信息;
[0156]根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流。
[0157]在第一种可能的实现方式中,所述存储器存储的应用程序还包括可用于使所述处理器建立与所述网络计算机之间的实时协作通道过程的指令具体为执行以下过程的指令:
[0158]通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者,
[0159]建立与所述网络计算机之间的第二 VDI通道;或者,
[0160]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
[0161]结合第九方面或第九方面的第一种可能的实现方式,在第二种可能的实现方式中,所述存储器存储的应用程序可用于使所述处理器执行通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数过程的指令具体为执行以下过程的指令:
[0162]获取所述装置所支持的第一媒体属性参数,所述第一媒体属性参数包括所述装置支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0163]通过所述实时协作通道向所述网络计算机发送所述第一媒体属性参数,用于使所述网络计算机向被呼叫的通信设备发送携带所述第一媒体属性参数的连接请求消息;
[0164]接收所述网络计算机通过所述实时协作通道发送的所述网络计算机接收自所述通信设备的第二媒体属性参数,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述装置和所述通信设备均支持的媒体格式;
[0165]其中,所述存储器存储的应用程序可用于使所述处理器执行根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流过程的指令具体为执行以下过程的指令:
[0166]通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述装置用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0167]结合第九方面或第九方面的第二种可能的实现方式,在第三种可能的实现方式中,所述存储器存储的应用程序可用于使所述处理器执行获取所述装置所支持的第一媒体属性参数过程的指令具体为执行以下过程的指令:
[0168]调用所述装置的浏览器应用程序编程接口 API中的新建对等连接接口函数;
[0169]利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建请求函数,获取所述装置所支持的第一媒体属性参数。
[0170]在第十方面,本发明实施例提供了一种媒体流的传输装置,所述装置由云端服务器为接入终端分配的,所述装置与所述接入终端之间建立了第一虚拟桌面架构VDI通道,所述装置包括:
[0171]网络接口 ;
[0172]处理器;
[0173]存储器;
[0174]所述网络接口用于与接入终端、WebRTC服务器以及通信设备进行交互通信;
[0175]所述存储器,用于存储应用程序,所述应用程序包括可用于使所述处理器执行以下过程的指令:
[0176]建立与所述接入终端之间的实时协作通道;
[0177]接收所述接入终端通过所述第一 VDI通道发送的用户输入的操作指令;
[0178]在确定所述操作指令是用于指示发起呼叫的操作指令时,通过所述实时协作通道向所述接入终端发送实时协作消息,所述实时协作消息用于指示所述接入终端发起与所述通信设备之间的媒体协商;
[0179]转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述装置与所述接入终端之间通过所述实时协作通道传输用于进行所述媒体协商的信息。[0180]在第一种可能的实现方式中,所述存储器存储的应用程序还包括可用于使所述处理器执行建立与所述接入终端之间的实时协作通道过程的指令具体为执行以下过程的指令:
[0181]通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者,
[0182]建立与所述接入终端之间的第二 VDI通道;或者,
[0183]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
[0184]结合第十方面或第十方面的第一种可能的实现方式,在第二种可能的实现方式中,所述存储器存储的应用程序可用于使所述处理器执行转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数过程的指令具体为执行以下过程的指令:
[0185]接收所述接入终端通过所述实时协作通道发送的所述接入终端所支持的第一媒体属性参数,所述第一媒体属性参数包括所述接入终端支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0186]根据所述用户输入的用于指示发起呼叫的操作指令,向所述通信设备发送连接请求消息,所述连接请求消息包括所述第一媒体属性参数;
[0187]接收所述通信设备确定所述通信设备支持所述第一媒体属性参数时发送的连接应答消息,所述连接应答消息包括所述通信设备所支持的第二媒体属性参数,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0188]通过所述实时协作通道向所述接入终端发送所述第二媒体属性参数,以便于所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0189]结合第十方面或第十方面的第二种可能的实现方式,在第三种可能的实现方式中,所述存储器存储的应用程序还包括可用于使所述处理器执行以下过程的指令:
[0190]调用WebRTC信令消息协议栈;
[0191]利用所述信令消息协议栈,对所述第一媒体属性参数进行封装处理,生成所述连接请求消息,所述连接请求消息包括所述第一媒体属性参数。
[0192]在第十一方面,本发明实施例提供了一种媒体流的传输装置,所述装置与云端服务器为所述装置分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述装置包括:
[0193]网络接口 ;
[0194]处理器;
[0195]存储器;
[0196]所述网络接口用于与网络计算机进行交互通信;[0197]所述存储器,用于存储应用程序,所述应用程序包括可用于使所述处理器执行以下过程的指令:
[0198]建立与所述网络计算机之间的实时协作通道;
[0199]接收所述网络计算机通过所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在接收到通信设备发送的用于呼叫所述装置对应的用户的呼叫请求时发送的,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述装置根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商;
[0200]通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数,其中,所述装置与所述网络计算机之间通过所述实时协作通道传输用于所述媒体协商的信息;
[0201]根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流。
[0202]在第一种可能的实现方式中,所述存储器存储的应用程序可用于使所述处理之执行建立与所述网络计算机之间的实时协作通道过程的指令具体为执行以下过程的指令:
[0203]通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者,
[0204]建立与所述网络计算机之间的第二 VDI通道;或者,
[0205]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
[0206]结合第十一方面或第十`一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一媒体属性参数包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0207]所述存储器存储的应用程序可用于使所述处理器执行通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数过程的指令具体为执行以下过程的指令:
[0208]根据所述第一媒体属性参数确定所述装置所支持的第二媒体属性参数,所述第二媒体属性参数包括所述装置用于接收媒体的IP地址和端口号、以及所述装置根据所述第一媒体属性参数确定的所述装置和所述通信设备均支持的媒体格式;
[0209]通过所述实时协作通道向所述网络计算机发送所述第二媒体属性参数,用于使所述网络计算机向所述通信设备转发所述第二媒体属性参数;
[0210]其中,所述存储器存储的应用程序可用于使所述处理器执行根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流过程的指令具体为执行以下过程的指令:
[0211]通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述装置用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0212]结合第十一方面或第十一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述存储器存储的应用程序可用于使所述处理器执行根据所述第一媒体属性参数确定所述第二媒体属性参数过程的指令具体为执行以下过程的指令:
[0213]调用所述装置的浏览器应用程序编程接口 API中的新建对等连接接口函数;
[0214]利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建回复函数,获取所述第二媒体属性参数。
[0215]在第十二方面,本发明实施例提供了一种媒体流的传输装置,所述装置与所述接入终端之间建立了第一虚拟桌面架构VDI通道,所述装置由云端服务器为接入终端分配的,所述装置包括:
[0216]网络接口 ;
[0217]处理器;
[0218]存储器;
[0219]所述网络接口用于与接入终端、WebRTC服务器以及通信设备进行交互通信;
[0220]所述存储器,用于存储应用程序,所述应用程序包括可用于使所述处理器执行以下过程的指令:
[0221]建立与所述接入终端之间的实时协作通道;
[0222]接收通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求;
[0223]根据所述呼叫请求,通过所述实时协作通道向所述接入终端发送实时协作消息,其中,所述实时协作消息包括所述装置从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商;
[0224]转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述装置与所述接入终端之间通过所述实时协作通道传输用于进行所述媒体协商的信息。
[0225]在第一种可能的实现方式中,所述存储器存储的应用程序可用于使所述处理器执行执行建立与所述接入终端之间的实时协作通道过程的指令具体为执行以下过程的指令:
[0226]通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者,
[0227]建立与所述接入终端之间的第二 VDI通道;或者,
[0228]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
[0229]结合第十二方面或第十二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一媒体属性参数包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0230]所述存储器存储的应用程序可用于使所述处理器执行转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数过程的指令具体为执行以下过程的指令:[0231]接收所述接入终端通过所述实时协作通道发送的第二媒体属性参数,所述第二媒体属性参数包括所述接入终端用于接收媒体的IP地址和端口号、以及所述接入终端根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0232]向所述通信设备转发所述第二媒体属性参数,以便于所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号向所述接入终端发送第一媒体,并接收所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0233]结合第十二方面或第十二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述存储器存储的应用程序还包括可用于使所述处理器执行以下过程的指令:
[0234]调用WebRTC信令消息协议栈;
[0235]利用所述信令消息协议栈,对所述第二媒体属性参数进行封装处理,生成呼叫响应;
[0236]向所述通信设备发送所述呼叫响应,所述呼叫响应包括所述第二媒体属性参数。
[0237]在第十三方面,本发明实施例提供了一种媒体流的传输系统,所述系统包括:如本发明第五方面以及第六方面提供的媒体流的传输装置;
[0238]或者,如本发明第七方面以及第八方面提供的媒体流的传输装置。
[0239]在第十四方面,本发明实施例提供了一种媒体流的传输系统,所述系统包括:如本发明第九方面以及第十方面提供的媒体流的传输装置;
[0240]或者,如本发明第十一方面以及第十二方面提供的媒体流的传输装置。
[0241]因此,通过应用本发明实施例提供的媒体流的传输方法与装置,接入终端通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了接入终端通过网络计算机与通信设备交互媒体属性参数,完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
【专利附图】

【附图说明】
[0242]图1为本发明实施例一提供的媒体流的传输方法流程图;
[0243]图2为本发明实施例提供的一种媒体流的传输方法信令图;
[0244]图3为本发明实施例提供的另一种媒体流的传输方法信令图;
[0245]图4为本发明实施例二提供的媒体流的传输方法流程图;
[0246]图5为本发明实施例三提供的媒体流的传输方法流程图;
[0247]图6为本发明实施例四提供的媒体流的传输方法流程图;
[0248]图7为本发明实施例提供的再一种媒体流的传输方法信令图;
[0249]图8为本发明实施例五提供的一种媒体流的传输装置结构图;
[0250]图9为本发明实施例五提供的另一种媒体流的传输装置结构图;[0251]图10为本发明实施例六提供的一种媒体流的传输装置结构图;
[0252]图11为本发明实施例六提供的另一种媒体流的传输装置结构图;
[0253]图12为本发明实施例七提供的一种媒体流的传输装置结构图;
[0254]图13为本发明实施例七提供的另一种媒体流的传输装置结构图;
[0255]图14为本发明实施例八提供的一种媒体流的传输装置结构图;
[0256]图15为本发明实施例八提供的另一种媒体流的传输装置结构图;
[0257]图16为本发明实施例九提供的媒体流的传输装置硬件结构图;
[0258]图17为本发明实施例十提供的媒体流的传输装置硬件结构图;
[0259]图18为本发明实施例十一提供的一种媒体流的传输装置硬件结构图;
[0260]图19为本发明实施例十二提供的一种媒体流的传输装置硬件结构图;
[0261]图20为本发明实施例十三提供的一种媒体流的传输系统示意图;
[0262]图21为本发明实施例十四提供的另一种媒体流的传输系统示意图。
【具体实施方式】
[0263]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0264]为便于对本发明实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
[0265]实施例一
[0266]下面以图1为例详细说明本发明实施例一提供的媒体流的传输方法,图1为本发明实施例一提供的媒体流的传输方法流程图,在本发明实施例中实施主体为发起方的接入终端,在本发明实施例中发起方的接入终端具体可为桌面云终端。接入终端与云端服务器为接入终端分配的网络计算机之间建立了第一 VDI通道。如图1所示,该实施例具体包括以下步骤:
[0267]步骤110、所述接入终端建立与所述网络计算机之间的实时协作通道。
[0268]具体地,接入终端建立与网络计算机NC (例如,NCl)之间的实时协作通道。
[0269]其中,在执行步骤110之前,接入终端建立与NCl之间的第一 VDI通道,该VDI通道传输用户应用界面以及用户通过键盘、鼠标等设备输入的数据,接入终端建立与NCl之间的第一 VDI通道为现有技术,在此不再复述。
[0270]进一步地,在本发明实施例中,所述接入终端建立与NCl之间的实时协作通道具体包括:
[0271]接入终端通过网络套接字WebSocket服务器建立与NCl之间的WebSocket通道,建立的WebSocket通道用于传输实时协作消息;或者,
[0272]接入终端在与NCl已建立第一 VDI通道(该第一 VDI通道用于传输用户应用界面以及用户通过键盘、鼠标等设备输入的数据)后,还可通过ICA协议再次建立第二 VDI通道,建立的第二 VDI通道用于传输实时协作消息;或者,
[0273]接入终端通过接入终端的浏览器网络实时通信WebRTC应用中的数据信道机制,建立接入终端中的浏览器与NCl中的浏览器之间的点对点数据通道,该点对点数据通道用于传输实时协作消息。
[0274]步骤120、所述接入终端通过所述第一 VDI通道向所述网络计算机发送用户输入的操作指令。
[0275]具体地,接入终端通过第一 VDI通道接收并显示网络计算机NC (例如NCl)传输的用户应用界面,所述NCl具体为云端服务器为该接入终端分配的,用户对该接入终端上的用户应用界面进行操作,当用户期望向通信设备发起呼叫时(如,呼叫某用户的手机、呼叫某会议服务器以加入会议),用户通过键盘、鼠标等输入设备输入指示呼叫通信设备的操作指令,如利用鼠标点击“呼叫”按钮、点击“加入会议”按钮,接入终端通过第一 VDI通道向NCl发送该操作指令。
[0276]步骤130、所述接入终端接收所述网络计算机通过所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在确定所述操作指令是用于指示发起呼叫的操作指令时发送的,用于指示所述接入终端发起与所述通信设备之间的媒体协商。
[0277]具体地,NCl通过第一 VDI通道接收用户输入的操作指令后,NCl解析操作指令,确定用户期望向通信设备发起呼叫,如,根据该操作指令确定触发该操作指令的是点击“呼叫”按钮的操作,NCl通过步骤110建立的实时协作通道向接入终端发送实时协作消息,接入终端接收NCl发送的实时协作消息,其中,所述实时协作消息用于指示接入终端发起与通信设备之间的媒体协商。
[0278]步骤140、所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,其中,所述接入终端与所述网络计算机之间通过所述实时协作通道传输用于所述媒体协商的信息。
[0279]具体地,接入终端根据接收到的实时协作消息,向通信设备发起媒体协商。
[0280]进一步地,本步骤中所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括:
[0281]接入终端获取接入终端自身所支持的第一媒体属性参数,所述第一媒体属性参数包括接入终端自身支持的媒体格式、以及用于接收媒体的IP地址和端口号;接入终端通过实时协作通道向NCl发送第一媒体属性参数,用于使NCl向通信设备发送携带第一媒体属性参数的连接请求消息;接入终端接收NCl通过实时协作通道发送的NCl接收自通信设备的第二媒体属性参数,所述第二媒体属性参数包括通信设备用于接收媒体的IP地址和端口号、以及通信设备根据第一媒体属性参数确定的接入终端和所述通信设备均支持的媒体格式。
[0282]更进一步地,本步骤中所述接入终端获取所述接入终端所支持的第一媒体属性参数具体包括:
[0283]接入终端调用接入终端自身的浏览器应用程序编程接口(Application Programming Interface,简称:API)中的新建对等连接接口函数webkitRTCPeerConnectionO ;接入终端利用 webkitRTCPeerConnectionO 函数,生成对等连接接口 PeerConnection接口,在本发明实施例中,将基于网络的实时通信(Web RealTime Communication,简称:WebRTC)技术应用在桌面云系统中。该peerConnection接口定了与通信设备进行WebRTC媒体协商相关的方法,接入终端利用peerConnection接口中包括的创建请求函数createrOffer O ,获取接入终端所支持的第一媒体属性参数。
[0284]可以理解的是,NCl在与通信设备进行通信交互时,需通过WebRTC服务器进行通信消息的转发。
[0285]通信设备接收NCl发送的连接请求消息,解析并提取连接请求消息包括的第一媒体属性参数,当通信设备确定自身支持第一媒体属性参数时,通信设备向NCl发送连接应答消息,NCl接收连接应答消息,所述连接应答消息包括通信设备根据第一媒体属性参数确定的通信设备所支持的第二媒体属性参数。
[0286]所述通信设备获取第二媒体属性参数具体为:根据连接请求消息,通信设备调用通信设备的浏览器应用程序编程接口(Application Programming Interface,简称:API)中的新建对等连接接口函数webkitRTCPeerConnection O ;通信设备利用 webkitRTCPeerConnection (),生成对等连接接 口 peerConnection 接 口,并利用peerConnection接口中包括的创建回复函数creatAnswer O ,获取通信设备所支持的第二媒体属性参数。
[0287]通信设备获取接入终端所支持的第二媒体属性参数具体通过以下步骤实现:通信设备利用creatAnswer O获取第三媒体属性参数,第三媒体属性参数具体包括通信设备支持的全部媒体属性参数;根据第一媒体属性参数,通信设备从第三媒体属性参数中,选择出与第一媒体属性参数相同的I种或多种媒体属性参数作为通信设备所支持的第二媒体属性参数。
[0288]步骤150、所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流。
[0289]具体地,接入终端利用与通信设备通信协商所确定的媒体属性参数,与通信设备相互传输媒体流。
[0290]进一步地,本步骤中所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流,具体包括:
[0291]接入终端通过通信设备用于接收媒体的IP地址和端口号向通信设备发送第一媒体,并接收通信设备通过接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0292]在本步骤中,当接入终端与通信设备之间相互传输媒体时,接入终端还向NCl发送连接成功消息,进而接入终端与通信设备之间相互传输媒体,用户之间可进行视音频通话。
[0293]可选地,在本发明实施例步骤110所述接入终端建立与所述网络计算机之间的实时协作通道之前还包括接入终端接收超文本标记语音HTML网页,从HTML网页中获取媒体控制应用,并将媒体控制应用配置在接入终端内的步骤,通过上述步骤,可使接入终端中具有媒体控制应用,通过媒体控制应用接入终端完成上述步骤110至步骤150。具体步骤如下:
[0294]所述接入终端接收应用服务器中的网络接口模块通过调用配置文件发送的超文本标记语言HTML网页,所述HTML网页包括媒体控制应用;[0295]所述接入终端通过所述HTML网页获取所述媒体控制应用,并将所述媒体控制应用配置在所述接入终端内,所述接入终端通过所述媒体控制应用完成与所述网络计算机之间传输所述实时协作消息和用于所述媒体协商的信息,还通过所述媒体控制获取所述第一媒体属性参数,还通过所述媒体控制应用与所述通信设备进行媒体协商,并根据所述媒体协商所确定的所述媒体属性参数与所述通信设备之间相互传输媒体流。
[0296]具体地,接入终端接入桌面云系统后,接入终端接收应用服务器中的网络接口(Web Interface)模块通过调用配置文件发送的HTML网页,所述HTML网页包括媒体控制应用;接入终端通过HTML网页获取媒体控制应用,并将媒体控制应用配置在本地,接入终端通过媒体控制应用完成前述步骤110至步骤150所描述的功能。
[0297]在本发明实施例中,用户首先通过接入终端访问桌面云系统中应用服务器的WebInterface模块,从而接入桌面云系统。Web Interface模块与桌面云系统的资源池连接,该资源池包括桌面调度中心以及WebRTC媒体控制实体,资源池中还存储着用户所需的资源列表,其中,在用户所需的资源列表中存储着媒体控制应用。用户通过接入终端访问WebInterface模块时,Web Interface模块访问资源池中用户的资源列表,根据用户的配置和用户的属性获取用户所需的资源以及媒体控制应用,Web Interface模块在配置台中设置HTML网页的布局、标签属性,以使得将获取的资源以及媒体控制应用在同一个HTML网页中布局,并将该HTML网页发送至接入终端中,接入终端显示该HTML网页,接入终端根据用户对HTML网页的操作通过HTML网页将媒体控制应用下载至本地,同时,接入终端通过WebInterface模块接入桌面云系统,并根据用户的输入指令通过桌面调度中心与云端服务器建立连接。
[0298]可以理解的是,在接入终端接入桌面云系统前,管理人员还对资源池进行配置,即:管理人员将媒体控制应用放入资源池中,并修改用户所需的资源列表的配置文件,将媒体控制应用存储在用户所需的资源列表中,进一步地,用户也可对用户所需的资源列表的配置文件进行修改,将媒体控制应用存储在用户所需的资源列表中。
[0299]可选地,在本发明实施例中,还包括如果通信设备确定不支持第一媒体属性参数,则接入终端接收NCl转发的通信设备发送的连接失败消息的步骤,通过该步骤,接入终端不再与通信设备之间相互传输媒体流。具体步骤如下:
[0300]通信设备在确定自身不支持第一媒体属性参数后,不再根据第一媒体属性参数确定自身所支持的第二媒体属性参数,通信设备生成连接失败消息,通过WebRTC服务器向NCl转发连接失败消息,NCl向接入终端发送连接失败消息,接入终端根据连接失败消息,明确通信设备不支持第一媒体属性参数,不再与通信设备之间相互传输媒体流。
[0301]在本发明实施例中,通信设备不支持第一媒体属性参数具体是指通信设备支持的媒体属性参数与第一媒体属性参数不匹配,导致通信设备不支持第一媒体属性参数。
[0302]在本发明实施例中,接入终端具体为能够接入桌面云系统的终端,例如:PC/TC等;通信设备根据当前所处的环境不同而不同,通信设备具体为桌面云终端、或者媒体接入设备、或者会议服务器等。
[0303]因此,通过应用本发明实施例提供的媒体流的传输方法,接入终端通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了接入终端通过网络计算机与通信设备交互媒体属性参数,完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0304]进一步地,图2为本发明实施例提供的一种媒体流的传输方法信令图;图2所示的信令图为接入终端与通信设备进行媒体流传输的处理过程,图2中的媒体流的传输方法均可按照前述实施例描述的过程执行。
[0305]如图2所示,接入终端建立与云端服务器为接入终端分配的网络计算机之间的实时协作通道,接入终端通过第一 VDI通道向网络计算机发送用户输入的操作指令,网络计算机在确定操作指令是用于指示发起呼叫的操作指令后,向接入终端发送实时协作消息,所述实时协作消息用于指示接入终端发起与通信设备之间的媒体协商。
[0306]接入终端获取接入终端所支持的第一媒体属性参数。接入终端通过实时协作通道向网络计算机发送第一媒体属性参数,用于使网络计算机通过WebRTC服务器向被呼叫的通信设备发送携带第一媒体属性参数的连接请求消息,进而使通信设备判断自身是否支持第一媒体属性参数。
[0307]当通信设备确定自身支持第一媒体属性参数时,通信设备获取自身支持的第二媒体属性参数,并通过WebRTC服务器向网络计算机发送连接应答消息,所述连接应答消息包括第二媒体属性参数。
[0308]接入终端接收网络计算机通过实时协作通道发送的第二媒体属性参数。
[0309]接入终端根据第一媒体属性参数和第二媒体属性参数,完成媒体协商,与通信设备之间相互传输媒体流,并向网络计算机发送连接成功消息。
[0310]更进一步地,图2所示的信令图中通信设备具体为桌面云终端、或者媒体接入设备、或者会议服务器等。在本发明实施例中,当通信设备也同为桌面云终端时,则如图3所示,图3所示的信令图为接入终端与通信设备同为桌面云终端进行媒体流传输的处理过程,通信设备也与云端服务器为通信设备分配的某一网络计算机对应连接,且通信设备内部也包括媒体控制应用,通信设备中的媒体控制应用与接入终端中的媒体控制应用工作原理、以及工作过程相同,在此不再复述。
[0311]实施例二
[0312]下面以图4为例详细说明本发明实施例二提供的媒体流的传输方法,图4为本发明实施例二提供的媒体流的传输方法流程图,在本发明实施例中实施主体为处于云端服务器中的网络计算机。网络计算机与接入终端之间建立了第一 VDI通道,如图4所示,该实施例具体包括以下步骤:
[0313]步骤410、所述网络计算机建立与所述接入终端之间的实时协作通道;
[0314]具体地,网络计算机NC (例如,NCl)建立与接入终端之间的实时协作通道。
[0315]其中,在执行步骤110之前,NCl建立与接入终端之间的第一 VDI通道,该VDI通道传输用户应用界面以及用户通过键盘、鼠标等设备输入的数据,NCl建立与接入终端之间的第一 VDI通道为现有技术,在此不再复述。[0316]进一步地,在本发明实施例中,所述NCl建立与接入终端之间的实时协作通道具体包括:
[0317]NCl通过网络套接字WebSocket服务器建立与接入终端之间的WebSocket通道;或者,
[0318]NCl在与接入终端已建立第一 VDI通道(该VDI通道用于传输用户应用界面以及用户通过键盘、鼠标等设备输入的数据)后,还可通过ICA协议再次建立第二 VDI通道;或者,
[0319]NCl通过NCl的浏览器网络实时通信WebRTC应用中的数据信道机制,建立NCl中的浏览器与接入终端中的浏览器之间的点对点数据通道。
[0320]步骤420、所述网络计算机接收所述接入终端通过所述第一 VDI通道发送的用户输入的操作指令。
[0321]具体地,云端服务器为接入终端分配的NCl通过第一 VDI通道接收接入终端发送的用户输入的操作指令。
[0322]接入终端接入桌面云系统,NCl通过第一 VDI通道向接入终端传输用户应用界面,接入终端接收并显示NCl传输的用户应用界面,用户对用户应用界面进行操作,当用户期望与通信设备对应的用户建立视音频呼叫时(如,呼叫某用户的手机、呼叫某会议服务器以加入会议),用户通过键盘、鼠标等输入设备输入指示呼叫通信设备的操作指令,如利用鼠标点击“呼叫”按钮、点击“加入会议”按钮,NCl通过第一 VDI通道接收接入终端发送的操作指令。
[0323]步骤430、所述网络计算机在确定所述操作指令是用于指示发起呼叫的操作指令时,通过所述实时协作通道向所述接入终端发送实时协作消息,所述实时协作消息用于指示所述接入终端发起与所述通信设备之间的媒体协商。
[0324]具体地,NCl通过第一 VDI通道接收用户输入的操作指令时,NCl解析操作指令,明确用户期望向通信设备发起呼叫,如,根据该操作指令确定触发该操作指令的是点击“呼叫”按钮的操作,NCl通过步骤410建立的实时协作通道向接入终端发送实时协作消息,其中,所述实时协作消息是NCl在确定操作指令是用于指示发起呼叫的操作指令时发送的,用于指示接入终端发起与通信设备之间的媒体协商。
[0325]步骤440、所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述网络计算机与所述接入终端之间通过所述实时协作通道传输用于进行所述媒体协商的信息。
[0326]具体地,接入终端根据接收到的实时协作消息,向通信设备发起媒体协商。NCl转发用于在接入终端与通信设备之间进行媒体协商的信息,以使得接入终端和通信设备通过媒体协商确定接入终端与通信设备之间用于传输媒体流的媒体属性参数,以便于接入终端根据媒体协商所确定的媒体属性参数与通信设备相互传输媒体流;其中,NCl与接入终端之间通过步骤410建立的实时协作通道传输用于进行媒体协商的信息。
[0327]进一步地,在本步骤中所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括:
[0328]NCl接收接入终端通过实时协作通道发送的接入终端所支持的第一媒体属性参数,所述第一媒体属性参数包括接入终端支持的媒体格式、以及用于接收媒体的IP地址和端口号;NC1根据用户输入的用于指示呼叫通信设备的操作指令,向通信设备发送连接请求消息,所述连接请求消息包括第一媒体属性参数;NC1接收通信设备确定通信设备支持第一媒体属性参数时发送的连接应答消息,所述连接应答消息包括通信设备所支持的第二媒体属性参数,所述第二媒体属性参数包括通信设备用于接收媒体的IP地址和端口号、以及通信设备根据第一媒体属性参数确定的接入终端和通信设备均支持的媒体格式;NC1通过实时协作通道向接入终端发送第二媒体属性参数,以便于接入终端通过通信设备用于接收媒体的IP地址和端口号向通信设备发送第一媒体,并接收通信设备通过接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0329]可以理解的是,NCl在与通信设备进行通信交互时,需通过WebRTC服务器进行消息的转发。
[0330]在前述实施例一中,已详细说明接入终端与通信设备根据接收到的第一媒体属性参数和第二媒体属性参数进行媒体协商的过程,在此不再复述。
[0331]可选地,在本发明实施例步骤420网络计算机建立与所述接入终端之间的实时协作通道之前还包括接入终端接入桌面云系统的步骤。在前述实施例一中已详细说明接入终端接入桌面云系统的过程,在此不再复述。
[0332]可选地,在本发明实施例中,所述根据所述用户输入的用于指示发起呼叫的操作指令,所述网络计算机向所述通信设备发送连接请求消息之前还包括网络计算机对第一媒体属性参数进行封装处理,生成连接请求消息的步骤。具体步骤如下:
[0333]NCl调用WebRTC信令消息协议栈;利用信令消息协议栈,NCl对第一媒体属性参数进行封装处理,生成连接请求消息,所述连接请求消息包括第一媒体属性参数。
[0334]可以理解的是,NCl将第一媒体属性参数进行封装处理后,才可通过WebRTC服务器向通信设备进行转发。在本发明实施例中,可为第一媒体属性参数添加消息头(例如:from XX to XX)。添加的消息头可使WebRTC服务器明确连接请求消息的传输路径,以使得WebRTC服务器向通信设备进行转发。
[0335]可选地,在本发明实施例中,还包括如果通信设备确定不支持第一媒体属性参数,则NCl接收通信设备发送的连接失败消息,NCl还将连接失败消息向接入终端发送的步骤,通过该步骤,以使得接入终端不再与通信设备之间相互传输媒体流。具体步骤如下:
[0336]通信设备在确定自身不支持第一媒体属性参数后,不再根据第一媒体属性参数确定自身所支持的第二媒体属性参数,通信设备生成连接失败消息,通过WebRTC服务器向NCl转发连接失败消息,NCl向接入终端转发接收到的连接失败消息,接入终端根据连接失败消息,明确通信设备不支持第一媒体属性参数,不再与通信设备之间相互传输媒体流。
[0337]在本发明实施例中,通信设备不支持第一媒体属性参数具体是指通信设备支持的媒体属性参数与第一媒体属性参数不匹配,导致通信设备不支持第一媒体属性参数。
[0338]在本发明实施例中,接入终端具体为可接入桌面云系统的终端,例如:PC/TC等;通信设备根据当前所处的环境不同而不同,通信设备具体为桌面云终端、或者媒体接入设备、或者会议服务器等。
[0339]因此,通过应用本发明实施例提供的媒体流的传输方法,接入终端通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0340]进一步地,图2为本发明实施例提供的一种媒体流的传输方法信令图;图2所示的信令图为接入终端与通信设备进行媒体流传输的处理过程,图2中的媒体流的传输方法均可按照前述实施例描述的过程执行。
[0341]如图2所示,接入终端建立与云端服务器为接入终端分配的网络计算机之间的实时协作通道,接入终端通过第一 VDI通道向网络计算机发送用户输入的操作指令,网络计算机在确定操作指令是用于指示发起呼叫的操作指令后,向接入终端发送实时协作消息,所述实时协作消息用于指示接入终端发起与通信设备之间的媒体协商。
[0342]接入终端获取接入终端所支持的第一媒体属性参数。接入终端通过实时协作通道向网络计算机发送第一媒体属性参数,用于使网络计算机向被呼叫的通信设备发送携带第一媒体属性参数的连接请求消息,进而使通信设备判断自身是否支持第一媒体属性参数。
[0343]当通信设备确定自身支持第一媒体属性参数时,通信设备获取自身支持的第二媒体属性参数,并向网络计算机发送连接应答消息,所述连接应答消息包括第二媒体属性参数。
[0344]接入终端接收网络计算机通过实时协作通道发送的第二媒体属性参数。
[0345]接入终端根据第一媒体属性参数和第二媒体属性参数,完成媒体协商,与通信设备之间相互传输媒体流,并向网络计算机发送连接成功消息。
[0346]更进一步地,图2所示的信令图中通信设备具体为桌面云终端、或者媒体接入设备、或者会议服务器等。在本发明实施例中,当通信设备也同为桌面云终端时,则如图3所示,图3所示的信令图为接入终端与通信设备同为桌面云终端进行媒体流传输的处理过程,通信设备也与云端服务器为通信设备分配的某一网络计算机对应连接,且通信设备内部也包括媒体控制应用,通信设备中的媒体控制应用与第一终端中的媒体控制应用工作原理、以及工作过程相同,在此不再复述。
[0347]实施例三
[0348]前述多个实施例以发起方为桌面云终端为例说明媒体流的传输方法,以下以接受方为桌面云终端为例说明媒体流的传输方法。
[0349]下面以图5为例详细说明本发明实施例三提供的媒体流的传输方法,图5为本发明实施例三提供的媒体流的传输方法流程图,在本发明实施例中实施主体为接受方的接入终端。接入终端与云端服务器为接入终端分配的网络计算机之间建立了第一 VDI通道。如图5所示,该实施例具体包括以下步骤:
[0350]步骤510、所述接入终端建立与所述网络计算机之间的实时协作通道。[0351]具体地,接入终端建立与网络计算机NC (例如,NCl)之间的实时协作通道。
[0352]其中,在执行步骤510之前,接入终端建立与NCl之间的第一 VDI通道,该VDI通道传输用户应用界面以及用户通过键盘、鼠标等设备输入的数据,接入终端建立与NCl之间的第一 VDI通道为现有技术,在此不再复述。
[0353]进一步地,在本发明实施例中,所述接入终端建立与NCl之间的实时协作通道具体包括:
[0354]接入终端通过网络套接字WebSocket服务器建立与NCl之间的WebSocket通道;或者,
[0355]接入终端在与NCl已建立第一 VDI通道(该VDI通道用于传输用户应用界面以及用户通过键盘、鼠标等设备输入的数据)后,还可通过ICA协议再次建立第二 VDI通道;或者,
[0356]接入终端通过接入终端的浏览器网络实时通信WebRTC应用中的数据信道机制,建立接入终端中的浏览器与NCl中的浏览器之间的点对点数据通道。
[0357]步骤520、所述接入终端接收所述网络计算机通过所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在接收到通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求时发送的,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商。
[0358]具体地,接入终端接收NCl通过步骤510中建立的实时协作通道发送的实时协作消息,所述实时协作消息是NCl在接收到通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求时发送的,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数。
[0359]可以理解的是,通信设备在与NCl进行通信交互时,需通过WebRTC服务器进行通信消息的转发。通信设备通过WebRTC服务器向NCl发送第一媒体属性参数时,可由WebRTC服务器将第一媒体属性参数携带在连接请求消息中发送。
[0360]在本发明实施例中,第一媒体属性参数具体是指通信设备建立视音频呼叫以及传输媒体流必要的信息,其中,第一媒体属性参数包括通信设备所支持的媒体格式、以及用于接收媒体的IP地址和端口号。
[0361]通信设备获取支持的第一媒体属性参数与前述实施例一中描述的接入终端获取其自身支持的第一媒体属性参数相同,在此不再复述。
[0362]步骤530、所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,其中,所述接入终端与所述网络计算机之间通过所述实时协作通道传输用于所述媒体协商的信息。
[0363]具体地,接入终端通过NCl与通信设备进行媒体协商,确定与通信设备之间用于传输媒体流的媒体属性参数。接入终端通过步骤510中建立的实时协作通道传输用于媒体协商的信息。
[0364]进一步地,在本步骤中所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括:[0365]接入终端根据第一媒体属性参数确定接入终端所支持的第二媒体属性参数,所述第二媒体属性参数包括接入终端用于接收媒体的IP地址和端口号、以及接入终端根据第一媒体属性参数确定的接入终端和通信设备均支持的媒体格式;接入终端通过实时协作通道向NCl发送第二媒体属性参数,用于使NCl向通信设备转发第二媒体属性参数。通信设备根据接收的第二媒体属性参数,完成媒体协商。
[0366]可以理解的是,NCl在与通信设备进行通信交互时,需通过WebRTC服务器进行通信消息的转发。其中,NCl通过WebRTC服务器向通信设备发送第二媒体属性参数时,可将第二媒体属性参数携带在连接应答消息中发送。
[0367]其中,所述接入终端根据第一媒体属性参数确定接入终端所支持的第二媒体属性参数具体为:接入终端调用接入终端的浏览器应用程序编程接口(Application Programming Interface,简称:API)中的新建对等连接接口函数webkitRTCPeerConnection O ;接入终端利用 webkitRTCPeerConnection O ,生成对等连接接口 peerConnection接口,并利用peerConnection接口中包括的创建回复函数creatAnswer O ,获取接入终端所支持的第二媒体属性参数。
[0368]接入终端获取接入终端所支持的第二媒体属性参数具体通过以下步骤实现:接入终端利用creatAnswer O获取第三媒体属性参数,第三媒体属性参数具体包括接入终端支持的全部媒体属性参数;根据第一媒体属性参数,接入终端从第三媒体属性参数中,选择出与第一媒体属性参数相同的I种或多种媒体属性参数作为接入终端所支持的第二媒体属性参数。
[0369]步骤540、所述接入终端根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流。
[0370]具体地,接入终端根据媒体协商所确定的第一、第二媒体属性参数,与通信设备相互传输媒体流。
[0371]进一步地,本步骤中所述接入终端根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流,具体包括:
[0372]接入终端通过通信设备用于接收媒体的IP地址和端口号向通信设备发送第一媒体,并接收通信设备通过接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0373]在本步骤中,当通信设备与接入终端相互传输媒体时,通信设备还向WebRTC服务器发送连接成功消息,进而通信设备与接入终端之间相互传输媒体,用户之间可进行视音频通话。
[0374]可选地,在本发明实施例步骤510所述接入终端建立与所述网络计算机之间的实时协作通道之前还包括接入终端接收超文本标记语音HTML网页,从HTML网页中获取媒体控制应用,并将媒体控制应用配置在接入终端内的步骤,通过上述步骤,可使接入终端中具有媒体控制应用,通过媒体控制应用接入终端完成上述步骤510至步骤540。具体步骤如下:
[0375]所述接入终端接收应用服务器中的网络接口模块通过调用配置文件发送的超文本标记语言HTML网页,所述HTML网页包括媒体控制应用;
[0376]所述接入终端通过所述HTML网页获取所述媒体控制应用,并将所述媒体控制应用配置在所述接入终端内,所述接入终端通过所述媒体控制应用完成与所述网络计算机之间传输所述实时协作消息和用于所述媒体协商的信息,还通过所述媒体控制应用获取所述第一媒体属性参数,还通过所述媒体控制应用与所述通信设备进行媒体协商,并根据所述媒体协商所确定的所述媒体属性参数与所述通信设备之间相互传输媒体流。
[0377]可以理解的是,在前述实施例一中已详细说明发起方的接入终端接入桌面云系统,接收HTML网页,以及获取媒体控制应用,并将媒体控制应用配置在本地的过程,在本发明实施例中,接受方中的接入终端与发起方中的接入终端在接入桌面云系统,接收HTML网页,以及获取媒体控制应用,并将媒体控制应用配置在本地的过程相同,在此不再复述。
[0378]可选地,在本发明实施例中,还包括如果接入终端确定不支持第一媒体属性参数,则接入终端通过网络计算机向通信设备发送连接失败消息的步骤,通过该步骤,接入终端不再与通信设备之间相互传输媒体流。具体步骤如下:
[0379]接入终端根据第一媒体属性参数,调用接入终端的浏览器应用程序编程接口 API中的设置对端的媒体参数函数(setRemoteDescriptionO ),利用setRemoteDescription O ,判断自身是否支持第一媒体属性参数。如果接入终端确定不支持第一媒体属性参数,接入终端拒绝与通信设备之间相互传输媒体流,并通过NCl向通信设备发送连接失败消息。
[0380]在本发明实施例中,接入终端不支持第一媒体属性参数具体是指接入终端支持的媒体属性参数与第一媒体属性参数不匹配,导致接入终端不支持第一媒体属性参数。
[0381]在本发明实施例中,接入终端具体为可接入桌面云系统的终端,例如:PC/TC等;通信设备根据当前所处的环境不同而不同,通信设备具体为桌面云终端、或者媒体接入设备、或者会议服务器等。
[0382]因此,通过应用本发明实施例提供的媒体流的传输方法,接入终端通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了接入终端通过网络计算机与通信设备交互媒体属性参数,完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0383]实施例四
[0384]下面以图6为例详细说明本发明实施例四提供的媒体流的传输方法,图7为本发明实施例四提供的媒体流的传输方法流程图,在本发明实施例中实施主体为处于云端服务器中的网络计算机。网络计算机与接入终端之间建立了第一 VDI通道,如图6所示,该实施例具体包括以下步骤:
[0385]步骤610、所述网络计算机建立与所述接入终端之间的实时协作通道。
[0386]具体地,网络计算机NC (例如,NCl)建立与接入终端之间的实时协作通道。
[0387]其中,在执行步骤110之前,NCl建立与接入终端之间的第一 VDI通道,该VDI通道传输用户应用界面以及用户通过键盘、鼠标等设备输入的数据,NCl建立与接入终端之间的第一 VDI通道为现有技术,在此不再复述。
[0388]进一步地,在本发明实施例中,所述NCl建立与接入终端之间的实时协作通道具体包括:
[0389]NCl通过网络套接字WebSocket服务器建立与接入终端之间的WebSocket通道;或者,
[0390]NCl在与接入终端已建立第一 VDI通道(该VDI通道用于传输用户应用界面以及用户通过键盘、鼠标等设备输入的数据)后,还可通过ICA协议再次建立第二 VDI通道;或者,
[0391]NCl通过NCl的浏览器网络实时通信WebRTC应用中的数据信道机制,建立NCl中的浏览器与接入终端中的浏览器之间的点对点数据通道。
[0392]步骤620、所述网络计算机接收通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求。
[0393]具体地,接入终端接入桌面云系统,NCl向接入终端传输用户应用界面,接入终端接收并显示NCl传输的用户应用界面,NCl接收与接入终端待通信的通信设备发送的用于呼叫接入终端对应的用户的呼叫请求。
[0394]步骤630、根据所述呼叫请求,所述网络计算机通过所述实时协作通道向所述接入终端发送实时协作消息,其中,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商。
[0395]具体地,当NCl接收到与接入终端待通信的通信设备发送的用于呼叫接入终端对应的用户的呼叫请求时,NCl解析该呼叫请求,确定通信设备期望与接入终端对应的用户建立视音频呼叫,NCl通过步骤610中建立的实时协作通道向接入终端发送实时协作消息,所述实时协作消息包括NCl从呼叫请求中解析出的通信设备支持的第一媒体属性参数,以便于接入终端根据第一媒体属性参数与通信设备进行媒体协商。
[0396]在本发明实施例中,第一媒体属性参数具体是指通信设备建立视音频呼叫以及传输媒体流必要的信息,其中,第一媒体属性参数包括通信设备所支持的媒体格式、以及用于接收媒体的IP地址和端口号。
[0397]可以理解的是,通信设备在与NCl进行通信交互时,需通过WebRTC服务器进行通信消息的转发。其中,通信设备通过WebRTC服务器向NCl发送第一媒体属性参数时,可由WebRTC服务器将第一媒体属性参数携带在连接请求消息中发送。
[0398]步骤640、所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述网络计算机与所述接入终端之间通过所述实时协作通道传输用于进行所述媒体协商的信息。
[0399]具体地,接入终端接收到实时协作消息,向通信设备发起媒体协商。NCl转发用于在接入终端与通信设备之间进行媒体协商的信息,以使得接入终端和通信设备通过媒体协商确定接入终端与通信设备之间用于传输媒体流的媒体属性参数,以便于接入终端根据媒体协商所确定的媒体属性参数与通信设备相互传输媒体流;其中,NCl与所述接入终端之间通过步骤610建立的实时协作通道传输用于进行媒体协商的信息。
[0400]进一步地,本步骤中所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括:
[0401]NCl接收接入终端通过实时协作通道发送的第二媒体属性参数,所述第二媒体属性参数包括接入终端用于接收媒体的IP地址和端口号、以及接入终端根据第一媒体属性参数确定的接入终端和通信设备均支持的媒体格式;NC1向通信设备转发第二媒体属性参数,以便于通信设备通过接入终端用于接收媒体的IP地址和端口号向接入终端发送第一媒体,并接收接入终端通过通信设备用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0402]可以理解的是,NCl在与通信设备进行通信交互时,需通过WebRTC服务器进行通信消息的转发。其中,NCl通过WebRTC服务器向通信设备发送第二媒体属性参数时,可将第二媒体属性参数携带在连接应答消息中发送。
[0403]可选地,在本发明实施例步骤610网络计算机建立与接入终端之间的实时协作通道之前还包括接受方的接入终端接入桌面云系统的步骤。由于接受方的接入终端接入桌面云系统的过程与发起方的接入终端接入桌面云系统的过程相同,在前述实施例一中已详细说明发起方的接入终端接入桌面云系统的过程,在此不再复述。
[0404]可选地,在本发明实施例中,所述网络计算机向所述通信设备转发所述第二媒体属性参数之前还包括网络计算机对第二媒体属性参数进行封装处理,生成呼叫响应的步骤。具体步骤如下:
[0405]NCl调用WebRTC信令消息协议栈;利用信令消息协议栈,NCl对第二媒体属性参数进行封装处理,生成呼叫响应,所述呼叫响应包括第二媒体属性参数。
[0406]可以理解的是,NCl将第二媒体属性参数进行封装处理后,才可通过WebRTC服务器向通信设备进行转发。在本发明实施例中,可为第二媒体属性参数添加消息头(例如:from XX to XX)。添加的消息头可使WebRTC服务器明确呼叫响应的传输路径,以使得WebRTC服务器向通信设备进行转发。
[0407]可选地,在本发明实施例中,还包括如果接入终端确定不支持第一媒体属性参数,则NCl接收接入终端发送的连接失败消息,并向通信设备转发连接失败消息的步骤,通过该步骤,接入终端不建立与通信设备之间的媒体传输通道。具体步骤如下:
[0408]当接入终端根据第一媒体属性参数确定不支持第一媒体属性参数时,接入终端拒绝与通信设备之间相互传输媒体流,接入终端生成连接失败消息,向NCl发送连接失败消息,NCl将接收到的连接失败消息向通信终端发送。
[0409]在本发明实施例中,接入终端不支持第一媒体属性参数具体是指接入终端支持的媒体属性参数与第二媒体属性参数不匹配,导致接入终端不支持第一媒体属性参数。
[0410]因此,通过应用本发明实施例提供的媒体流的传输方法,接入终端通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了接入终端通过网络计算机与通信设备交互媒体属性参数,完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0411]为便于对本发明实施例三和本发明实施例四实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
[0412]图7为本发明实施例提供的再一种媒体流的传输方法信令图;图7所示的信令图为接入终端与通信设备进行媒体流传输的处理过程,如图7所示,接入终端具体处于CTI平台中的坐席终端、通信设备具体为可与用户终端进行通信的媒体接入设备,下面以举例的形式说明媒体流的传输方法。
[0413]用户通过用户终端向坐席终端对应的用户发起第一呼叫,该第一呼叫由媒体接入设备接收,媒体接入设备根据用户发起的第一呼叫,向CTI发起第二呼叫,CTI根据第二呼口4,为用户分配坐席终端,CTI通过WebRTC服务器向坐席终端对应通信的NCl发送修改消息,使得NCl明确与NCl对应通信的坐席终端状态已更改,同时,CTI还向媒体接入设备发送呼叫坐席终端消息,媒体接入设备根据呼叫坐席终端消息通过WebRTC服务器向NCl发送用户呼叫坐席终端对应的用户的呼叫请求,该呼叫请求在通过WebRTC服务器进行转发时,WebRTC服务器将呼叫请求封装为WebRTC连接请求消息。
[0414]根据呼叫请求,NCl向与自身对应通信的坐席终端发送实时协作消息,所述实时协作消息包括NCl从呼叫请求中解析出的媒体接入设备支持的第一媒体属性参数,如果坐席终端判断自身支持第一媒体属性参数,则坐席终端根据第一媒体属性参数确定坐席终端所支持的第二媒体属性参数。
[0415]坐席终端通过实时协作通道向NCl发送第二媒体属性参数,NCl接收坐席终端发送的第二媒体属性参数;通过WebRTC服务器向媒体接入设备发送呼叫响应,该呼叫响应在通过WebRTC服务器进行转发时,WebRTC服务器将呼叫响应封装为WebRTC连接应答消息。
[0416]坐席终端根据第一媒体属性参数和第二媒体属性参数完成媒体协商,与媒体接入设备之间相互传输媒体流。
[0417]实施例五
[0418]上述多个实施例描述的方法均可实现媒体流的传输方法,相应地,本发明实施例五还提供了一种媒体流的传输装置,用以实现实施例一中的媒体流的传输方法,如图8所示,所述装置与云端服务器为所述装置分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述装置包括:协作通道建立单元810、发送单元820、接收单元830、协商确定单元840和媒体传输单元850。
[0419]所述装置中协作通道建立单元810,用于建立与所述网络计算机之间的实时协作通道;
[0420]发送单元820,用于通过所述第一 VDI通道向所述网络计算机发送用户输入的操作指令;
[0421]接收单元830,用于接收所述网络计算机通过所述协作通道建立单元建立的所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机确定所述操作指令是用于发起呼叫的操作指令时发送的,用于指示所述装置发起与所述通信设备之间的媒体协商;
[0422]协商确定单元840,用于通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数,并用于将所述媒体协商所确定的所述媒体属性参数传输至媒体传输单元,其中,所述装置与所述网络计算机之间通过所述协作通道建立单元建立的所述实时协作通道传输用于所述媒体协商的信息;
[0423]媒体传输单元850,用于从所述协商确定单元接收所述媒体协商所确定的所述媒体属性参数,根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流。
[0424]所述协作通道建立810单元具体用于,通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者,
[0425]建立与所述网络计算机之间的虚拟桌面架构第二 VDI通道;或者,
[0426]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
[0427]进一步地,如图9所示,所述协商确定单元840还包括:获取子单元910和确定子单元920 ;
[0428]所述获取子单元910,用于获取所述装置所支持的第一媒体属性参数,并用于将所述第一媒体属性参数传输至所述发送单元,所述第一媒体属性参数包括所述装置支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0429]所述发送单元820还用于,从所述获取子单元接收所述第一媒体属性参数,通过所述协作通道建立单元建立的所述实时协作通道向所述网络计算机发送所述第一媒体属性参数,用于使所述网络计算机向被呼叫的通信设备发送携带所述第一媒体属性参数的连接请求消息;
[0430]所述接收单元830还用于,接收所述网络计算机通过所述协作通道建立单元建立的所述实时协作通道发送的所述网络计算机接收自所述通信设备的第二媒体属性参数,并将所述第二媒体属性参数传输至所述协商确定单元的确定子单元,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述装置和所述通信设备均支持的媒体格式;
[0431]所述确定子单元920,用于从所述接收单元接收所述第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述媒体传输单元;
[0432]所述媒体传输单元850具体用于,通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述装置用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0433]所述获取子单元910具体用于,调用所述装置的浏览器应用程序编程接口 API中的新建对等连接接口函数;
[0434]利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建请求函数,获取所述装置所支持的第一媒体属性参数。
[0435]因此,通过应用本发明实施例提供的媒体流的传输装置,所述装置通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了所述装置通过网络计算机与通信设备进行交互媒体属性参数,完成装置与通信设备之间的媒体协商,所述装置与通信设备传输媒体流的技术特征,使得所述装置和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0436]实施例六
[0437]上述多个实施例描述的方法均可实现媒体流的传输方法,相应地,本发明实施例六还提供了一种媒体流的传输装置,用以实现实施例二中的媒体流的传输方法,如图10所示,所述装置与所述接入终端之间建立了第一虚拟桌面架构VDI通道,所述装置包括:协作通道建立单元1010、接收单元1020和发送单元1030。所述装置由云端服务器为接入终端分配的。
[0438]所述装置中协作通道建立单元1010,用于建立与所述接入终端之间的实时协作通道;
[0439]接收单元1020,用于接收所述接入终端通过所述第一 VDI通道发送的用户输入的操作指令;
[0440]发送单元1030,用于在确定所述操作指令是用于指示发起呼叫的操作指令时,通过所述协作通道建立单元建立的所述实时协作通道向所述接入终端发送实时协作消息,所述实时协作消息用于指示所述接入终端发起与所述通信设备之间的媒体协商;
[0441]所述发送单元1030还用于,转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述装置与所述接入终端之间通过所述协作通道建立单元建立的所述实时协作通道传输用于进行所述媒体协商的信息。
[0442]所述协作通道建立单元1010具体用于,通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者,
[0443]建立与所述接入终端之间的第二 VDI通道;或者,
[0444]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
[0445]所述接收单元1020具体用于,接收所述接入终端通过所述协作通道建立单元建立的所述实时协作通道发送的所述接入终端所支持的第一媒体属性参数,并用于将所述第一媒体属性参数传输至所述发送单元,所述第一媒体属性参数包括所述接入终端支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0446]所述发送单元1030具体用于,从所述接收单元接收所述第一媒体属性参数,根据所述用户输入的用于指示发起呼叫的操作指令,向所述通信设备发送连接请求消息,所述连接请求消息包括所述第一媒体属性参数;[0447]所述接收单元1020还具体用于,接收所述通信设备确定所述通信设备支持所述第一媒体属性参数时发送的连接应答消息,所述连接应答消息包括所述通信设备所支持的第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述发送单元,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0448]所述发送单元1030还具体用于,从所述接收单元接收所述第二媒体属性参数,通过所述协作通道建立单元建立的所述实时协作通道向所述接入终端发送所述第二媒体属性参数,以便于所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0449]进一步地,如图11所示,所述装置还包括:调用单元1110,用于调用WebRTC信令消息协议栈;
[0450]封装生成单元1120,用于利用所述调用单元调用的所述信令消息协议栈,对所述第一媒体属性参数进行封装处理,生成所述连接请求消息,所述连接请求消息包括所述第一媒体属性参数。
[0451]因此,通过应用本发明实施提供的媒体流的传输装置,接入终端通过与所述装置建立的实时协作通道接收所述装置发送的实时协作消息,根据实时协作消息,通过所述装置发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了接入终端通过所述装置与通信设备进行交互媒体属性参数,完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0452]实施例七
[0453]上述多个实施例描述的方法均可实现媒体流的传输方法,相应地,本发明实施例七还提供了一种媒体流的传输装置,用以实现实施例三中的媒体流的传输方法,如图12所示,所述装置与云端服务器为所述装置分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述装置包括:协作通道建立单元1210、接收单元1220、协商确定单元1230和媒体传输单元1240。
[0454]所述装置中协作通道建立单元1210,用于建立与所述网络计算机之间的实时协作通道;
[0455]接收单元1220,用于接收所述网络计算机通过所述协作通道建立单元建立的所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在接收到通信设备发送的用于呼叫所述装置对应的用户的呼叫请求时发送的,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述装置根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商;[0456]协商确定单元1230,用于通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数,并用于将所述媒体协商所确定的所述媒体属性参数传输至媒体传输单元,其中,所述装置与所述网络计算机之间通过所述协作通道建立单元建立的所述实时协作通道传输用于所述媒体协商的信息;
[0457]媒体传输单元1240,用于从所述协商确定单元接收所述媒体协商所确定的所述媒体属性参数,根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流。
[0458]所述协作通道建立单元1210具体用于,通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者,
[0459]建立与所述网络计算机之间的第二 VDI通道;或者,
[0460]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
[0461]所述接收单元1220接收的所述实时协作消息中包括的所述第一媒体属性参数,包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0462]进一步地,如图13所示,所述协商确定单元1230还包括:确定子单元1310和发送子单元1320 ;
[0463]所述确定子单元1310,用于根据所述第一媒体属性参数确定所述装置所支持的第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述发送子单元,所述第二媒体属性参数包括所述装置用于接收媒体的IP地址和端口号、以及所述装置根据所述第一媒体属性参数确定的所述装置和所述通信设备均支持的媒体格式;
[0464]所述发送子单元1320,用于从所述确定子单元接收所述第二媒体属性参数,将所述第二媒体属性参数传输至所述媒体传输单元,用用于通过所述协作通道建立单元建立的所述实时协作通道向所述网络计算机发送所述第二媒体属性参数,用于使所述网络计算机向所述通信设备转发所述第二媒体属性参数;
[0465]所述媒体传输单元具体用于,通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述装置用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0466]所述确定子单元1310具体用于,调用所述装置的浏览器应用程序编程接口 API中的新建对等连接接口函数,并利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建回复函数,获取所述第二媒体属性参数。
[0467]因此,通过应用本发明实施例提供的媒体流的传输装置,所述装置通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了所述装置通过网络计算机与通信设备交互媒体属性参数,完成所述装置与通信设备之间的媒体协商,所述装置与通信设备传输媒体流的技术特征,使得装置和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。[0468]实施例八
[0469]上述多个实施例描述的方法均可实现媒体流的传输方法,相应地,本发明实施例八还提供了一种媒体流的传输装置,用以实现实施例四中的媒体流的传输方法,如图14所示,所述装置与所述接入终端之间建立了第一虚拟桌面架构VDI通道,所述装置包括:协作通道建立单元1410、接收单元1420和发送单元1430。所述装置由云端服务器为接入终端分配的。
[0470]所述装置中协作通道建立单元1410,用于建立与所述接入终端之间的实时协作通道;
[0471]接收单元1420,用于接收通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求,并用于将所述呼叫请求传输至发送单元;
[0472]发送单元1430,用于从所述接收单元接收所述呼叫请求,根据所述呼叫请求,通过所述协作通道建立单元建立的所述实时协作通道向所述接入终端发送实时协作消息,其中,所述实时协作消息包括所述装置从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商;
[0473]所述发送单元1430还用于,转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述装置与所述接入终端之间通过所述协作通道建立单元建立的所述实时协作通道传输用于进行所述媒体协商的信息。
[0474]所述协作通道建立单元1410具体用于,通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者,
[0475]建立与所述接入终端之间的第二 VDI通道,
[0476]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
[0477]所述发送单元1430发送的所述实时协作消息中包括的所述第一媒体属性参数,包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0478]所述接收单元1420还用于,接收所述接入终端通过所述协作通道建立单元建立的所述实时协作通道发送的第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述发送单元,所述第二媒体属性参数包括所述接入终端用于接收媒体的IP地址和端口号、以及所述接入终端根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0479]所述发送单元1430具体用于,向所述通信设备转发所述接收单元接收的所述第二媒体属性参数,以便于所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号向所述接入终端发送第一媒体,并接收所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0480]进一步地,如图15所示,所述装置还包括:调用单元1510,用于调用WebRTC信令消息协议栈;
[0481]封装生成单元1520,用于利用所述调用单元调用的所述信令消息协议栈,对所述接收单元接收的所述第二媒体属性参数进行封装处理,生成呼叫响应,并用于将所述呼叫响应传输至所述发送单元;
[0482]所述发送单元1430具体用于,向所述通信设备发送所述封装生成单元生的所述呼叫响应,所述呼叫响应包括所述第二媒体属性参数。
[0483]因此,通过应用本发明实施例提供的媒体流的传输装置,接入终端通过与所述装置建立的实时协作通道接收所述装置发送的实时协作消息,根据实时协作消息,通过所述装置发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了接入终端通过所述装置与通信设备交互媒体属性参数,完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0484]实施例九
[0485]另外,本发明实施例五提供的媒体流的传输装置还可以采用的实现方式如下,用以实现前述本发明实施例中的媒体流的传输方法,如图16所示,所述装置与云端服务器为所述装置分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述媒体流的传输装置包括:网络接口 1610、处理器1620和存储器1630。系统总线1640用于连接网络接口1610、处理器1620和存储器1630。
[0486]网络接口 1610用于与网络计算机进行交互通信。
[0487]存储器1630可以是永久存储器,例如硬盘驱动器和闪存,存储器1630用于存储应用程序,所述应用程序包括可用于使处理器1620访问并执行如下指令:
[0488]建立与所述网络计算机之间的实时协作通道;
[0489]通过所述第一 VDI通道向所述网络计算机发送用户输入的操作指令;
[0490]接收所述网络计算机通过所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在确定所述操作指令是用于指示发起呼叫的操作指令时发送的,用于指示所述装置发起与所述通信设备之间的媒体协商;
[0491]通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数,其中,所述装置与所述网络计算机之间通过所述实时协作通道传输用于所述媒体协商的信息;
[0492]根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流。
[0493]进一步地,所述存储器1630存储的应用程序可用于使所述处理器1620执行建立与所述网络计算机之间的实时协作通道过程的指令具体为执行以下过程的指令:
[0494]通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者,
[0495]建立与所述网络计算机之间的第二 VDI通道;或者,
[0496]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
[0497]进一步地,所述存储器1630存储的应用程序可用于使所述处理器1620执行通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数过程的指令具体为执行以下过程的指令:
[0498]获取所述装置所支持的第一媒体属性参数,所述第一媒体属性参数包括所述装置支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0499]通过所述实时协作通道向所述网络计算机发送所述第一媒体属性参数,用于使所述网络计算机向被呼叫的通信设备发送携带所述第一媒体属性参数的连接请求消息;
[0500]接收所述网络计算机通过所述实时协作通道发送的所述网络计算机接收自所述通信设备的第二媒体属性参数,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述装置和所述通信设备均支持的媒体格式;
[0501]进一步地,所述存储器1630存储的应用程序可用于使所述处理器1620执行根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流过程的指令具体为执行以下过程的指令:
[0502]通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述装置用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0503]进一步地,所述存储器1630存储的应用程序可用于使所述处理器1620执行获取所述装置所支持的第一媒体属性参数过程的指令具体为执行以下过程的指令:
[0504]调用所述装置的浏览器应用程序编程接口 API中的新建对等连接接口函数;
[0505]利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建请求函数,获取所述装置所支持的第一媒体属性参数。
[0506]因此,通过应用本发明实施例提供的媒体流的传输装置,所述装置通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了所述装置通过网络计算机与通信设备进行交互媒体属性参数,完成所述装置与通信设备之间的媒体协商,所述装置与通信设备传输媒体流的技术特征,使得所述装置和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0507]实施例十
[0508]另外,本发明实施例六提供的媒体流的传输装置还可以采用的实现方式如下,用以实现前述本发明实施例中的媒体流的传输方法,如图17所示,所述装置与所述接入终端之间建立了第一虚拟桌面架构VDI通道,所述媒体流的传输装置包括:网络接口 1710、处理器1720和存储器1730。系统总线1740用于连接网络接口 1710、处理器1720和存储器1730。所述装置由云端服务器为接入终端分配的。[0509]网络接口 1710用于与接入终端、WebRTC服务器以及通信设备进行交互通信。
[0510]存储器1730可以是永久存储器,例如硬盘驱动器和闪存,存储器1730用于存储应用程序,所述应用程序包括可用于使处理器1720访问并执行如下指令:
[0511]建立与所述接入终端之间的实时协作通道;
[0512]接收所述接入终端通过所述第一 VDI通道发送的用户输入的操作指令;
[0513]在确定所述操作指令是用于指示发起呼叫的操作指令时,通过所述实时协作通道向所述接入终端发送实时协作消息,所述实时协作消息用于指示所述接入终端发起与所述通信设备之间的媒体协商;
[0514]转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述装置与所述接入终端之间通过所述实时协作通道传输用于进行所述媒体协商的信息。进一步地,所述存储器1730存储的应用程序可用于使所述处理器1720执行建立与所述接入终端之间的实时协作通道过程的指令具体为执行以下过程的指令:
[0515]通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者,
[0516]建立与所述接入终端之间的第二 VDI通道;或者,
[0517]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
[0518]进一步地,所述存储器1730存储的应用程序可用于使所述处理器1720执行转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数过程的指令具体为执行以下过程的指令:
[0519]接收所述接入终端通过所述实时协作通道发送的所述接入终端所支持的第一媒体属性参数,所述第一媒体属性参数包括所述接入终端支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0520]根据所述用户输入的用于指示发起呼叫的操作指令,向所述通信设备发送连接请求消息,所述连接请求消息包括所述第一媒体属性参数;
[0521]接收所述通信设备确定所述通信设备支持所述第一媒体属性参数时发送的连接应答消息,所述连接应答消息包括所述通信设备所支持的第二媒体属性参数,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0522]通过所述实时协作通道向所述接入终端发送所述第二媒体属性参数,以便于所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0523]进一步地,所述存储器1730存储的应用程序还包括可用于使所述处理器1720执行以下过程的指令:
[0524]调用WebRTC信令消息协议栈;
[0525]利用所述信令消息协议栈,对所述第一媒体属性参数进行封装处理,生成所述连接请求消息,所述连接请求消息包括所述第一媒体属性参数。
[0526]因此,通过应用本发明实施例提供的媒体流的传输装置,接入终端通过与所述装置建立的实时协作通道接收所述装置发送的实时协作消息,根据实时协作消息,通过所述装置发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了接入终端通过所述装置与通信设备进行交互媒体属性参数,完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0527]实施例十一
[0528]另外,本发明实施例七提供的媒体流的传输装置还可以采用的实现方式如下,用以实现前述本发明实施例中的媒体流的传输方法,如图18所示,所述装置与云端服务器为所述装置分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,所述媒体流的传输装置包括:网络接口 1810、处理器1820和存储器1830。系统总线1840用于连接网络接口1810、处理器1820和存储器1830。
[0529]网络接口 1810用于与网络计算机进行交互通信。
[0530]存储器1830可以是永久存储器,例如硬盘驱动器和闪存,存储器1830用于存储应用程序,所述应用程序包括可用于使所述处理器1820访问并执行如下指令:
[0531]建立与所述网络计算机之间的实时协作通道;
[0532]接收所述网络计算机通过所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在接收到通信设备发送的用于呼叫所述装置对应的用户的呼叫请求时发送的,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述装置根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商;
[0533]通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数,其中,所述装置与所述网络计算机之间通过所述实时协作通道传输用于所述媒体协商的信息;
[0534]根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流。
[0535]进一步地,所述存储器1830存储的应用程序可用于使所述处理器1820执行建立与所述网络计算机之间的实时协作通道过程的指令具体为执行以下过程的指令:
[0536]通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者,
[0537]建立与所述网络计算机之间的第二 VDI通道;或者,
[0538]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。[0539]进一步地,所述第一媒体属性参数包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0540]进一步地,所述存储器1830存储的应用程序可用于使所述处理器1820执行通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数过程的指令具体为执行以下过程的指令:
[0541]根据所述第一媒体属性参数确定所述装置所支持的第二媒体属性参数,所述第二媒体属性参数包括所述装置用于接收媒体的IP地址和端口号、以及所述装置根据所述第一媒体属性参数确定的所述装置和所述通信设备均支持的媒体格式;
[0542]通过所述实时协作通道向所述网络计算机发送所述第二媒体属性参数,用于使所述网络计算机向所述通信设备转发所述第二媒体属性参数;
[0543]进一步地,所述存储器1830存储的应用程序可用于使所述处理器1820执行根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流过程的指令具体为执行以下过程的指令:
[0544]通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述装置用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0545]进一步地,所述存储器1830存储的应用程序可用于使所述处理器1820执行根据所述第一媒体属性参数确定所述第二媒体属性参数过程的指令具体为执行以下过程的指令:
[0546]调用所述装置的浏览器应用程序编程接口 API中的新建对等连接接口函数;
[0547]利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建回复函数,获取所述第二媒体属性参数。
[0548]因此,通过应用本发明实施例提供的媒体流的传输装置,所述装置通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了所述装置通过网络计算机与通信设备交互媒体属性参数,完成所述装置与通信设备之间的媒体协商,所述装置与通信设备传输媒体流的技术特征,使得所述装置和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0549]实施例十二
[0550]另外,本发明实施例八提供的媒体流的传输装置还可以采用的实现方式如下,用以实现前述本发明实施例中的媒体流的传输方法,如图19所示,所述装置与所述接入终端之间建立了第一虚拟桌面架构VDI通道,所述媒体流的传输装置包括:网络接口 1910、处理器1920和存储器1930。系统总线1940用于连接网络接口 1910、处理器1920和存储器1930。所述装置由云端服务器为接入终端分配的。
[0551]网络接口 1910用于与接入终端、WebRTC服务器以及通信设备进行交互通信。[0552]存储器1930可以是永久存储器,例如硬盘驱动器和闪存,存储器1930用于存储应用程序,所述应用程序包括可用于使处理器1620访问并执行如下指令:
[0553]建立与所述接入终端之间的实时协作通道;
[0554]接收通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求;
[0555]根据所述呼叫请求,通过所述实时协作通道向所述接入终端发送实时协作消息,其中,所述实时协作消息包括所述装置从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商;
[0556]转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述装置与所述接入终端之间通过所述实时协作通道传输用于进行所述媒体协商的信息。
[0557]进一步地,所述存储器1930存储的应用程序可用于使所述处理器1920执行建立与所述接入终端之间的实时协作通道过程的指令具体为执行以下过程的指令:
[0558]通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者,
[0559]建立与所述接入终端之间的第二 VDI通道;或者,
[0560]通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
[0561]进一步地,所述第一媒体属性参数包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号;
[0562]进一步地,所述存储器1930存储的应用程序可用于使所述处理器1920执行转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数过程的指令具体为执行以下过程的指令:
[0563]接收所述接入终端通过所述实时协作通道发送的第二媒体属性参数,所述第二媒体属性参数包括所述接入终端用于接收媒体的IP地址和端口号、以及所述接入终端根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式;
[0564]向所述通信设备转发所述第二媒体属性参数,以便于所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号向所述接入终端发送第一媒体,并接收所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
[0565]进一步地,所述存储器1930存储的应用程序还包括可用于使所述处理器1920执行以下过程的指令:
[0566]调用WebRTC信令消息协议栈;
[0567]利用所述信令消息协议栈,对所述第二媒体属性参数进行封装处理,生成呼叫响应;
[0568]向所述通信设备发送所述呼叫响应,所述呼叫响应包括所述第二媒体属性参数。[0569]因此,通过应用本发明实施例提供的媒体流的传输装置,接入终端通过与所述装置建立的实时协作通道接收所述装置发送的实时协作消息,根据实时协作消息,通过所述装置发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了接入终端通过所述装置与通信设备交互媒体属性参数,完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0570]实施例十三
[0571]相应地,本发明实施例十三还提供了一种媒体流的传输系统,如图20所示,所述系统包括,本发明实施例五以及本发明实施例六提供的媒体流的传输装置;
[0572]或者,所述系统包括:本发明实施例九以及本发明实施例十提供的媒体流的传输
>J-U ρ?α装直。
[0573]进一步地,所述系统还包括=WebRTC服务器。
[0574]进一步地,所述系统还包括:应用服务器,所述应用服务器包括网络接口模块、资源池;所述资源池包括桌面调度中心以及WebRTC媒体控制实体。
[0575]如图20所示,以接入终端、通信设备均为桌面云终端为例,接入终端、通信设备均通过网络接口资源池中的桌面调度中心接入云端服务器,根据云端服务器的分配,WebSocket服务器与对应的网络`计算机1、网络计算机N连接,传递实时协作消息,网络计算机1、网络计算机N通过WebRTC服务器传递消息。
[0576]因此,通过应用本发明实施例提供的媒体流的传输系统,接入终端根据通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了接入终端通过网络计算机与通信设备交互媒体属性参数,完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0577]实施例十四
[0578]相应地,本发明实施例十四还提供了一种媒体流的传输系统,如图21所示,所述系统包括,本发明实施例七以及本发明实施例八提供的媒体流的传输装置;
[0579]或者,所述系统包括:本发明实施例十一以及本发明实施例十二提供的媒体流的传输装置。
[0580]进一步地,所述系统还包括:CTI平台;
[0581]进一步地,所述系统还包括:WebRTC服务器。
[0582]在本发明实施例中,接入终端具体为坐席终端,通信设备具体为接入媒体设备。
[0583]因此,通过应用本发明实施例提供的媒体流的传输系统,接入终端通过与网络计算机建立的实时协作通道接收网络计算机发送的实时协作消息,根据实时协作消息,通过网络计算机发起与通信设备之间的媒体协商,根据媒体协商确定的媒体属性参数与通信设备相互传输媒体流。由于具有了接入终端通过网络计算机与通信设备交互媒体属性参数,完成接入终端与通信设备之间的媒体协商,接入终端与通信设备传输媒体流的技术特征,使得接入终端和通信设备之间可以直接传输媒体流,不再通过NC进行传输,从而避免了现有技术中NC上需要将媒体数据进行转换传输,导致媒体流时延明显,降低通信质量,以及TC/PC和NC之间要通过VDI通道来回传递媒体流,增加TC/PC和NC之间的带宽占用,造成带宽的浪费的问题,从而降低媒体流时延,节约带宽。
[0584]专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0585]结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。
[0586]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种媒体流的传输方法,所述传输方法由接入终端执行,所述接入终端与云端服务器为所述接入终端分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,其特征在于,所述方法包括: 所述接入终端建立与所述网络计算机之间的实时协作通道; 所述接入终端通过所述第一 VDI通道向所述网络计算机发送用户输入的操作指令; 所述接入终端接收所述网络计算机通过所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在确定所述操作指令是用于指示发起呼叫的操作指令时发送的,用于指示所述接入终端发起与所述通信设备之间的媒体协商; 所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,其中,所述接入终端与所述网络计算机之间通过所述实时协作通道传输用于所述媒体协商的信息; 所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流。
2.根据权利要求1所述的媒体流的传输方法,其特征在于,所述接入终端建立与所述网络计算机之间的实时协作通道具体包括: 所述接入终端通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者, 所述接入终端建立与所述网络计算机之间的第二 VDI通道;或者, 所述接入终端通过所述接入终端的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述接入终端中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
3.根据权利要求1或2所述的媒体流的传输方法,其特征在于,所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括: 所述接入终端获取所述接入终端所支持的第一媒体属性参数,所述第一媒体属性参数包括所述接入终端支持的媒体格式、以及用于接收媒体的IP地址和端口号; 所述接入终端通过所述实时协作通道向所述网络计算机发送所述第一媒体属性参数,用于使所述网络计算机向被呼叫的通信设备发送携带所述第一媒体属性参数的连接请求消息; 所述接入终端接收所述网络计算机通过所述实时协作通道发送的所述网络计算机接收自所述通信设备的第二媒体属性参数,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式; 所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流,具体包括: 所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
4.根据权利要求3所述的媒体流的传输方法,其特征在于,所述所述接入终端获取所述接入终端所支持的第一媒体属性参数具体包括: 所述接入终端调用所述接入终端的浏览器应用程序编程接口 API中的新建对等连接接口函数; 所述接入终端利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建请求函数,获取所述接入终端所支持的第一媒体属性参数。
5.一种媒体流的传输方法,所述方法由云端服务器为接入终端分配的网络计算机执行,所述网络计算机与所述接入终端之间建立了第一虚拟桌面架构VDI通道,其特征在于,所述方法包括: 所述网络计算机建立与 所述接入终端之间的实时协作通道; 所述网络计算机接收所述接入终端通过所述第一 VDI通道发送的用户输入的操作指令; 所述网络计算机在确定所述操作指令是用于指示发起呼叫的操作指令时,通过所述实时协作通道向所述接入终端发送实时协作消息,所述实时协作消息用于指示所述接入终端发起与所述通信设备之间的媒体协商; 所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述网络计算机与所述接入终端之间通过所述实时协作通道传输用于进行所述媒体协商的信息。
6.根据权利要求5所述的媒体流的传输方法,其特征在于,所述网络计算机建立与所述接入终端之间的实时协作通道具体包括: 所述网络计算机通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者, 所述网络计算机建立与所述接入终端之间的第二 VDI通道;或者, 所述网络计算机通过所述网络计算机的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述网络计算机中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
7.根据权利要求5或6所述的媒体流的传输方法,其特征在于,所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括: 所述网络计算机接收所述接入终端通过所述实时协作通道发送的所述接入终端所支持的第一媒体属性参数,所述第一媒体属性参数包括所述接入终端支持的媒体格式、以及用于接收媒体的IP地址和端口号; 根据所述用户输入的用于指示发起呼叫的操作指令,所述网络计算机向所述通信设备发送连接请求消息,所述连接请求消息包括所述第一媒体属性参数; 所述网络计算机接收所述通信设备确定所述通信设备支持所述第一媒体属性参数时发送的连接应答消息,所述连接应答消息包括所述通信设备所支持的第二媒体属性参数,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式; 所述网络计算机通过所述实时协作通道向所述接入终端发送所述第二媒体属性参数,以便于所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
8.根据权利要求7所述的媒体流的传输方法,其特征在于,所述根据所述操作指令,所述网络计算机向所述通信设备发送连接请求消息之前还包括: 所述网络计算机调用WebRTC信令消息协议栈; 利用所述信令消息协议栈,所述网络计算机对所述第一媒体属性参数进行封装处理,生成所述连接请求消息,所述连接请求消息包括所述第一媒体属性参数。
9.一种媒体流的传输方法,所述传输方法由接入终端执行,所述接入终端与云端服务器为所述接入终端分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,其特征在于,所述方法包括: 所述接入终端建立与所述网络计算机之间的实时协作通道; 所述接入终端接收所述网络计算机通过所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在接收到通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求时发送的,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商; 所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,其中,所述接入终端与所述网络计算机之间通过所述实时协作通道传输用于所述媒体协商的信息; 所述接入终端根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流。
10.根据权利要求9所述的媒体流的传输方法,其特征在于,所述接入终端建立与所述网络计算机之间的实时协作通道具体包括: 所述接入终端通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者, 所述接入终端建立与所述网络计算机之间的第二 VDI通道;或者, 所述接入终端通过所述接入终端的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述接入终端中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
11.根据权利要求9或10所述的媒体流的传输方法,其特征在于,所述第一媒体属性参数包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号; 所述接入终端通过所述网络计算机与所述通信设备进行媒体协商以确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括: 所述接入终端根据所述第一媒体属性参数确定所述接入终端所支持的第二媒体属性参数,所述第二媒体属性参数包括所述接入终端用于接收媒体的IP地址和端口号、以及所述接入终端根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式; 所述接入终端通过所述实时协作通道向所述网络计算机发送所述第二媒体属性参数,用于使所述网络计算机向所述通信设备转发所述第二媒体属性参数; 所述接入终端根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流,具体包括: 所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
12.根据权利要求11所述的媒体流的传输方法,其特征在于,所述接入终端根据所述第一媒体属性参数确定所述第二媒体属性参数具体包括: 所述接入终端调用所述接入终端的浏览器应用程序编程接口 API中的新建对等连接接口函数; 所述接入终端利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建回复函数,获取所述第二媒体属性参数。
13.一种媒体流的传输方法,所述方法由云端服务器为接入终端分配的网络计算机执行,所述网络计算机与所述接入终端之间建立了第一虚拟桌面架构VDI通道,其特征在于,所述方法包括: 所述网络计算机建立与所述接入终端之间的实时协作通道; 所述网络计算机接收通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求; 根据所述呼叫请求,所述网络计算机通过所述实时协作通道向所述接入终端发送实时协作消息,其中,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商; 所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述网络计算机与所述接入终端之间通过所述实时协作通道传输用于进行所述媒体协商的信息。
14.根据权利要求13所述的媒体流的传输方法,其特征在于,所述网络计算机建立与所述接入终端之间的实时协作通道具体包括: 所述网络计算机通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者, 所述网络计算机建立与所述接入终端之间的第二 VDI通道;或者, 所述网络计算机通过所述网络计算机的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述网络计算机中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
15.根据权利要求13或14所述的媒体流的传输方法,其特征在于,所述第一媒体属性参数包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号; 所述网络计算机转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,具体包括: 所述网络计算机接收所述接入终端通过所述实时协作通道发送的第二媒体属性参数,所述第二媒体属性参数包括所述接入终端用于接收媒体的IP地址和端口号、以及所述接入终端根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式; 所述网络计算机向所述通信设备转发所述第二媒体属性参数,以便于所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号向所述接入终端发送第一媒体,并接收所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
16.根据权利要求15所述的媒体流的传输方法,其特征在于,所述网络计算机向所述通信设备转发所述第二媒体属性参数之前还包括: 所述网络计算机调用WebRTC信令消息协议栈; 利用所述信令消息协议栈,所述网络计算机对所述第二媒体属性参数进行封装处理,生成呼叫响应; 所述网络计算机向所述通信设备发送所述呼叫响应,所述呼叫响应包括所述第二媒体属性参数。
17.一种媒体流的传输装置,所述装置与云端服务器为所述装置分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,其特征在于,所述装置包括: 协作通道建立单元,用于建立与所述网络计算机之间的实时协作通道;发送单元,用于通过所述第一 VDI通道向所述网络计算机发送用户输入的操作指令;接收单元,用于接收所述网络计算机通过所述协作通道建立单元建立的所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机确定所述操作指令是用于发起呼叫的操作指令时发送的,用于指示所述装置发起与所述通信设备之间的媒体协商; 协商确定单元,用于通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数,并用于将所述媒体协商所确定的所述媒体属性参数传输至媒体传输单元,其中,所述装置与所述网络计算机之间通过所述协作通道建立单元建立的所述实时协作通道传输用于所述媒体协商的信息; 媒体传输单元,用于从所述协商确定单元接收所述媒体协商所确定的所述媒体属性参数,根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流。
18.根据权利要求17所述的媒体流的传输装置,其特征在于,所述协作通道建立单元具体用于, 通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者, 建立与所述网络计算机之间的第二 VDI通道;或者,通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
19.根据权利要求17或18所述的媒体流的传输装置,其特征在于,所述协商确定单元具体包括获取子单元和确定子单元: 所述获取子单元,用于获取所述装置所支持的第一媒体属性参数,并用于将所述第一媒体属性参数传输至所述发送单元,所述第一媒体属性参数包括所述装置支持的媒体格式、以及用于接收媒体的IP地址和端口号; 所述发送单元还用于,从所述获取子单元接收所述第一媒体属性参数,通过所述协作通道建立单元建立的所述实时协作通道向所述网络计算机发送所述第一媒体属性参数,用于使所述网络计算机向被呼叫的通信设备发送携带所述第一媒体属性参数的连接请求消息; 所述接收单元还用于,接收所述网络计算机通过所述协作通道建立单元建立的所述实时协作通道发送的所述网络计算机接收自所述通信设备的第二媒体属性参数,并将所述第二媒体属性参数 传输至所述协商确定单元的确定子单元,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述装置和所述通信设备均支持的媒体格式; 所述确定子单元,用于从所述接收单元接收所述第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述媒体传输单元; 所述媒体传输单元具体用于,通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述装置用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
20.根据权利要求19所述的媒体流的传输装置,其特征在于,所述获取子单元具体用于, 调用所述装置的浏览器应用程序编程接口 API中的新建对等连接接口函数; 利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建请求函数,获取所述装置所支持的第一媒体属性参数。
21.一种媒体流的传输装置,所述装置由云端服务器为接入终端分配的,所述装置与所述接入终端之间建立了第一虚拟桌面架构VDI通道,其特征在于,所述装置包括: 协作通道建立单元,用于建立与所述接入终端之间的实时协作通道; 接收单元,用于接收所述接入终端通过所述第一 VDI通道发送的用户输入的操作指令; 发送单元,用于在确定所述操作指令是用于指示发起呼叫的操作指令时,通过所述协作通道建立单元建立的所述实时协作通道向所述接入终端发送实时协作消息,所述实时协作消息用于指示所述接入终端发起与所述通信设备之间的媒体协商; 所述发送单元还用于,转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述装置与所述接入终端之间通过所述协作通道建立单元建立的所述实时协作通道传输用于进行所述媒体协商的信息。
22.根据权利要求21所述的媒体流的传输装置,其特征在于,所述协作通道建立单元具体用于,通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者, 建立与所述接入终端之间的第二 VDI通道;或者, 通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
23.根据权利要求21或22所述的媒体流的传输装置,其特征在于,所述接收单元具体用于,接收所述接入终端通过所述协作通道建立单元建立的所述实时协作通道发送的所述接入终端所支持的第一媒体属性参数,并用于将所述第一媒体属性参数传输至所述发送单元,所述第一媒体属性参数包括所述接入终端支持的媒体格式、以及用于接收媒体的IP地址和端口号; 所述发送单元具体用于,从所述接收单元接收所述第一媒体属性参数,根据所述用户输入的用于指示发起呼叫的操作指令,向所述通信设备发送连接请求消息,所述连接请求消息包括所述第一媒体属性参数; 所述接收单元还具体用于,接收所述通信设备确定所述通信设备支持所述第一媒体属性参数时发送的连接应答消息,所述连接应答消息包括所述通信设备所支持的第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述发送单元,所述第二媒体属性参数包括所述通信设备用于接收媒体的IP地址和端口号、以及所述通信设备根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式; 所述发送单元还具体用于,从所述接收单元接收所述第二媒体属性参数,通过所述协作通道建立单元建立的所述实时协作通道向所述接入终端发送所述第二媒体属性参数,以便于所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
24.根据权利要求23所述的媒体流的传输装置,其特征在于,所述传输装置还包括: 调用单元,用于调用WebRTC信令消息协议栈; 封装生成单元,用于利用所述调用单元调用的所述信令消息协议栈,对所述第一媒体属性参数进行封装处理,生成所述连接请求消息,所述连接请求消息包括所述第一媒体属性参数。
25.一种媒体流的传输装置,所述装置与云端服务器为所述装置分配的网络计算机之间建立了第一虚拟桌面架构VDI通道,其特征在于,所述装置包括: 协作通道建立单元,用于建立与所述网络计算机之间的实时协作通道; 接收单元,用于接收所述网络计算机通过所述协作通道建立单元建立的所述实时协作通道发送的实时协作消息,其中,所述实时协作消息是所述网络计算机在接收到通信设备发送的用于呼叫所述装置对应的用户的呼叫请求时发送的,所述实时协作消息包括所述网络计算机从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述装置根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商; 协商确定单元,用于通过所述网络计算机与所述通信设备进行媒体协商以确定所述装置与所述通信设备之间用于传输媒体流的媒体属性参数,并用于将所述媒体协商所确定的所述媒体属性参数传输至媒体传输单元,其中,所述装置与所述网络计算机之间通过所述协作通道建立单元建立的所述实时协作通道传输用于所述媒体协商的信息;
媒体传输单元,用于从所述协商确定单元接收所述媒体协商所确定的所述媒体属性参数,根据所述媒体协商所确定的媒体属性参数与所述通信设备相互传输媒体流。
26.根据权利要求25所述的媒体流的传输装置,其特征在于,所述协作通道建立单元具体用于, 通过网络套接字WebSocket服务器建立与所述网络计算机之间的WebSocket通道;或者, 建立与所述网络计算机之间的第二 VDI通道;或者, 通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述网络计算机中的浏览器之间的点对点数据通道。
27.根据权利要求25或26所述的媒体流的传输装置,其特征在于,所述接收单元接收的所述实时协作消息中包括的所述第一媒体属性参数,包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号; 所述协商确定单元具体包括确定子单元和发送子单元; 所述确定子单元,用于根据所述第一媒体属性参数确定所述装置所支持的第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述发送子单元,所述第二媒体属性参数包括所述装置用于接收媒体的IP地址和端口号、以及所述装置根据所述第一媒体属性参数确定的所述装置和所述通信设备均支持的媒体格式; 所述发送子单元,用于从所述确定子单元接收所述第二媒体属性参数,将所述第二媒体属性参数传输至所述媒体传输单元,并用于通过所述协作通道建立单元建立的所述实时协作通道向所述网络计算机发送所述第二媒体属性参数,用于使所述网络计算机向所述通信设备转发所述第二媒体属性参数; 所述媒体传输单元具体用于,通过所述通信设备用于接收媒体的IP地址和端口号向所述通信设备发送第一媒体,并接收所述通信设备通过所述装置用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
28.根据权利要求27所述的媒体流的传输装置,其特征在于,所述确定子单元具体用于, 调用所述装置的浏览器应用程序编程接口 API中的新建对等连接接口函数,并利用所述新建对等连接接口函数,生成对等连接接口,并利用所述对等连接接口中包括的创建回复函数,获取所述第二媒体属性参数。
29.一种媒体流的传输装置,所述装置由云端服务器为接入终端分配的,所述装置与所述接入终端之间建立了第一虚拟桌面架构VDI通道,其特征在于,所述装置包括: 协作通道建立单元,用于建立与所述接入终端之间的实时协作通道; 接收单元,用于接收通信设备发送的用于呼叫所述接入终端对应的用户的呼叫请求,并用于将所述呼叫请求传输至发送单元; 发送单元,用于从所述接收单元接收所述呼叫请求,根据所述呼叫请求,通过所述协作通道建立单元建立的所述实时协作通道向所述接入终端发送实时协作消息,其中,所述实时协作消息包括所述装置从所述呼叫请求中解析出的所述通信设备支持的第一媒体属性参数,用于指示所述接入终端根据所述通信设备支持的第一媒体属性参数与所述通信设备进行媒体协商; 所述发送单元还用于,转发用于在所述接入终端与所述通信设备之间进行媒体协商的信息,以使得所述接入终端和所述通信设备通过所述媒体协商确定所述接入终端与所述通信设备之间用于传输媒体流的媒体属性参数,以便于所述接入终端根据所述媒体协商所确定的所述媒体属性参数与所述通信设备相互传输媒体流;其中,所述装置与所述接入终端之间通过所述协作通道建立单元建立的所述实时协作通道传输用于进行所述媒体协商的信息。
30.根据权利要求29所述的媒体流的传输装置,其特征在于,所述协作通道建立单元具体用于, 通过网络套接字WebSocket服务器建立与所述接入终端之间的WebSocket通道;或者, 建立与所述接入终端之间的第二 VDI通道, 通过所述装置的浏览器网络实时通信WebRTC应用中的数据信道机制,建立所述装置中的浏览器与所述接入终端中的浏览器之间的点对点数据通道。
31.根据权利要求29或30所述的媒体流的传输装置,其特征在于,所述发送单元发送的所述实时协作消息中包括的所述第一媒体属性参数,包括所述通信设备支持的媒体格式、以及用于接收媒体的IP地址和端口号; 所述接收单元还用于,接收所述接入终端通过所述协作通道建立单元建立的所述实时协作通道发送的第二媒体属性参数,并用于将所述第二媒体属性参数传输至所述发送单元,所述第二媒体属性参数包括所述接入终端用于接收媒体的IP地址和端口号、以及所述接入终端根据所述第一媒体属性参数确定的所述接入终端和所述通信设备均支持的媒体格式; 所述发送单元具体用于,向所述通信设备转发所述接收单元接收的所述第二媒体属性参数,以便于所述通信设备通过所述接入终端用于接收媒体的IP地址和端口号向所述接入终端发送第一媒体,并接收所述接入终端通过所述通信设备用于接收媒体的IP地址和端口号发送的第二媒体;所述第一媒体和所述第二媒体均是采用所述第二媒体属性参数中包括的媒体格式进行编码的。
32.根据权利要求31所述的媒体流的传输装置,其特征在于,所述装置还包括: 调用单元,用于调用WebRTC信令消息协议栈; 封装生成单元,用于利用所述调用单元调用的所述信令消息协议栈,对所述接收单元接收的所述第二媒体属性参数进行封装处理,生成呼叫响应,并用于将所述呼叫响应传输至所述发送单元; 所述发送单元具体用于,向所述通信设备发送所述封装生成单元生成的所述呼叫响应,所述呼叫响应包括所述第二媒体属性参数。
33.一种媒体流的传输系统,其特征在于,所述系统包括:如权利要求17至权利要求20任一权项所述的媒体流的传输装置以及如权利要求21至权利要求24任一权项所述的媒体流的传输装置; 或者,所述系统包括:如权利要求25至权利要求28任一权项所述的媒体流的传输装置以及如权利要求29至权利要求32任一权项所述的媒体流的传输装置。
【文档编号】H04L29/08GK103650458SQ201380000904
【公开日】2014年3月19日 申请日期:2013年8月16日 优先权日:2013年8月16日
【发明者】徐明远, 晏强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1