实时通信方法、系统和平台设备的制造方法_3

文档序号:9618666阅读:来源:国知局
发布者想要对方观看自己的直播的用户ID集合。
[0056]发布媒体流的请求后或者调用publish函数后,会自动触发一个媒体流协商过程(见S204-S206),媒体流协商过程可以参考现有技术,开发人员无需额外实现媒体流协商过程,仅需关注发布功能和订阅功能的实现。
[0057]S204,用户1将本终端的能力信息发送给实时通信平台设备,实时通信平台设备选择合适的媒体服务器,将用户1终端的能力信息转发给媒体服务器。
[0058]其中,终端的能力信息例如包括编解码能力和ICE(互联网通信引擎)能力等。终端的能力信息例如可以采用SDP(会话描述协议)报文的形式发送,包含终端的能力信息的SDP报文命名为SDP提供。
[0059]其中,实时通信平台设备可以根据距离用户1网络路径的远近,媒体服务器的空闲程度和支持的编解码类型等信息,为用户1选择合适的媒体服务器。
[0060]S206,媒体服务器根据用户1终端的能力信息,将本服务器的能力信息通过实时通信平台设备返回给用户1。用户1根据媒体服务器的能力信息与媒体服务器之间建立媒体流连接。
[0061]其中,媒体服务器的能力信息例如包括编解码能力、帧率、端口等信息。媒体服务器的能力信息例如可以采用SDP报文的形式发送,包含媒体服务器的能力信息的SDP报文命名为SDP应答。
[0062]S208,用户1发送媒体流。
[0063]S210,实时通信平台设备接收到用户1发送的媒体流后,为媒体流分配媒体流ID,并转发媒体流给媒体服务器。
[0064]S212,实时通信平台设备向目标用户2推送有媒体流发布的消息,消息内容中可以包括媒体流ID和媒体简单描述。
[0065]S214,如果目标用户2欲查看该媒体流,则向实时通信平台设备发送订阅该媒体流的请求。
[0066]作为一种具体实现,当用户欲查看媒体流时,通过开发者提供的界面元素调用终端SDK的函数名称为subscribe (订阅)的媒体流订阅方法,函数中包括用户欲订阅的媒体流ID。
[0067]S216,实时通信平台设备可以对媒体流的订阅请求进行鉴权,如果鉴权通过,则将媒体服务器的能力信息(SDP应答)发送给目标用户2,用户根据媒体服务器的能力信息与媒体服务器之间建立媒体流连接。
[0068]S218,目标用户2从媒体服务器获取订阅的媒体流,媒体服务器将媒体流发送给目标用户2。
[0069]上述实施例,基于发布订阅模型实现了单边订阅的媒体流实时传播方案,平台侧可以将某一用户发布的媒体流传送到同一群组内订阅该媒体流的目标用户,从而灵活的支持单边订阅业务。并且,开发人员不需要处理复杂的媒体流建立逻辑,只需关注发布功能和订阅功能。
[0070]图3为本发明双边订阅实时通信方法一个实施例的流程示意图。如图3所示,本实施例的实时通信方法包括以下步骤:
[0071]S302,用户1(业务发起用户)向实时通信平台设备发送双边订阅请求,双边订阅请求中携带业务发起用户指定的双边订阅业务模式和目标用户的标识。
[0072]其中,目标用户可以是一个或多个,图3中示例性的示出一个目标用户2。在一个应用场景中,目标用户可以是本群组的其他所有用户,并且还可以设置在缺省状态下,即,用户1未指定目标用户时,默认目标用户是本群组的其他所有用户。
[0073]作为一种具体实现,当用户欲建立双边订阅业务模式时,通过开发者提供的界面元素调用终端SDK的函数名称为publish (发布)的媒体流发布方法,函数中的业务模式填写为双边订阅,函数中的目标参数填写为欲与之建立双边订阅业务的目标用户ID集合。
[0074]S304,实时通信平台设备将双边订阅请求转发给目标用户2。
[0075]S306,目标用户2接收用户1发来的双边订阅请求后,确定是否接受双边订阅,并返回双边订阅响应。
[0076]S308,用户1接收到实时通信平台设备转发的双边订阅响应后,如果目标用户2同意双边订阅,会自动触发一个媒体流协商过程(见S310-S312)。
[0077]S310,用户1将包含用户1终端能力信息的SDP提供发送给实时通信平台设备,实时通信平台设备选择合适的媒体服务器,将SDP提供转发给媒体服务器。
[0078]S312,媒体服务器将包含本服务器能力信息的SDP应答通过实时通信平台设备发送给用户1。用户1根据媒体服务器的能力信息与媒体服务器之间建立媒体流连接。
[0079]用户1发布第一媒体流(设为媒体流1)并推送给目标用户2的过程S314?S324与S208?S218相同,这里不再赘述。
[0080]用户2发布第二媒体流(设为媒体流2)并推送给目标用户1的过程如下:
[0081]S326,用户2发送第二媒体流(设为媒体流2)。
[0082]S328,实时通信平台设备接收到用户2发送的媒体流2后,为媒体流2分配媒体流ID,并转发媒体流2给媒体服务器。
[0083]S330,实时通信平台设备向用户1推送有媒体流发布的消息,消息内容中可以包括媒体流ID和媒体简单描述。
[0084]S332,如果用户1欲查看该媒体流2,则通过实时通信平台设备向媒体服务器发送订阅该媒体流的请求。
[0085]S334,媒体服务器将媒体流2发送给用户1,从而实现双边订阅。
[0086]上述实施例,基于发布订阅模型实现了双边订阅的媒体流实时传播方案,平台侧可以将某一用户发布的媒体流传送到同一群组内订阅该媒体流的目标用户,目标用户发布的媒体流也传送到发起业务的用户,从而灵活的支持双边订阅业务。并且,开发人员不需要处理复杂的媒体流建立逻辑,只需关注发布功能和订阅功能。
[0087]图4为本发明群组订阅实时通信方法一个实施例的流程示意图。如图4所示,本实施例的实时通信方法包括以下步骤:
[0088]S402,业务发起群组1的管理员向实时通信平台设备发送群组订阅请求,群组订阅请求中携带业务发起群组的管理员指定的群组订阅业务模式和目标群组的标识。
[0089]其中,目标群组可以是一个或多个,图2中示例性的示出一个目标群组2。
[0090]作为一种具体实现,当用户欲建立群组订阅业务模式时,通过开发者提供的界面元素调用终端SDK的函数名称为publish (发布)的媒体流发布方法,函数中的业务模式填写为群组订阅,函数中的目标参数填写为欲与之建立群组订阅业务的目标群组ID集合。
[0091]发送群组订阅请求后或者调用publish函数后,会自动触发一个媒体流协商过程(见 S404-S406)。
[0092]S404,群组1的管理员将包括本终端的能力信息的SDP提供发送给实时通信平台设备,实时通信平台设备选择合适的媒体服务器,将SDP提供转发给媒体服务器。
[0093]S406,媒体服务器将包含本服务器的能力信息的SDP应答通过实时通信平台设备返回给群组1的管理员。群组1的管理员根据媒体服务器的能力信息与媒体服务器之间建立媒体流连接。
[0094]S408,群组1的管理员发送媒体流。
[0095]S410,实时通信平台设备接收到群组1的管理员发送的媒体流后,为媒体流分配媒体流ID,并转发媒体流给媒体服务器。
[0096]S412,实时通信平台设备向目标群组2推送有媒体流发布的消息,消息内容中可以包括媒体流ID和媒体简单描述。
[0097]S414,如果目标群组2的管理员欲查看该媒体流,则向实时通信平台设备发送订阅该媒体流的请求。
[0098]作为一种具体实现,当管理员欲查看媒体流时,通过开发者提供的界面元素调用终端SDK的函数名称为subscribe (订阅)的媒体流订阅方法,函数中包括用户欲订阅的媒体流ID。
[0099]S416,实时通信平台设备可以对媒体流的订阅请求进行鉴权,如果鉴权通过,则将包含媒体服务器的能力信息的SDP应答发送给目标群组2,目标群组2的管理员根据媒体服务器的能力信息与媒体服务器之间建立媒体流连接。
[0100]S418,目标群组2的管理员从媒体服务器获取订阅的媒体流,媒体服务器将媒体流发送给目标群组2的管理员。
[0101]目标群组2可以将新媒体流推送给本群组2内的其他用户成员,向这些用户成员推送有媒体发布的消息,目标群组2还可以将新媒体流推送给其他群组。如图5所示,群组A的管理员可以将新媒体流推送给本组内的用户成员1和用户成员2,也可以将新媒体流推送给其他群组,如群组B1和群组B2。其中,群组媒体流的传播可以参考单边订阅流程,这里不再赘述。
[0102]上述实施例,基于发布订阅模型实现了群组订阅的媒体流实时传播方案,平台侧可以将某一群组的管理员发布的媒体流传送到其他群组,从而灵活的支持群组订阅业务。并且,开发人员不需要处理复杂的媒体流建立逻辑,只需关注发布功能和订阅功能。
[0103]图6为本发明实时通信系统一个实施例的结构示意图。如图6所示,实时通信系统60包括用户终端61和实时通信平台设备62。用户终端61主要用于向实时通信平台设备发送媒体流业务请求,在媒体流业务请求中携带业务发起用户指定的业务模式和目标参数,并可以发送流媒体以及订阅流媒体的请求等。实时通信平台设备62主要基于发布订阅模型根据业务模式处理业务发起用户与目标参数对应的目标之间的媒体流业务。
[0104]用户终端61例如可以是个人电脑、移动终端和浏览器终端等,每种终端可以采用相应的信令接入方式如xhr、websocket、tcp等接入实时通信平台设备。
[0105]图7为本发明实时通信用户终端一个实施例的结构示意图。如图7所示,本实施例的用户终端61包括:发布模块711和订
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1