视频会议中媒体流的传输方法与装置
技术领域
本发明涉及通讯技术领域,尤其涉及一种视频会议中媒体流的传输方法与装置。
背景技术
网络实时通信(Web Real Time Communication,简称:WebRTC)技术可实现不同浏览器与浏览器之间、或浏览器与终端之间的视音频通信、多方会议等功能。如图1所示。
在图1的左侧,用户1访问WeRTC应用网站打开WebRTC应用网页,通过网页中的JavaScript代码与WeRTC应用网站建立通信连接;在图1的右侧,用户2也访问WeRTC应用网站打开WebRTC应用网页,通过网页中的JavaScript代码与WeRTC应用网站建立通信连接。此时用户1和用户2通过WeRTC应用网站提供的用户信息与对方建立连接,并通过JavaScript应用程序编程接口(Application Programming Interface,简称:API)调用各自浏览器中的功能进行媒体流传输。
目前,在现有技术中,当用户1使用终端1(例如:手机)参加WebRTC视频会议时,会议服务器将参与视频会议中所有的参会者的视频/音频进行混频/混音后,发送给终端1,或者用户1通过终端1将终端1内的视音频信息向会议服务器上传;但是,现有技术中也暴露出以下不足:1)会议服务器只能将参与视频会议中所有的参会者的视频/音频进行混频/混音后分发给各个用户,而不能对特定参会者的视音频进行收集、组合,降低用户体验,同时也增加了终端的使用带宽以及终端本地的资源消耗。
发明内容
本发明实施例提供了一种视频会议中媒体流的传输方法与装置,可以实现根据用户的选择,会议服务器向终端发送特定参会者的视音频信息。
在第一方面,本发明实施例提供了一种视频会议中媒体流的传输方法,所述方法包括:
接收会议服务器发送的第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息;
接收选择指令,所述选择指令具体为从所述所有参会者的视音频信息中选择出所需的视音频信息对应的参会者;
根据所述选择指令,通过WebRTC应用向所述会议服务器发送传输请求消息,所述传输请求消息包括选择出的参会者的标识信息;
接收所述会议服务器根据所述标识信息发送的第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息。
在第一种可能的实现方式中,所述根据所述选择指令,通过WebRTC应用向所述会议服务器发送所述传输请求消息之前还包括:
根据所述选择指令,接收所述WebRTC应用发送的创建指令;
根据所述创建指令,调用扩展后的WebRTC接口,并解析所述扩展后的WebRTC接口中约束对象的参会者属性;
从所述参会者属性中提取选择出的参会者的标识信息,并将每个所述参会者的标识信息存储在参会者列表内;
调用扩展后的SDP协议中内容属性;
将所述参会者列表载入所述扩展后的SDP协议中内容属性的媒体来源标识mediacnt-src区间内;
将所述mediacnt-src区间携带在所述传输请求消息中,以使得所述传输请求消息包括选择出的参会者的标识信息;
通过所述WebRTC应用向所述会议服务器发送所述传输请求消息。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述解析所述扩展后的WebRTC接口中约束对象的参会者属性之前还包括:
将选择出的参会者的标识信息存储在所述参会者属性中。
结合第一方面或第一方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述接收所述会议服务器根据所述标识信息发送的第二媒体流之前还包括:
通过所述WebRTC应用接收所述会议服务器根据所述传输请求消息发送的传输响应消息,用于确定与所述会议服务器已建立传输连接。
结合第一方面或第一方面的第一种、第二种、第三种可能的实现方式,在第四种可能的实现方式中,所述接收所述会议服务器根据所述标识信息发送的第二媒体流之后还包括:
向所述WebRTC应用传输所述第二媒体流,以便于所述WebRTC应用将所述第二媒体流进行播放。
在第二方面,本发明实施例提供了一种视频会议中媒体流的传输方法,所述方法包括:
向浏览器发送第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息;
接收所述浏览器通过WebRTC应用发送的传输请求消息,所述传输请求消息包括从所述所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息;
根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息;
向所述浏览器发送第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息。
在第一种可能的实现方式中,所述接收所述浏览器通过WebRTC应用发送的传输请求消息之后还包括:
调用扩展后的WebRTC接口;
根据调用的所述扩展后的WebRTC接口,从所述传输请求消息中提取选择出的所述参会者的标识信息;
将选择出的所述参会者的标识信息存储在参会者列表内;
通过所述扩展后的WebRTC接口与所述WebRTC应用之间建立的连接向所述浏览器发送传输响应消息,用于使所述浏览器确定与所述会议服务器已建立传输连接。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息具体包括:
根据所述参会者列表内存储的选择出的所述参会者的标识信息,从所述扩展后的WebRTC接口中提取对应的参会者的媒体跟踪对象,所述媒体跟踪对象包括所述参会者的视音频信息。
结合第二方面或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述向所述传输浏览器发送第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息具体包括:
将所述媒体跟踪对象携带在第二媒体流中,以使得所述第二媒体流包括选择出的参会者的视音频信息。
在第三方面,本发明实施例提供了一种视频会议中媒体流的传输方法,所述方法包括:
当第一终端的第一浏览器与第二终端的第二浏览器通过同一用户登录信息接入会议服务器,且所述第一浏览器未向所述会议服务器发送第一媒体流时,所述第二浏览器接收第一选择指令,所述第一选择指令具体为从所述第二终端选择出待发送的视音频信息;
根据所述第一选择指令,通过所述第二终端的第一WebRTC应用向所述会议服务器发送第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口属性信息;
当接收到所述会议服务器根据所述第一传输请求消息发送的第一传输响应消息时,根据所述端口属性信息,通过对应的端口向所述会议服务器发送第二媒体流,所述第二媒体流包括所述待发送的视音频信息。
在第一种可能的实现方式中,所述第二浏览器接收用户输入的第一选择指令之前还包括:
接收所述会议服务器发送的第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息;
接收第二选择指令,所述第二选择指令具体为从所述所有参会者的视音频信息中选择出所需的视音频信息对应的参会者;
根据所述第二选择指令,通过所述第一WebRTC应用向所述会议服务器发送所述第二传输请求消息,所述第二传输请求消息包括选择出的参会者的标识信息;
通过所述第一WebRTC应用接收所述会议服务器发送的第二传输响应消息,所述第二传输响应消息用于使所述第二浏览器确定当存在所述第一浏览器向所述会议服务器发送第一媒体流时,不向所述会议服务器发送所述第二终端中的视音频信息;
接收所述会议服务器根据所述标识信息发送的第四媒体流,所述第四媒体流包括所述用户选择出的参会者的视音频信息。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述第一选择指令,通过所述第二终端的第一WebRTC应用向所述会议服务器发送第一传输请求消息之前还包括:
根据所述第一选择指令,接收所述第一WebRTC应用发送的创建指令;
根据所述创建指令,调用扩展后的WebRTC接口,并判断所述扩展后的WebRTC接口中约束对象的发送视频属性值以及发送音频属性值;
当所述发送视频属性值为真时,则将已接收视频信息的第一视频端口属性设置为仅接收视频端口,将未接收视频信息的第二视频端口属性设置为仅发送视频端口;
当所述发送音频属性值为真时,则将音频端口的属性设置为发送接收端口;
将已设置的端口属性信息携带在所述第一传输请求消息中,以使得所述第一传输请求消息包括所述第二浏览器中端口属性信息;
通过所述第二终端的第一WebRTC应用向所述会议服务器发送所述第一传输请求消息。
在第四方面,本发明实施例提供了一种视频会议中媒体流的传输方法,所述方法包括:
当会议服务器接受第一终端的第一浏览器以及第二终端的第二浏览器通过同一用户登录信息接入所述会议服务器,且所述第一浏览器未向所述会议服务器发送第一媒体流时,所述会议服务器接收所述第二浏览器通过所述第二终端的第一WebRTC应用发送的第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口属性信息;
根据所述第一传输请求消息,向所述第二浏览器发送第一传输响应消息,用于使所述第二浏览器确定与所述会议服务器已建立传输连接;
接收所述第二浏览器根据所述端口属性信息发送的第二媒体流,所述第二媒体流包括从所述第二终端选择出的待发送的视音频信息。
在第一种可能的实现方式中,所述会议服务器接收所述第二浏览器通过所述第二终端的第一WebRTC应用发送的第一传输请求消息之前还包括:
向所述第二浏览器发送第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息;
接收所述第二浏览器通过所述第一WebRTC应用发送的第二传输请求消息,所述第二传输请求消息包括从所述所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息;
根据所述第二传输请求消息,调用扩展后的WebRTC接口,并判断所述第一浏览器是否正在发送媒体流;
如果所述第一浏览器正在发送媒体流,则将所述会议服务器的端口属性设置为仅发送端口;
将已设置的端口属性信息携带在第二传输响应消息内,并通过所述第一WebRTC应用向所述第二浏览器发送所述第二传输响应消息,所述第二传输响应消息用于使所述第二浏览器确定当存在所述第一浏览器向所述会议服务器发送媒体流时,不向所述会议服务器发送所述第二终端中的视音频信息;
根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息;
向所述第二浏览器发送第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收所述第二浏览器根据所述端口属性信息发送的第二媒体流之后还包括:
根据所述端口属性信息,向所述第二浏览器中对应的端口发送第五媒体流。
结合第四方面或第四方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述接收所述第二浏览器根据所述端口属性信息发送的第二媒体流之后还包括:
调用扩展后的WebRTC接口,并判断所述扩展后的WebRTC接口中约束对象的接收视频属性值以及接收音频属性值;
当所述接收视频属性值为真时,则将已接收视频信息的视频端口属性设置为仅发送视频端口;
当所述接收音频属性值为真时,则将已接收音频信息的音频端口属性设置为仅发送音频端口;
将已设置的端口属性信息携带在第三传输请求消息中,并向所述第一浏览器发送所述第三传输请求消息,所述第三传输请求消息用于使所述第一浏览器确定不向所述会议服务器发送所述第一终端中的视音频信息。
在第五方面,本发明实施例提供了一种视频会议中媒体流的传输装置,所述传输装置处于终端内,所述装置包括:
接收单元,用于接收会议服务器发送的第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息;
所述接收单元还用于,接收选择指令,所述选择指令具体为从所述所有参会者的视音频信息中选择出所需的视音频信息对应的参会者;
发送单元,用于根据所述选择指令,通过WebRTC应用向所述会议服务器发送传输请求消息,所述传输请求消息包括选择出的参会者的标识信息;
所述接收单元还用于,接收所述会议服务器根据所述标识信息发送的第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息。
在第一种可能的实现方式中,所述所述接收单元还用于,根据所述选择指令,接收所述WebRTC应用发送的创建指令;
所述传输装置还包括:调用单元,用于根据所述创建指令,调用扩展后的WebRTC接口,并解析所述扩展后的WebRTC接口中约束对象的参会者属性;
提取单元,用于从所述参会者属性中提取选择出的参会者的标识信息,并将每个所述参会者的标识信息存储在参会者列表内;
所述调用单元还用于,调用扩展后的SDP协议中内容属性;
所述传输装置还包括:载入单元,用于将所述参会者列表载入所述扩展后的SDP协议中内容属性的媒体来源标识mediacnt-src区间内;
放入单元,用于将所述mediacnt-src区间携带在所述传输请求消息中,以使得所述传输请求消息包括选择出的参会者的标识信息;
所述发送单元还用于,通过所述WebRTC应用向所述会议服务器发送所述传输请求消息。
结合第五方面或第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:存储单元,用于将选择出的参会者的标识信息存储在所述参会者属性中。
结合第五方面或第五方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述接收单元还用于,
通过所述WebRTC应用接收所述会议服务器根据所述传输请求消息发送的传输响应消息,用于确定与所述会议服务器已建立传输连接。
结合第五方面或第五方面的第一种、第二种、第三种可能的实现方式,在第四种可能的实现方式中,所述传输装置还包括:
传输单元,用于向所述WebRTC应用传输所述第二媒体流,以便于所述WebRTC应用将所述第二媒体流进行播放。
在第六方面,本发明实施例提供了一种视频会议中媒体流的传输装置,所述装置包括:
发送单元,用于当向浏览器发送第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息;
接收单元,用于接收所述浏览器通过WebRTC应用发送的传输请求消息,所述传输请求消息包括从所述所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息;
提取单元,用于根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息;
所述发送单元还用于,向所述浏览器发送第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息。
在第一种可能的实现方式中,所述传输装置还包括:
调用单元,用于调用扩展口的WebRTC接口;
所述提取单元还用于,根据调用的所述扩展后的WebRTC接口,从所述传输请求消息中提取选择出的所述参会者的标识信息;
所述装置还包括:存储单元,用于将选择出的所述参会者的标识信息存储在参会者列表内;
所述发送单元还用于,通过所述扩展后的WebRTC接口与所述WebRTC应用之间建立的连接向所述浏览器发送传输响应消息,用于使所述浏览器确定与所述会议服务器已建立传输连接。
在第二种可能的实现方式中,所述提取单元具体用于,
根据所述存储单元中所述参会者列表内存储的选择出的所述参会者的标识信息,从所述扩展后的WebRTC接口中提取对应的参会者的媒体跟踪对象,所述媒体跟踪对象包括所述参会者的视音频信息。
结合第六方面或第六方面的第二种可能的实现方式,在第三种可能的实现方式中,所述发送单元息具体用于,
将所述媒体跟踪对象携带在第二媒体流中,以使得所述第二媒体流包括选择出的参会者的视音频信息。
在第七方面,本发明实施例提供了一种视频会议中媒体流的传输装置,所述视频会议中的每一会场包括第一终端以及第二终端,所述传输装置处于所述第二终端内,所述装置包括:
接收单元,用于当第一终端的浏览器与所述传输装置通过同一用户登录信息接入会议服务器,且所述浏览器未向所述会议服务器发送第一媒体流时,接收第一选择指令,所述第一选择指令具体为从所述第二终端选择出待发送的视音频信息;
发送单元,用于根据所述第一选择指令,通过所述第二终端的第一WebRTC应用向所述会议服务器发送第一传输请求消息,所述第一传输请求消息包括所述传输装置中端口属性信息;
所述发送单元还用于,当接收到所述会议服务器根据所述第一传输请求消息发送的第一传输响应消息时,根据所述端口属性信息,通过对应的端口向所述会议服务器发送第二媒体流,所述第二媒体流包括所述待发送的视音频信息。
在第一种可能的实现方式中,所述接收单元还用于,接收所述会议服务器发送的第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息;
所述接收单元还用于,接收第二选择指令,所述第二选择指令具体为从所述所有参会者的视音频信息中选择出所需的视音频信息对应的参会者;
所述发送单元还用于,根据所述第二选择指令,通过所述第一WebRTC应用向所述会议服务器发送所述第二传输请求消息,所述第二传输请求消息包括选择出的参会者的标识信息;
所述接收单元还用于,通过所述第一WebRTC应用接收所述所述会议服务器发送的第二传输响应消息,所述第二传输响应消息用于使所述传输装置确定当存在所述浏览器向所述会议服务器发送第一媒体流时,不向所述会议服务器发送所述第二终端中的视音频信息;
所述接收单元还用于,接收所述会议服务器根据所述标识信息发送的第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息。
结合第七方面或第七方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收单元还用于,根据所述第一选择指令,接收所述第一WebRTC应用发送的创建指令;
所述传输装置还包括:调用单元,用于根据所述创建指令,调用扩展后的WebRTC接口,并判断所述扩展后的WebRTC接口中约束对象的发送视频属性值以及发送音频属性值;
设置单元,用于当所述发送视频属性值为真时,则将已接收视频信息的第一视频端口属性设置为仅接收视频端口,将未接收视频信息的第二视频端口属性设置为仅发送视频端口;
所述设置单元还用于,当所述发送音频属性值为真时,则将音频端口的属性设置为发送接收端口;
所述传输装置还包括:放入单元,用于将已设置的端口属性信息携带在所述第一传输请求消息中,以使得所述第一传输请求消息包括所述传输装置中端口属性信息;
所述发送单元还用于,通过所述第二终端的第一WebRTC应用向所述会议服务器发送所述第一传输请求消息。
在第八方面,本发明实施例提供了一种视频会议中媒体流的传输装置,所述装置包括:
接收单元,用于当所述传输装置接受第一终端的第一浏览器以及第二终端的第二浏览器通过同一用户登录信息接入所述传输装置,且所述第一浏览器未向所述传输装置发送第一媒体流时,接收所述第二浏览器通过所述第二终端的第一WebRTC应用发送的第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口属性信息;
发送单元,用于根据所述第一传输请求消息,向所述第二浏览器发送第一传输响应消息,用于使所述第二浏览器确定与所述传输装置已建立传输连接;
所述接收单元还用于,接收所述第二浏览器根据所述端口属性信息发送的第二媒体流,所述第二媒体流包括从所述第二终端选择出的待发送的视音频信息。
在第一种可能的实现方式中,所述发送单元还用于,向所述第二浏览器发送第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息;
所述接收单元还用于,接收所述第二浏览器通过所述第一WebRTC应用发送的第二传输请求消息,所述第二传输请求消息包括从所述所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息;
所述传输装置还包括:判断单元,用于根据所述第二传输请求消息,调用扩展后的WebRTC接口,并判断所述第一浏览器是否正在发送媒体流;
设置单元,用于如果所述第一浏览器正在发送媒体流,则将所述传输装置的端口属性设置为仅发送端口;
所述发送单元还用于,将已设置的端口属性信息携带在第二传输响应消息内,并通过所述第一WebRTC应用向所述第二浏览器发送所述第二传输响应消息,所述第二传输响应消息用于使所述第二浏览器确定当存在所述第一浏览器向所述传输装置发送媒体流时,不向所述传输装置发送所述第二终端中的视音频信息;
所述传输装置还包括:提取单元,用于根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息;
所述发送单元还用于,向所述第二浏览器发送第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息。
结合第八方面或第八方面的第一种可能的实现方式,在第二种可能的实现方式中,所述发送单元还用于,根据所述端口属性信息,向所述第二浏览器中对应的端口发送第五媒体流。
结合第八方面或第八方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述判断单元还用于,调用扩展后的WebRTC接口,并判断所述扩展后的WebRTC接口中约束对象的接收视频属性值以及接收音频属性值;
所述设置单元还用于,当所述判断单元的判断结果为所述接收视频属性值为真时,则将已接收视频信息的视频端口属性设置为仅发送视频端口;
所述设置单元还用于,当所述判断单元的判断结果为所述当所述接收音频属性值为真时,则将已接收音频信息的音频端口属性设置为仅发送音频端口;
所述发送单元还用于,将已设置的端口属性信息携带在第三传输请求消息中,并向所述第一浏览器发送所述第三传输请求消息,所述第三传输请求消息用于使所述第一浏览器确定不向所述传输装置发送所述第一终端中的视音频信息。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输方法与装置,终端的浏览器根据对视频会议中所有参会者的视音频信息进行选择的指令,向会议服务器发送传输请求消息,进而接收选择出的参会者的视音频信息,并将接收的视音频信息通过WebRTC应用进行播放,进而解决现有技术中出现的问题,浏览器接收特定参会者的视音频,从而屏蔽掉了用户不感兴趣的参会者视音频,增强了WebRTC视频会议的功能,提高了用户的体验,并可以节省网络带宽以及终端本地的资源消耗。
附图说明
图1为现有技术中WebRTC技术系统示意图;
图2为本发明实施例一提供的视频会议中媒体流的传输方法流程图;
图3为本发明实施例二提供的视频会议中媒体流的传输方法流程图;
图4为本发明实施例提供的一种视频会议中媒体流的传输方法信令图;
图5为本发明实施例三提供的视频会议中媒体流的传输方法流程图;
图6为本发明实施例四提供的视频会议中媒体流的传输方法流程图;
图7为本发明实施例提供的另一种视频会议中媒体流的传输方法信令图;
图8为本发明实施例五提供的视频会议中媒体流的传输装置结构图;
图9为本发明实施例六提供的视频会议中媒体流的传输装置结构图;
图10为本发明实施例七提供的视频会议中媒体流的传输装置结构图;
图11为本发明实施例八提供的视频会议中媒体流的传输装置结构图;
图12为本发明实施例九提供的视频会议中媒体流的传输装置硬件结构图;
图13为本发明实施例十提供的视频会议中媒体流的传输装置硬件结构图;
图14为本发明实施例十一提供的视频会议中媒体流的传输装置硬件结构图;
图15为本发明实施例十二提供的视频会议中媒体流的传输装置硬件结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
实施例一
下面以图2为例详细说明本发明实施例一提供的视频会议中媒体流的传输方法,图2为本发明实施例一提供的视频会议中媒体流的传输方法流程图,在本发明实施例中实施主体为浏览器,所述浏览器处于终端内,在本发明实施例中终端具体是指智能手机、平板电脑等移动终端;或者是指个人电脑、智能电视等固定终端。如图2所示,该实施例具体包括以下步骤:
步骤210、接收会议服务器发送的第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息。
具体地,在本发明实施例中,当终端的浏览器接入会议服务器时,也即是浏览器与会议服务器建立连接时,浏览器接收会议服务器发送的第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息。
进一步地,浏览器接入会议服务器为现有技术,在此,仅做简单说明。浏览器登录网络服务器获取WebRTC视频会议应用网页;浏览器接收用户输入的登录信息(用户名以及密码),并向网络服务器发送认证信息,认证信息包括用户名以及密码;网络服务器向数据库发送认证信息;数据库进行数据验证后,向网络服务器发送会议信息,会议信息包括视频会议的IP地址,端口号等;网络服务器将获取的会议信息向终端的WebRTC应用发送;WebRTC应用根据接收到的会议信息向浏览器发送创建指令以及添加指令,浏览器创建连接对象,并在连接对象中添加终端存储的视音频信息;浏览器通过创建的连接对象创建连接请求消息,并将连接对象携带在连接请求消息中,同时,浏览器接收WebRTC应用发送的保存指令,将终端的媒体属性信息也携带在连接请求消息中,浏览器向WebRTC应用发送连接请求消息,WebRTC应用将连接请求消息向会议服务器发送,会议服务器根据连接请求消息,创建连接对象,保存终端的媒体属性信息,并根据连接请求消息创建连接响应消息,将会议服务器的媒体属性信息携带在连接响应消息中;会议服务器通过WebRTC应用向浏览器发送连接响应消息,至此,浏览器接入会议服务器,也即是浏览器与会议服务器建立连接。
步骤220、接收选择指令,所述选择指令具体为从所述所有参会者的视音频信息中选择出所需的视音频信息对应的参会者。
具体地,浏览器在接收到会议服务器发送的第一媒体流后,浏览器将第一媒体流解析并提取每个参会者的视音频信息,将每个参会者的视音频信息显示在用户界面上,浏览器接收选择指令,所述选择指令为用户输入的,所述选择指令具体为用户从用户界面上显示的所有参会者的视音频信息中选择出所需的视音频信息对应的参会者,也即是用户根据用户界面上显示的所有参会者的视音频信息选择出所需的参会者。
在本发明实施例中,选择出的参会者也即是后续仅接收选择出的参会者的视音频信息。
步骤230、根据所述选择指令,通过WebRTC应用向所述会议服务器发送传输请求消息,所述传输请求消息包括选择出的参会者的标识信息。
具体地,根据选择指令,浏览器通过WebRTC应用向会议服务器发送传输请求消息,所述传输请求消息包括选择出的参会者的标识信息。该标识信息用以确定用户所需的参会者。所述WebRTC应用为终端内部的WebRTC应用。
进一步地,浏览器接收选择指令的同时,还根据选择指令,提取选择出的参会者的标识信息,并将标识信息携带在传输请求消息中。
步骤240、接收所述会议服务器根据所述标识信息发送的第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息。
具体地,浏览器在向会议服务器发送传输请求消息后,接收会议服务器根据传输请求消息包括的标识信息发送的第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息,进而实现根据用户的选择,会议服务器向终端发送特定参会者的视音频信息,提高了用户体验,同时也节省了网络带宽以及终端本地的资源消耗。
可选地,在本发明实施例步骤230之前,还包括浏览器根据所述选择指令,生成所述传输请求消息的步骤。具体步骤如下:
根据所述选择指令,生成所述传输请求消息。
具体地,根据选择指令,浏览器接收WebRTC应用发送的创建指令;根据创建指令,浏览器调用扩展后的WebRTC接口,并解析扩展后的WebRTC接口中约束对象的参会者属性;浏览器从参会者属性中提取选择出的参会者的标识信息;并将每个参会者的标识信息存储在参会者列表内;浏览器调用扩展后的SDP协议中内容属性;浏览器将参会者列表载入扩展后的SDP协议中内容属性的媒体来源标识mediacnt-src区间内;浏览器将mediacnt-src区间携带在传输请求消息中,以使得传输请求消息包括选择出的参会者的标识信息,并通过终端的WebRTC应用向会议服务器发送传输请求消息。
可选地,在上述浏览器解析扩展后的WebRTC接口中约束对象的参会者属性之前还包括浏览器将选择出的参会者的标识信息存储在参会者属性中的步骤。可以理解的是,参会者属性中除了保存选择出的参会者的标识信息以外,还可扩展保存关于参会者的其他相关信息,在本发明实施例中,仅以保存标识信息为例说明,在实际应用中,还可保存关于参会者的其他相关信息。
需要说明的是,在本发明实施例中,管理人员事先对浏览器进行扩展以及增加功能,也即是扩展浏览器的WebRTC接口,以及浏览器在运行时的SDP协议,在对浏览器进行扩展后,增加浏览器的功能,使得浏览器可对扩展后的接口、协议进行运行。
进一步地,管理人员扩展浏览器的WebRTC接口中约束对象,为约束对象增加参会者属性,该参会者属性用于保存选择出的参会者的标识信息;管理人员在浏览器生成传输请求消息的方法中添加功能,进而使得浏览器提取参会者属性的值并经提取的值存储在参会者列表内;管理人员扩展SDP协议的内容属性,增加mediacnt-src区间来存储参会者的标识;进而使得浏览器将参会者列表载入mediacnt-src区间内,并将mediacnt-src区间携带在传输请求消息中,以使得传输请求消息包括选择出的参会者的标识信息。
可选地,在本发明实施例步骤240之前,还包括浏览器通过WebRTC应用接收所述会议服务器根据所述传输请求消息发送的传输响应消息。通过接收的传输响应消息,可使浏览器确定与会议服务器已建立传输连接,会议服务器已经准备向浏览器发送第二媒体流。具体步骤如下:
通过所述WebRTC应用接收所述会议服务器根据所述传输请求消息发送的传输响应消息,用于使所述浏览器确定与所述会议服务器已建立传输连接。
具体地,浏览器通过WebRTC应用接收会议服务器根据传输请求消息发送的传输响应消息,用于使浏览器确定与会议服务器已建立传输连接,会议服务器已经准备向浏览器发送第二媒体流。
可选地,在本发明实施例步骤240之后,还包括浏览器向所述WebRTC应用传输所述第二媒体流,以便于所述WebRTC应用将所述第二媒体流进行播放的步骤,通过该步骤可将第二媒体流对用户进行播放。具体步骤如下:
向所述WebRTC应用传输所述第二媒体流,以便于所述WebRTC应用将所述第二媒体流进行播放。
具体地,浏览器向WebRTC应用传输第二媒体流,以便于WebRTC应用将第二媒体流对用户进行播放,或者WebRTC应用将第二媒体流传输至其他应用,其他应用对第二媒体流进行处理,例如,存储等。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输方法,终端的浏览器根据对视频会议中所有参会者的视音频信息进行选择的指令,向会议服务器发送传输请求消息,进而接收选择出的参会者的视音频信息,并将接收的视音频信息通过WebRTC应用进行播放,进而解决现有技术中出现的问题,浏览器接收特定参会者的视音频,从而屏蔽掉了用户不感兴趣的参会者视音频,增强了WebRTC视频会议的功能,提高了用户的体验,并可以节省网络带宽以及终端本地的资源消耗。
为便于对本发明实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
实施例二
下面以图3为例详细说明本发明实施例二提供的视频会议中媒体流的传输方法,图3为本发明实施例二提供的视频会议中媒体流的传输方法流程图,在本发明实施例中实施主体为会议服务器,所述会议服务器处于通信网络内。如图3所示,该实施例具体包括以下步骤:
步骤310、向浏览器发送第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息。
具体地,在本发明实施例中,当会议服务器与终端的浏览器建立连接时,也即是浏览器接入会议服务器时,会议服务器向浏览器发送第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息。
进一步地,会议服务器与浏览器建立连接为现有技术,在前述实施例中已简要说明,在此不再复述。
步骤320、接收所述浏览器通过WebRTC应用发送的传输请求消息,所述传输请求消息包括从所述所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息。
具体地,会议服务器在向浏览器发送第一媒体流后,接收浏览器通过WebRTC应用发送的传输请求消息,所述传输请求消息包括从所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息。
可以理解的是,前述实施例已详细说明浏览器生成、发送传输请求消息的详细过程,在此不再复述。
步骤330、根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息。
具体地,会议服务器接收到传输请求消息后,解析并提取传输请求消息包括的参会者的标识信息,根据标识信息,提取与标识信息对应的参会者的视音频信息。
步骤340、向所述浏览器发送第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息。
具体地,会议服务器提取到与标识信息对应的参会者的视音频信息后,向浏览器发送第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息,进而实现根据用户的选择,会议服务器向终端发送特定参会者的视音频信息,提高了用户体验,同时也节省了网络带宽以及终端本地的资源消耗。
可选地,在本发明实施例步骤320之后还包括会议服务器根据所述传输请求消息,生成并发送传输响应消息的步骤。通过发送传输响应消息,可使浏览器明确已与会议服务器建立传输连接,会议服务器已经准备向浏览器发送第二媒体流。具体步骤如下:
根据传输请求消息,生成传输响应消息。
具体地,会议服务器根据传输请求消息,生成传输响应消息,在生成传输响应消息的同时,调用扩展后的WebRTC接口,会议服务器通过扩展后的WebRTC接口与WebRTC应用之间建立的连接向浏览器发送传输响应消息,以使得浏览器确定与会议服务器已建立传输连接;会议服务器根据调用的扩展后的WebRTC接口从传输请求消息中提取选择出的参会者的标识信息,并将选择出的所述参会者的标识信息存储在参会者列表内。
需要说明的是,在本发明实施例中,管理人员事先对会议服务器进行扩展以及增加功能,也即是扩展会议服务器的WebRTC接口,在对会议服务器进行扩展后,增加会议服务器的功能,使得会议服务器可对扩展后的接口、协议进行运行。
进一步地,管理人员扩展会议服务器的WebRTC接口,在生成传输响应消息的方法中添加功能,进而使得会议服务器可从传输请求消息中的mediacnt-src区间内提取至少1个参会者的标识信息,并将提取的至少1个参会者的标识信息存储在参会者列表内。
可选地,本发明实施例步骤330中根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息具体包括:
会议服务器根据所述参会者列表内存储的用户选择出的参会者的标识信息,从扩展后的WebRTC接口中提取对应的参会者的媒体跟踪对象,所述媒体跟踪对象包括参会者的视音频信息。
需要说明的是,在本发明实施例中,管理人员扩展会议服务器的WebRTC接口,在WebRTC接口中扩展媒体跟踪对象,使得媒体跟踪对象可存储参会者的视音频信息。
可选地,在本发明实施例步骤340中向所述浏览器发送第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息具体包括:
会议服务器将媒体跟踪对象携带在第二媒体流中,以使得第二媒体流包括选择出的参会者的视音频信息。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输方法,终端的浏览器根据对视频会议中所有参会者的视音频信息进行选择的指令,向会议服务器发送传输请求消息,进而接收选择出的参会者的视音频信息,并将接收的视音频信息通过WebRTC应用进行播放,进而解决现有技术中出现的问题,浏览器接收特定参会者的视音频,从而屏蔽掉了用户不感兴趣的参会者视音频,增强了WebRTC视频会议的功能,提高了用户的体验,并可以节省网络带宽以及终端本地的资源消耗。
进一步地,图4为本发明实施例提供的一种视频会议中媒体流的传输方法信令图;图4所示的信令图为浏览器、WebRTC应用与会议服务器进行媒体流的传输过程,图4中的视频会议中媒体流的传输方法均可按照前述实施例描述的过程执行,在此不再复述。
为便于对本发明实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
实施例三
下面以图5为例详细说明本发明实施例三提供的视频会议中媒体流的传输方法,图5为本发明实施例三提供的视频会议中媒体流的传输方法流程图,视频会议中的每一会场包括第一终端以及第二终端,且第一终端与第二终端属于同一用户,也即是第一终端的第一浏览器与第二终端的第二浏览器可通过同一用户的登录信息接入会议服务器,在本发明实施例中,实施主体为处于第二终端内的第二浏览器,在本发明实施例中终端具体是指智能手机、平板电脑等移动终端;或者是指个人电脑、智能电视等固定终端。如图5所示,该实施例具体包括以下步骤:
步骤510、当第一终端的第一浏览器与第二终端的第二浏览器通过同一用户登录信息接入会议服务器,且所述第一浏览器未向所述会议服务器发送第一媒体流时,所述第二浏览器接收第一选择指令,所述第一选择指令具体为从所述第二终端选择出待发送的视音频信息。
具体地,在本发明实施例中,当第一终端的第一浏览器与第二终端的第二浏览器通过同一用户登录信息接入会议服务器时,也即是第一浏览器、第二浏览器与会议服务器分别建立连接,且第一浏览器未向会议服务器发送第一媒体流时,第二浏览器接收第一选择指令,所述第一选择指令为用户输入的,所述第一选择指令具体为用户从第二终端内存储的或第二终端实时获取的视音频信息中选择出待发送的视音频信息,在本发明实施例中,所述第一媒体流具体包括第一终端中的视音频信息。
进一步地,第一浏览器、第二浏览器接入会议服务器为现有技术,在前述实施例中已简要说明,在此不再复述。
需要说明的是,在第二浏览器接收第一选择指令之前,第一浏览器、第二浏览器依照前述实施例可从会议服务器中分别接收选择出的参会者的视音频信息。
本发明实施例中第二终端实时获取的视音频信息具体是指:通过第二终端设备自身的摄像头、麦克获取的实时的视音频信息。
步骤520、根据所述第一选择指令,通过所述第二终端的第一WebRTC应用向所述会议服务器发送第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口属性信息。
具体地,根据第一选择指令,第二浏览器通过第二终端的第一WebRTC应用向会议服务器发送第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口属性信息。
进一步地,所述第二浏览器中端口属性信息具体是指第二浏览器中端口的分类,即用于仅发送视频信息的端口、用于仅接收视频信息的端口以及既可发送也可接收音频信息的端口。
步骤530、当接收到所述会议服务器根据所述第一传输请求消息发送的第一传输响应消息时,根据所述端口属性信息,通过对应的端口向所述会议服务器发送第二媒体流,所述第二媒体流包括所述待发送的视音频信息。
具体地,当第二浏览器接收到会议服务器根据第一传输请求消息发送的第一传输响应消息时,第二浏览器确定与所述会议服务器已建立传输连接,第二浏览器根据端口属性信息,通过对应的端口(即:仅发送视频信息的端口,或者即可发送也可接收音频信息的端口)向会议服务器发送第二媒体流,所述第二媒体流包括待发送的视音频信息,进而实现在一个视频会议中可通过第一终端的第一浏览器或者第二终端的第二浏览器向会议服务器上传视频/音频,提高用户体验。
可选地,在本发明实施例步骤510所述第二浏览器接收用户输入的第一选择指令之前还包括第二浏览器从会议服务器处接收用户选择出的参会者的视音频信息等步骤。具体步骤如下:
接收所述会议服务器发送的第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息。
具体地,当第二浏览器接入会议服务器时,第二浏览器接收会议服务器发送的第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息。
接收第二选择指令,所述第二选择指令具体为从所述所有参会者的视音频信息中选择出所需的视音频信息对应的参会者。
具体地,第二浏览器在接收到会议服务器发送的第三媒体流后,第二浏览器将第三媒体流解析并提取每个参会者的视音频信息,将每个参会者的视音频信息显示在用户界面上,第二浏览器接收第二选择指令,所述第二选择指令为用户输入的,所述第二选择指令具体为用户从用户界面上显示的所有参会者的视音频信息中选择出所需的视音频信息对应的参会者,也即是用户根据用户界面上显示的所有参会者的视音频信息选择出所需的参会者。
在本发明实施例中,选择出的参会者也即是后续仅接收选择出的参会者的视音频信息。
根据所述第二选择指令,通过所述第一WebRTC应用向所述会议服务器发送所述第二传输请求消息,所述第二传输请求消息包括选择出的参会者的标识信息。
具体地,根据第二选择指令,第二浏览器通过第一WebRTC应用向会议服务器发送第二传输请求消息,所述第二传输请求消息包括选择出的参会者的标识信息。该标识信息用以确定用户所需的参会者。
进一步地,第二浏览器接收第二选择指令的同时,还根据第二选择指令,提取用户选择出的参会者的标识信息,并将标识信息携带在第二传输请求消息中。
通过所述第一WebRTC应用接收所述会议服务器发送的第二传输响应消息,所述第二传输响应消息用于使所述第二浏览器确定当存在所述第一浏览器向所述会议服务器发送第一媒体流时,不向所述会议服务器发送所述第二终端中的视音频信息。
具体地,第二浏览器通过第一WebRTC应用接收会议服务器根据第二传输请求消息发送的第二传输响应消息,所述第二传输响应消息包括所述会议服务器的属性信息(例如,会议服务器的媒体属性信息等)以及选择出的参会者的标识信息,以使得第二浏览器明确当存在第一浏览器向会议服务器发送第一媒体流时,不向会议服务器发送第二终端中的视音频信息,也即是,在一个视频会议中,会议服务器仅接受1个浏览器上传视音频信息。
接收所述会议服务器根据所述标识信息发送的第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息。
具体地,第二浏览器在向会议服务器发送第二传输请求消息后,接收会议服务器根据第二传输请求消息包括的标识信息发送的第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息,进而实现根据用户的选择,会议服务器向终端特定参会者的视音频信息,提高了用户体验,同时也节省了网络带宽以及终端本地的资源消耗。
可选地,在本发明实施例步骤520之前,还包括第二浏览器根据所述第一选择指令,生成所述第一传输请求消息的步骤。具体步骤如下:
根据所述第一选择指令,生成所述第一传输请求消息。
具体地,根据第一选择指令,第二浏览器接收第一WebRTC应用发送的创建指令;根据创建指令,第二浏览器调用扩展后的WebRTC接口,并判断扩展后的WebRTC接口中约束对象的发送视频属性值以及发送音频属性值;当发送视频属性值为真时,则第二浏览器将已接收视频信息的第一视频端口属性设置为仅接收视频端口,将未接收视频信息的第二视频端口属性设置为仅发送视频端口;当发送音频属性值为真时,则第二浏览器将音频端口的属性设置为发送接收端口;第二浏览器将已设置的端口属性信息携带在第一传输请求消息中,以使得第一传输请求消息包括所述第二浏览器中端口的属性信息。
需要说明的是,在本发明实施例中,管理人员事先对第二浏览器进行扩展以及增加功能,也即是扩展第二浏览器的WebRTC接口,在对第二浏览器进行扩展后,增加第二浏览器的功能,使得第二浏览器可对扩展后的接口、协议进行运行。
进一步地,管理人员扩展第二浏览器的WebRTC接口中约束对象,为约束对象增加发送视频属性值以及发送音频属性值,该属性值用于设置第二浏览器中端口的属性,且该属性值为真或者假;管理人员在第二浏览器生成第一传输请求消息的方法中添加功能,进而使得第二浏览器可判断属性值,并设置自身端口的属性,将已设置的端口属性信息携带在第一传输请求消息中,以使得第一传输请求消息包括第二浏览器中端口的属性信息。
可以理解的是,第二浏览器通过设置自身端口的属性,可使得第二浏览器方便管理自身端口,在向会议服务器发送媒体流时,根据端口的属性对应发送,同时,也使会议服务器明确第二浏览器的端口属性,在接收会议服务器发送的媒体流时,根据端口的属性对应接收,提高端口的利用率。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输方法,属于同一用户的多个终端可同时接入会议服务器并接收特定参会者的视音频信息,当第一浏览器未向会议服务器发送过第一媒体流时,第二浏览器根据接收的选择指令,生成第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口的属性信息;并根据端口的属性信息向会议服务器发送第二媒体流,进而解决现有技术中出现的问题,同时,通过两个或两个以上的终端设备参加同一视频会议,每个终端接收特定参会者视音频信息,并且用户可任意切换终端来上传本地视音频信息。从而增强了WebRTC视频会议功能,提高了用户的体验,并节省了网络带宽以及终端本地的资源消耗。
为便于对本发明实时的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
实施例四
下面以图6为例详细说明本发明实施例四提供的视频会议中媒体流的传输方法,图6为本发明实施例四提供的视频会议中媒体流的传输方法流程图,在本发明实施例中实施主体为会议服务器,所述会议服务器处于通信网络内。如图6所示,该实施例具体包括以下步骤:
步骤610、当会议服务器接受第一终端的第一浏览器以及第二终端的第二浏览器通过同一用户登录信息接入所述会议服务器,且所述第一浏览器未向所述会议服务器发送第一媒体流时,所述会议服务器接收所述第二浏览器通过所述第二终端的第一WebRTC应用发送的第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口的属性信息。
具体地,在本发明实施例中,当会议服务器接受第一终端的第一浏览器以及第二终端的第二浏览器通过同一用户登录信息接入会议服务器时,也即是第一浏览器、第二浏览器均接入会议服务器,且第一浏览器未向会议服务器发送第一媒体流时,会议服务器接收第二浏览器通过第二终端的第一WebRTC应用发送的第一传输请求消息,所述第一传输请求消息包括第二浏览器中端口的属性信息,在本发明实施例中,所述第一媒体流具体包括第一终端内存储的视音频信息,且第一终端以及第二终端被同一用户使用。
进一步地,会议服务器与第一浏览器、第二浏览器建立连接为现有技术,在前述实施例中已简要说明,在此不再复述。
需要说明的是,在本发明实施例中第二浏览器中端口的属性信息具体是指第二浏览器中端口的分类,即用于仅发送视频信息的端口、用于仅接收视频信息的端口以及既可发送也可接收音频信息的端口。
步骤620、根据所述第一传输请求消息,向所述第二浏览器发送第一传输响应消息,用于使第二浏览器确定与所述会议服务器已建立传输连接。
具体地,会议服务器接收到第一传输请求消息后,解析并提取第一传输请求消息包括的第二浏览器中端口的属性信息。根据传输请求消息,会议服务器确定第二浏览器中各端口的分类(即会议服务器明确在后续发送/接收媒体流时,根据第二浏览器中端口的属性信息,将向对应的端口发送/接收媒体流),会议服务器向第二浏览器发送第一传输响应消息。
进一步地,所述第一传输响应消息用于使第二浏览器确定与所述会议服务器已建立传输连接。
步骤630、接收所述第二浏览器根据所述端口的属性信息发送的第二媒体流,所述第二媒体流包括从所述第二终端选择出的待发送的视音频信息。
具体地,会议服务器接收第二浏览器根据端口的属性信息(即:仅发送视频信息的端口,或者既可发送也可接收音频信息的端口)发送的第二媒体流,所述第二媒体流包括用户从第二终端内存储的或第二终端实时获取的视音频信息中选择出的待发送的视音频信息,进而实现在一个视频会议中可通过第一终端的第一浏览器或者第二终端的第二浏览器向会议服务器上传视频/音频,提高用户体验。
可选地,在本发明实施例步骤610会议服务器接收所述第二浏览器通过所述第二终端的第一WebRTC应用发送的第一传输请求消息之前还包括会议服务器向第二浏览器发送选择出的参会者的视音频信息等步骤。具体步骤如下:
向所述第二浏览器发送第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息。
具体地,在本发明实施例中,当会议服务器与第二浏览器建立连接后,也即是第二浏览器接入会议服务器时,会议服务器向第二浏览器发送第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息。
进一步地,会议服务器与第二浏览器建立连接为现有技术,在前述实施例中已简要说明,在此不再复述。
接收所述第二浏览器通过所述第一WebRTC应用发送的第二传输请求消息,所述第二传输请求消息包括从所述所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息。
具体地,会议服务器在向第二浏览器发送第三媒体流后,接收第二浏览器通过第一WebRTC应用发送的第二传输请求消息,所述第二传输请求消息包括从所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息。
可以理解的是,前述实施例已详细说明浏览器生成、发送传输请求消息的详细过程,在此不再复述。
根据所述第二传输请求消息,调用扩展后的WebRTC接口,并判断所述第一浏览器是否正在发送媒体流。
具体地,会议服务器接收到第二传输请求消息后,解析并提取第二传输请求消息包括的参会者的标识信息,调用扩展后的WebRTC接口,并判断第一浏览器是否正在发送媒体流。
进一步地,会议服务器通过在先在数据库中保存的用户的连接信息(例如,用户标识信息、连接标识信息、是否正在上传音视频信息等)判断第一浏览器是否正在发送媒体流。
需要说明的是,当每个浏览器接入会议服务器时,会议服务器创建数据结构保存每个浏览器对应的用户的连接信息,并将创建的用户的连接信息存储在数据库中,所述数据库位于通信网络中。
如果所述第一浏览器正在发送媒体流,则将自身的端口属性设置为仅发送端口。
具体地,如果第一浏览器正在向会议服务器发送媒体流,则会议服务器将自身的端口属性设置为仅发送端口,也即是,非接收端口。
将已设置的端口属性信息携带在第二传输响应消息内,并通过所述第一WebRTC应用向所述第二浏览器发送所述第二传输响应消息,所述第二传输响应消息用于使所述第二浏览器确定当存在所述第一浏览器向所述会议服务器发送媒体流时,不向所述会议服务器发送所述第二终端中的视音频信息。
具体地,会议服务器将已设置的端口属性信息携带在第二传输响应消息内,并通过第一WebRTC应用向第二浏览器发送第二传输响应消息,所述第二传输响应消息用于使第二浏览器确定当存在第一浏览器向所述会议服务器发送媒体流时,不向会议服务器发送第二终端中的视音频信息。
需要说明的是,在本发明实施例中,管理人员事先对会议服务器进行扩展以及增加功能,也即是扩展会议服务器的WebRTC接口,在对会议服务器进行扩展后,增加会议服务器的功能,使得会议服务器可对扩展后的接口、协议进行运行。
进一步地,管理人员扩展会议服务器的WebRTC接口,在生成第二传输响应消息的方法中添加功能,进而使得会议服务器可判断第一浏览器是否正在发送媒体流,如果第一浏览器正在发送媒体流,则将自身的端口属性设置为仅发送端口,并将已设置的端口属性信息携带在第二传输响应消息内。
根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息。
具体地,会议服务器根据前述可选步骤从第二传输请求消息中提取的参会者的标识信息,提取与标识信息对应的参会者的视音频信息。
进一步地,会议服务器可从传输请求消息中提取出至少1个参会者的标识信息,会议服务器根据提取的至少1个参会者的标识信息,从扩展后的WebRTC接口中提取对应的参会者的媒体跟踪对象,所述媒体跟踪对象包括参会者的视音频信息。
需要说明的是,在本发明实施例中,管理人员扩展会议服务器的WebRTC接口,在WebRTC接口中扩展媒体跟踪对象,使得媒体跟踪对象可存储参会者的视音频信息。
向所述第二浏览器发送第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息。
具体地,会议服务器提取到与标识信息对应的参会者的视音频信息后,向第二浏览器发送第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息,进而实现根据用户的选择,会议服务器向终端特定参会者的视音频信息,提高了用户体验,同时也节省了网络带宽以及终端本地的资源消耗。
可选地,在本发明实施例步骤630接收所述第二浏览器根据所述端口属性信息发送的第二媒体流之后还包括会议服务器向第二浏览器发送媒体流的步骤,通过该步骤即可实现第二浏览器与会议服务器之间相处传递媒体流,进而实现让用户在一个视频会议中通过不同终端向会议服务器相互传递媒体流,提高了用户体验。具体步骤如下:
根据所述端口属性信息,向所述第二浏览器中对应的端口发送第五媒体流。
具体地,会议服务器根据步骤610中接收到的第一传输请求消息包括的第二浏览器中端口的属性信息,向第二浏览器中对应的端口发送第五媒体流。在本发明实施例中,第五媒体流包括选择出的参会者的视音频信息,或者全部参会者的视音频信息。
进一步地,会议服务器向第二浏览器中仅接收视频信息的端口发送视频信息,向即可发送也可接收音频信息的端口发送音频信息。
可选地,由于在前述可选步骤中第二浏览器与会议服务器之间进行媒体流的相互传递,此时,会议服务器为减少对网络带宽的限制还将执行终止第一浏览器发送媒体流的步骤。
调用扩展后的WebRTC接口,并判断所述扩展后的WebRTC接口中约束对象的接收视频属性值以及接收音频属性值。
具体地,会议服务器在与第二浏览器之间进行媒体流的相互传递后,调用扩展后的WebRTC接口,并判断扩后的WebRTC接口中约束对象的接收视频属性值以及接收音频属性值。
当所述接收视频属性值为真时,则将已接收视频信息的视频端口属性设置为仅发送视频端口。
具体地,当接收视频属性值为真时,则会议服务器将已接收视频信息的视频端口属性设置为仅发送视频端口。
当所述接收音频属性值为真时,则将已接收音频信息的音频端口属性设置为仅发送音频端口。
具体地,当接收音频属性值为真时,则会议服务器将已接收音频信息的音频端口属性设置为仅发送音频端口。
将已设置的端口属性携带在第三传输请求消息中,并向所述第一浏览器发送所述第三传输请求消息,所述第三传输请求消息用于使所述第一浏览器确定不向所述会议服务器发送所述第一终端中的视音频信息。
具体地,会议服务器将已设置的端口属性携带在第三传输请求消息中,并向第一浏览器发送第三传输请求消息,所述第三传输请求消息用于使第一浏览器确定不向会议服务器发送第一终端中的视音频信息。
第一浏览器接收到第三传输请求消息后,解析并提取第三传输请求消息包括的会议服务器的端口属性,明确会议服务器拒绝接收自身发送的视音频信息,向会议服务器发送第三传输响应消息,此时,会议服务器明确仅向第一浏览器发送媒体流,而不接收第一浏览器发送的媒体流,进而实现在一个视频会议中通过不同终端向会议服务器上传媒体流。
需要说明的是,在本发明实施例中,管理人员事先对会议服务器进行扩展以及增加功能,也即是扩展会议服务器的WebRTC接口,在对会议服务器进行扩展后,增加会议服务器的功能,使得会议服务器可对扩展后的接口、协议进行运行。
进一步地,管理人员扩展会议服务器的WebRTC接口中约束对象,为约束对象增加接收视频属性值以及接收音频属性值,该属性值用于设置会议服务器中端口的属性,且该属性值为真或者为假;管理人员在会议服务器生成第三传输请求消息的方法中添加功能,进而使得第二浏览器可判断属性值,并设置自身端口的属性,将已设置的端口属性携带在第三传输请求消息中,以使得第三传输请求消息包括自身端口的属性信息。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输方法,属于同一用户的多个终端可同时接入会议服务器并接收特定参会者的视音频信息,当第一浏览器未向会议服务器发送过第一媒体流时,第二浏览器根据接收的选择指令,生成第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口的属性信息;并根据端口的属性信息向会议服务器发送第二媒体流,进而解决现有技术中出现的问题,同时,通过两个或两个以上的终端设备参加同一视频会议,每个终端接收特定参会者视音频信息,并且用户可任意切换终端来上传视音频信息。从而增强了WebRTC视频会议功能,提高了用户的体验,并节省了网络带宽以及终端本地的资源消耗。
进一步地,图7为本发明实施例提供的另一种视频会议中媒体流的传输方法信令图;图7所示的信令图为多个浏览器、WebRTC应用与会议服务器进行媒体流的传输过程,图7中的视频会议中媒体流的传输方法均可按照前述实施例描述的过程执行,在此不再复述。
实施例五
相应地,本发明实施例五还提供了一种视频会议中媒体流的传输装置,用以实现实施例一中的视频会议中媒体流的传输方法,如图8所示,所述传输装置处于终端内,所述传输装置包括:接收单元810和发送单元820。
所述接收单元810,用于接收会议服务器发送的第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息;
所述接收单元810还用于,接收选择指令,所述选择指令具体为从所述所有参会者的视音频信息中选择出所需的视音频信息对应的参会者;
发送单元820,用于根据所述选择指令,通过WebRTC应用向所述会议服务器发送传输请求消息,所述传输请求消息包括选择出的参会者的标识信息;
所述接收单元810还用于,接收所述会议服务器根据所述标识信息发送的第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息。
所述接收单元810还用于,根据所述选择指令,接收所述WebRTC应用发送的创建指令;
所述传输装置还包括:调用单元830,用于根据所述创建指令,调用扩展后的WebRTC接口,并解析所述扩展后的WebRTC接口中约束对象的参会者属性;
提取单元840,用于从所述参会者属性中提取选择出的参会者的标识信息,并将每个所述参会者的标识信息存储在参会者列表内;
所述调用单元830还用于,调用扩展后的SDP协议中内容属性;
所述传输装置还包括:载入单元850,用于将所述参会者列表载入所述扩展后的SDP协议中内容属性的mediacnt-src区间内;
放入单元860,用于将所述mediacnt-src区间携带在所述传输请求消息中,以使得所述传输请求消息包括选择出的参会者的标识信息;
所述发送单元820还用于,通过所述WebRTC应用向所述会议服务器发送所述传输请求消息。
所述装置还包括:存储单元870,用于将选择出的参会者的标识信息存储在所述参会者属性中。
所述接收单元810还用于,通过所述WebRTC应用接收所述会议服务器根据所述传输请求消息发送的传输响应消息,用于确定与所述会议服务器已建立传输连接。
所述传输装置还包括:传输单元880,用于向所述WebRTC应用传输所述第二媒体流,以便于所述WebRTC应用将所述第二媒体流进行播放。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输装置,终端的浏览器根据对视频会议中所有参会者的视音频信息进行选择的指令,向会议服务器发送传输请求消息,进而接收选择出的参会者的视音频信息,并将接收的视音频信息通过WebRTC应用进行播放,进而解决现有技术中出现的问题,浏览器接收特定参会者的视音频,从而屏蔽掉了用户不感兴趣的参会者视音频,增强了WebRTC视频会议的功能,提高了用户的体验,并可以节省网络带宽以及终端本地的资源消耗。
实施例六
相应地,本发明实施例六还提供了一种视频会议中媒体流的传输装置,用以实现实施例二中的视频会议中媒体流的传输方法,如图9所示,所述传输装置包括:发送单元910、接收单元920和提取单元930。
所述发送单元910,用于向浏览器发送第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息;
接收单元920,用于接收所述浏览器通过WebRTC应用发送的传输请求消息,所述传输请求消息包括从所述所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息;
提取单元930,用于根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息;
所述发送单元910还用于,向所述浏览器发送第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息。
所述传输装置还包括:调用单元940,用于调用扩展口的WebRTC接口;
所述提取单元930还用于,根据调用的所述扩展后的WebRTC接口,从所述传输请求消息中提取选择出的所述参会者的标识信息;
所述装置还包括:存储单元950,用于将选择出的所述参会者的标识信息存储在参会者列表内;
所述发送单元910还用于,通过所述扩展后的WebRTC接口与所述WebRTC应用之间建立的连接向所述浏览器发送传输响应消息,用于使所述浏览器确定与所述会议服务器已建立传输连接。
所述提取单元930具体用于,根据所述存储单元中所述参会者列表内存储的选择出的所述参会者的标识信息,从所述扩展后的WebRTC接口中提取对应的参会者的媒体跟踪对象,所述媒体跟踪对象包括所述参会者的视音频信息。
所述发送单元息910具体用于,将所述媒体跟踪对象携带在第二媒体流中,以使得所述第二媒体流包括选择出的参会者的视音频信息。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输装置,终端的浏览器根据对视频会议中所有参会者的视音频信息进行选择的指令,向会议服务器发送传输请求消息,进而接收选择出的参会者的视音频信息,并将接收的视音频信息通过WebRTC应用进行播放,进而解决现有技术中出现的问题,浏览器接收特定参会者的视音频,从而屏蔽掉了用户不感兴趣的参会者视音频,增强了WebRTC视频会议的功能,提高了用户的体验,并可以节省网络带宽以及终端本地的资源消耗。
实施例七
相应地,本发明实施例七还提供了一种视频会议中媒体流的传输装置,用以实现实施例三中的视频会议中媒体流的传输方法,如图10所示,所述视频会议中的每一会场包括第一终端以及第二终端,所述传输装置处于第二终端内,所述传输装置包括:接收单元1010和发送单元1020。
所述接收单元1010,用于当第一终端的浏览器与所述传输装置通过同一用户登录信息接入会议服务器,且所述浏览器未向所述会议服务器发送第一媒体流时,接收第一选择指令,所述第一选择指令具体为从所述第二终端选择出待发送的视音频信息;
发送单元1020,用于根据所述第一选择指令,通过所述第二终端的第一WebRTC应用向所述会议服务器发送第一传输请求消息,所述第一传输请求消息包括所述传输装置中端口属性信息;
所述发送单元1020还用于,当接收到所述会议服务器根据所述第一传输请求消息发送的第一传输响应消息时,根据所述端口属性信息,通过对应的端口向所述会议服务器发送第二媒体流,所述第二媒体流包括所述待发送的视音频信息。
所述接收单元1010还用于,接收所述会议服务器发送的第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息;
所述接收单元1010还用于,接收第二选择指令,所述第二选择指令具体为从所述所有参会者的视音频信息中选择出所需的视音频信息对应的参会者;
所述发送单元1020还用于,根据所述第二选择指令,通过所述第一WebRTC应用向所述会议服务器发送所述第二传输请求消息,所述第二传输请求消息包括选择出的参会者的标识信息;
所述接收单元1010还用于,通过所述第一WebRTC应用接收所述会议服务器发送的第二传输响应消息,所述第二传输响应消息用于使所述传输装置确定当存在所述浏览器向所述会议服务器发送第一媒体流时,不向所述会议服务器发送所述第二终端中的视音频信息;
所述接收单元1010还用于,接收所述会议服务器根据所述标识信息发送的第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息。
所述传输装置还包括:所述接收单元1010还用于,根据所述第一选择指令,接收所述第一WebRTC应用发送的创建指令;
所述传输装置还包括:调用单元1030,用于根据所述创建指令,调用扩展后的WebRTC接口,并判断所述扩展后的WebRTC接口中约束对象的发送视频属性值以及发送音频属性值;
设置单元1040,用于当所述发送视频属性值为真时,则将已接收视频信息的第一视频端口属性设置为仅接收视频端口,将未接收视频信息的第二视频端口属性设置为仅发送视频端口;
所述设置单元1040还用于,当所述发送音频属性值为真时,则将音频端口的属性设置为发送接收端口;
所述传输装置还包括:放入单元1050,用于将已设置的端口属性信息携带在所述第一传输请求消息中,以使得所述第一传输请求消息包括所述传输装置中端口属性信息;
所述发送单元1020还用于,通过所述第二终端的第一WebRTC应用向所述会议服务器发送所述第一传输请求消息。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输装置,属于同一用户的多个终端可同时接入会议服务器并接收特定参会者的视音频信息,当第一浏览器未向会议服务器发送过第一媒体流时,第二浏览器根据接收的选择指令,生成第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口的属性信息;并根据端口的属性信息向会议服务器发送第二媒体流,进而解决现有技术中出现的问题,同时,通过两个或两个以上的终端设备参加同一视频会议,每个终端接收特定参会者视音频信息,并且用户可任意切换终端来上传本地视音频信息。从而增强了WebRTC视频会议功能,提高了用户的体验,并节省了网络带宽以及终端本地的资源消耗。
实施例八
相应地,本发明实施例八还提供了一种视频会议中媒体流的传输装置,用以实现实施例四中的视频会议中媒体流的传输方法,如图11所示,所述传输装置包括:接收单元1110和发送单元1120。
所述接收单元1110,用于当所述传输装置接受第一终端的第一浏览器以及第二终端的第二浏览器通过同一用户登录信息接入所述传输装置,且所述第一浏览器未向所述传输装置发送第一媒体流时,接收所述第二浏览器通过所述第二终端的第一WebRTC应用发送的第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口属性信息;
发送单元1120,用于根据所述第一传输请求消息,向所述第二浏览器发送第一传输响应消息,用于使所述第二浏览器确定与所述传输装置已建立传输连接;
所述接收单元1110还用于,接收所述第二浏览器根据所述端口属性信息发送的第二媒体流,所述第二媒体流包括从所述第二终端选择出的待发送的视音频信息。
所述发送单元1120还用于,向所述第二浏览器发送第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息;
所述接收单元1110还用于,接收所述第二浏览器通过所述第一WebRTC应用发送的第二传输请求消息,所述第二传输请求消息包括从所述所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息;
所述传输装置还包括:判断单元1130,用于根据所述第二传输请求消息,调用扩展后的WebRTC接口,并判断所述第一浏览器是否正在发送媒体流;
设置单元1140,用于如果所述第一浏览器正在发送媒体流,则将所述传输装置的端口属性设置为仅发送端口;
所述发送单元1120还用于,将已设置的端口属性信息携带在第二传输响应消息内,并通过所述第一WebRTC应用向所述第二浏览器发送所述第二传输响应消息,所述第二传输响应消息用于使所述第二浏览器确定当存在所述第一浏览器向所述传输装置发送媒体流时,不向所述传输装置发送所述第二终端中的视音频信息;
所述传输装置还包括:提取单元1150,用于根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息;
所述发送单元1120还用于,向所述第二浏览器发送第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息。
所述发送单元1120还用于,根据所述端口属性信息,向所述第二浏览器中对应的端口发送第五媒体流。
所述判断单元1130还用于,调用扩展后的WebRTC接口,并判断所述扩展后的WebRTC接口中约束对象的接收视频属性值以及接收音频属性值;
所述设置单元1140还用于,当所述判断单元的判断结果为所述接收视频属性值为真时,则将已接收视频信息的视频端口属性设置为仅发送视频端口;
所述设置单元1140还用于,当所述判断单元的判断结果为所述当所述接收音频属性值为真时,则将已接收音频信息的音频端口属性设置为仅发送音频端口;
所述发送单元1120还用于,将已设置的端口属性信息携带在第三传输请求消息中,并向所述第一浏览器发送所述第三传输请求消息,所述第三传输请求消息用于使所述第一浏览器确定不向所述传输装置发送所述第一终端中的视音频信息。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输装置,属于同一用户的多个终端可同时接入会议服务器并接收特定参会者的视音频信息,当第一浏览器未向会议服务器发送过第一媒体流时,第二浏览器根据接收的选择指令,生成第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口的属性信息;并根据端口的属性信息向会议服务器发送第二媒体流,进而解决现有技术中出现的问题,同时,用户通过两个或两个以上的终端设备参加同一视频会议,每个终端接收特定参会者视音频信息,并且用户可任意切换终端来上传本地视音频信息。从而增强了WebRTC视频会议功能,提高了用户的体验,并节省了网络带宽以及终端本地的资源消耗。
实施例九
另外,本发明实施例五提供的视频会议中媒体流的传输装置还可通过以下形式实现,用以实现本发明实施例一中的视频会议中媒体流的传输方法,如图12所示,所述传输装置处于终端内,所述传输装置包括:网络接口1210、处理器1220和存储器1230。系统总线1240用于连接网络接口1210、处理器1220和存储器1230。
网络接口1210用于与处于通信网络中的会议服务器,或者用户进行交互通信。
存储器1230可以是永久存储器,例如硬盘驱动器和闪存,存储器1230中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
在启动时,这些软件模块被加载到存储器1230中,然后被处理器1220访问并执行如下指令:
接收会议服务器发送的第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息;
接收选择指令,所述选择指令具体为从所述所有参会者的视音频信息中选择出所需的视音频信息对应的参会者;
根据所述选择指令,通过WebRTC应用向所述会议服务器发送传输请求消息,所述传输请求消息包括所述用户选择出的参会者的标识信息;
接收所述会议服务器根据所述标识信息发送的第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息。
进一步的,所述处理器1220访问存储器1230的软件模块后,执行以下过程的指令:
根据所述选择指令,接收所述WebRTC应用发送的创建指令;
根据所述创建指令,调用扩展后的WebRTC接口,并解析所述扩展后的WebRTC接口中约束对象的参会者属性;
从所述参会者属性中提取选择出的参会者的标识信息,并将每个所述参会者的标识信息存储在参会者列表内;
调用扩展后的SDP协议中内容属性;
将所述参会者列表载入所述扩展后的SDP协议中内容属性的媒体来源标识mediacnt-src区间内;
将所述mediacnt-src区间携带在所述传输请求消息中,以使得所述传输请求消息包括选择出的参会者的标识信息;
通过所述WebRTC应用向所述会议服务器发送所述传输请求消息。
进一步地,所述处理器1220访问存储器1230的软件模块后,执行以下过程的指令:
将选择出的参会者的标识信息存储在所述参会者属性中。
进一步的,所述处理器1220访问存储器1230的软件模块后,执行以下过程的指令:
通过所述WebRTC应用接收所述会议服务器根据所述传输请求消息发送的传输响应消息,用于确定与所述会议服务器已建立传输连接。
进一步的,所述处理器1220访问存储器1230的软件模块后,执行以下过程的指令:
向所述WebRTC应用传输所述第二媒体流,以便于所述WebRTC应用将所述第二媒体流进行播放。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输装置,终端的浏览器根据对视频会议中所有参会者的视音频信息进行选择的指令,向会议服务器发送传输请求消息,进而接收选择出的参会者的视音频信息,并将接收的视音频信息通过WebRTC应用进行播放,进而解决现有技术中出现的问题,浏览器接收特定参会者的视音频,从而屏蔽掉了用户不感兴趣的参会者视音频,增强了WebRTC视频会议的功能,提高了用户的体验,并可以节省网络带宽以及终端本地的资源消耗。
实施例十
另外,本发明实施例六提供的视频会议中媒体流的传输装置还可通过以下形式实现,用以实现本发明实施例二中的视频会议中媒体流的传输方法,如图13所示,所述传输装置包括:网络接口1310、处理器1320和存储器1330。系统总线1340用于连接网络接口1310、处理器1320和存储器1330。
网络接口1310用于与终端内的浏览器进行交互通信。
存储器1330可以是永久存储器,例如硬盘驱动器和闪存,存储器1330中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
在启动时,这些软件模块被加载到存储器1330中,然后被处理器1320访问并执行如下指令:
向浏览器发送第一媒体流,所述第一媒体流包括视频会议中所有参会者的视音频信息;
接收所述浏览器通过WebRTC应用发送的传输请求消息,所述传输请求消息包括从所述所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息;
根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息;
向所述浏览器发送第二媒体流,所述第二媒体流包括选择出的参会者的视音频信息。
进一步的,所述处理器1320访问存储器1330的软件模块后,执行以下过程的指令:
调用扩展后的WebRTC接口;
根据调用的所述扩展后的WebRTC接口,从所述传输请求消息中提取选择出的所述参会者的标识信息;
将选择出的所述参会者的标识信息存储在参会者列表内;
通过所述扩展后的WebRTC接口与所述WebRTC应用之间建立的连接向所述浏览器发送传输响应消息,用于使所述浏览器确定与所述会议服务器已建立传输连接。
进一步的,所述处理器1320访问存储器1330的软件模块后,执行根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息过程的具体指令:
根据所述参会者列表内存储的选择出的所述参会者的标识信息,从所述扩展后的WebRTC接口中提取对应的参会者的媒体跟踪对象,所述媒体跟踪对象包括所述参会者的视音频信息。
进一步的,所述处理器1320访问存储器1330的软件模块后,执行向所述传输浏览器发送第二媒体流,所述第二媒体流包括所述用户选择出的参会者的视音频信息过程的具体指令:
将所述媒体跟踪对象携带在第二媒体流中,以使得所述第二媒体流包括选择出的参会者的视音频信息。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输装置,终端的浏览器根据对视频会议中所有参会者的视音频信息进行选择的指令,向会议服务器发送传输请求消息,进而接收选择出的参会者的视音频信息,并将接收的视音频信息通过WebRTC应用进行播放,进而解决现有技术中出现的问题,浏览器接收特定参会者的视音频,从而屏蔽掉了用户不感兴趣的参会者视音频,增强了WebRTC视频会议的功能,提高了用户的体验,并可以节省网络带宽以及终端本地的资源消耗。
实施例十一
另外,本发明实施例七提供的视频会议中媒体流的传输装置还可通过以下形式实现,用以实现本发明实施例三中的视频会议中媒体流的传输方法,如图14所示,所述视频会议中的每一会场包括第一终端以及第二终端,所述传输装置处于第二终端内,所述传输装置包括:网络接口1410、处理器1420和存储器1430。系统总线1440用于连接网络接口1410、处理器1420和存储器1430。
网络接口1410用于与处于通信网络中的会议服务器,或者用户进行交互通信。
存储器1430可以是永久存储器,例如硬盘驱动器和闪存,存储器1430中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
在启动时,这些软件模块被加载到存储器1430中,然后被处理器1420访问并执行如下指令:
当第一终端的浏览器与所述传输装置通过同一用户登录信息接入会议服务器,且所述浏览器未向所述会议服务器发送第一媒体流时,接收第一选择指令,所述第一选择指令具体为从所述第二终端选择出待发送的视音频信息;
根据所述第一选择指令,通过所述第二终端的第一WebRTC应用向所述会议服务器发送第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口属性信息;
当接收到所述会议服务器根据所述第一传输请求消息发送的第一传输响应消息时,根据所述端口属性信息,通过对应的端口向所述会议服务器发送第二媒体流,所述第二媒体流包括所述待发送的视音频信息。
进一步地,所述处理器1420访问存储器1430的软件模块后,执行以下过程的指令:
接收所述会议服务器发送的第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息;
接收第二选择指令,所述第二选择指令具体为从所述所有参会者的视音频信息中选择出所需的视音频信息对应的参会者;
根据所述第二选择指令,通过所述第一WebRTC应用向所述会议服务器发送所述第二传输请求消息,所述第二传输请求消息包括选择出的参会者的标识信息;
通过所述第一WebRTC应用接收所述会议服务器发送的第二传输响应消息,所述第二传输响应消息用于使所述传输装置确定当存在所述浏览器向所述会议服务器发送第一媒体流时,不向所述会议服务器发送所述第二终端中的视音频信息;
接收所述会议服务器根据所述标识信息发送的第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息。
进一步地,所述处理器1420访问存储器1430的软件模块后,执行以下过程的指令:
根据所述第一选择指令,接收所述第一WebRTC应用发送的创建指令;
根据所述创建指令,调用扩展后的WebRTC接口,并判断所述扩展后的WebRTC接口中约束对象的发送视频属性值以及发送音频属性值;
当所述发送视频属性值为真时,则将已接收视频信息的第一视频端口属性设置为仅接收视频端口,将未接收视频信息的第二视频端口属性设置为仅发送视频端口;
当所述发送音频属性值为真时,则将音频端口的属性设置为发送接收端口;
将已设置的端口属性信息携带在所述第一传输请求消息中,以使得所述第一传输请求消息包括所述第二浏览器中端口属性信息;
通过所述第二终端的第一WebRTC应用向所述会议服务器发送所述第一传输请求消息。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输方法,属于同一用户的多个终端可同时接入会议服务器并接收特定参会者的视音频信息,当第一浏览器未向会议服务器发送过第一媒体流时,第二浏览器根据接收的选择指令,生成第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口的属性信息;并根据端口的属性信息向会议服务器发送第二媒体流,进而解决现有技术中出现的问题,同时,用户通过两个或两个以上的终端设备参加同一视频会议,每个终端接收特定参会者视音频信息,并且用户可任意切换终端来上传本地视音频信息。从而增强了WebRTC视频会议功能,提高了用户的体验,并节省了网络带宽以及终端本地的资源消耗。
实施例十二
另外,本发明实施例八提供的视频会议中媒体流的传输装置还可通过以下形式实现,用以实现本发明实施例四中的视频会议中媒体流的传输方法,如图15所示,所述传输装置包括:网络接口1510、处理器1520和存储器1530。系统总线1540用于连接网络接口1510、处理器1520和存储器1530。
网络接口1510用于与终端内的浏览器进行交互通信。
存储器1530可以是永久存储器,例如硬盘驱动器和闪存,存储器1530中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
在启动时,这些软件模块被加载到存储器1530中,然后被处理器1520访问并执行如下指令:
当所述传输装置接受第一终端的第一浏览器以及第二终端的第二浏览器通过同一用户登录信息接入所述传输装置,且所述第一浏览器未向所述会议服务器发送第一媒体流时,接收所述第二浏览器通过所述第二终端的第一WebRTC应用发送的第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口属性信息;
根据所述第一传输请求消息,向所述第二浏览器发送第一传输响应消息,用于使所述第二浏览器确定与所述传输装置已建立传输连接;
接收所述第二浏览器根据所述端口属性信息发送的第二媒体流,所述第二媒体流包括从所述第二终端选择出的待发送的视音频信息。
进一步地,所述处理器1520访问存储器1530的软件模块后,执行以下过程的指令:
向所述第二浏览器发送第三媒体流,所述第三媒体流包括视频会议中所有参会者的视音频信息;
接收所述第二浏览器通过所述第一WebRTC应用发送的第二传输请求消息,所述第二传输请求消息包括从所述所有参会者的视音频信息中选择出的所需视音频信息对应的参会者的标识信息;
根据所述第二传输请求消息,调用扩展后的WebRTC接口,并判断所述第一浏览器是否正在发送媒体流;
如果所述第一浏览器正在发送媒体流,则将所述传输装置的端口属性设置为仅发送端口;
将已设置的端口属性信息携带在第二传输响应消息内,并通过所述第一WebRTC应用向所述第二浏览器发送所述第二传输响应消息,所述第二传输响应消息用于使所述第二浏览器确定当存在所述第一浏览器向所述传输装置发送媒体流时,不向所述传输装置发送所述第二终端中的视音频信息;
根据所述标识信息,提取与所述标识信息对应的所述参会者的视音频信息;
向所述第二浏览器发送第四媒体流,所述第四媒体流包括选择出的参会者的视音频信息。
进一步地,所述处理器1520访问存储器1530的软件模块后,执行以下过程的指令:
根据所述端口属性信息,向所述第二浏览器中对应的端口发送第五媒体流。
进一步地,所述处理器1520访问存储器1530的软件模块后,执行以下过程的指令:
调用扩展后的WebRTC接口,并判断所述扩展后的WebRTC接口中约束对象的接收视频属性值以及接收音频属性值;
当所述接收视频属性值为真时,则将已接收视频信息的视频端口属性设置为仅发送视频端口;
当所述接收音频属性值为真时,则将已接收音频信息的音频端口属性设置为仅发送音频端口;
将已设置的端口属性信息携带在第三传输请求消息中,并向所述第一浏览器发送所述第三传输请求消息,所述第三传输请求消息用于使所述第一浏览器确定不向所述传输装置发送所述第一终端中的视音频信息。
因此,通过应用本发明实施例提供的视频会议中媒体流的传输装置,属于同一用户的多个终端可同时接入会议服务器并接收特定参会者的视音频信息,当第一浏览器未向会议服务器发送过第一媒体流时,第二浏览器根据接收的选择指令,生成第一传输请求消息,所述第一传输请求消息包括所述第二浏览器中端口的属性信息;并根据端口的属性信息向会议服务器发送第二媒体流,进而解决现有技术中出现的问题,同时,通过两个或两个以上的终端设备参加同一视频会议,每个终端接收特定参会者视音频信息,并且用户可任意切换终端来上传本地视音频信息。从而增强了WebRTC视频会议功能,提高了用户的体验,并节省了网络带宽以及终端本地的资源消耗。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。