流媒体数据的处理方法以及装置制造方法及图纸

技术编号:32431855 阅读:74 留言:0更新日期:2022-02-24 18:47
提供了一种流媒体数据的处理方法及装置,涉及通信技术领域,以解决多个终端双向通信时,终端负荷过大的问题。该流媒体数据的处理方法包括:将流媒体服务器与第一终端建立连接并在该流媒体服务器中创建用于实时通话的房间;将房间的房间标识发送给第一终端使第一终端加入房间;接收第二终端的连接请求,该连接请求包括房间标识;将流媒体服务器和第二终端建立连接,并根据房间标识将第二终端加入房间;接收第一终端发送的第一流媒体数据,并将第一流媒体数据发送至第二终端;接收第二终端发送的第二流媒体数据,并将第二流媒体数据发送至第一终端。送至第一终端。送至第一终端。

【技术实现步骤摘要】
流媒体数据的处理方法以及装置


[0001]本专利技术涉及通信
,尤其涉及一种流媒体数据的处理方法以及装置。

技术介绍

[0002]随着网络技术的发展,利用网络进行直播已经成为近年来较为流行的交流方式,例如,在线讲座。
[0003]其中,在直播的过程中,主持人可以通过一个终端(例如发送终端)向观众发送音视频流(即音频和/或视频流),观众可以通过其他终端(例如接收终端)观看主持人发送的音视频流。
[0004]然而,上述的直播方式中,当有多个观众通过终端观看直播时,即当多个终端参与到直播时,这就要求每个终端在将自己的音视频流发送给其他终端的同时,还要接受其他终端发送的音视频流。例如,如图1所示,有4个终端,分别记为A、B、C、D,任一终端A可能需要与其他3个终端直接进行双向通信,这样,会导致终端的负荷过大,从而使得终端无法承受其负荷,当终端的数量越多时,终端的负荷会越大。

技术实现思路

[0005]本专利技术的实施例提供一种流媒体数据的处理方法及装置,用以解决多个终端双向通信时,终端负荷过大的问题。
[0006]为达到上述目的,本专利技术的实施例采用如下技术方案:
[0007]第一方面,提供了一种流媒体数据的处理方法,该方法包括:将流媒体服务器与第一终端建立连接并在流媒体服务器中创建用于实时通话的房间;将房间的房间标识发送给第一终端使第一终端加入房间;接收第二终端的连接请求,该连接请求包括房间标识;将流媒体服务器和第二终端建立连接,并根据房间标识将第二终端加入房间;接收第一终端发送的第一流媒体数据,并将第一流媒体数据发送至第二终端;接收第二终端发送的第二流媒体数据,并将第二流媒体数据发送至第一终端。
[0008]在一些实施例中,在接收第一终端发送的第一流媒体数据之后,在将第一流媒体数据发送至第二终端之前,所述处理方法还包括:向加入房间的除第一终端之外的其他终端发送第一发布消息,该第一发布消息被配置为表示第一终端发布了流媒体数据;接收第二终端发送的第一订阅消息,该第一订阅消息被配置为表示第二终端订阅第一终端的流媒体数据;和/或,在接收第二终端发送的第二流媒体数据之后,在将第二流媒体数据发送至第一终端之前,所述处理方法还包括:向加入房间的除第二终端之外的其他终端发送第二发布消息,该第二发布消息被配置为表示第二终端发布了流媒体数据;接收第一终端发送的第二订阅消息,该第二订阅消息被配置为表示第一终端订阅第二终端的流媒体数据。
[0009]在一些实施例中,在第一终端和第二终端均加入房间之后,流媒体数据的处理方法还包括:为第一终端创建第一PeerConnection对象,并基于第一PeerConnection对象,将流媒体服务器与第一终端建立第一P2P通道;为第二终端创建第二PeerConnection对象,并
基于第二PeerConnection对象,将流媒体服务器与第二终端建立第二P2P通道;接收第一终端发送的第一流媒体数据包括:通过第一P2P通道,接收第一终端发送的第一流媒体数据;流媒体数据的处理方法还包括:将接收的第一流媒体数据添加到第一PeerConnection对象中;将第一流媒体数据复制到第二PeerConnection对象中;将第一流媒体数据发送至第二终端包括:通过第二P2P通道,将第二PeerConnection对象中的第一流媒体数据发送至所述第二终端。
[0010]在一些实施例中,在第一终端和第二终端均加入房间之后,流媒体数据的处理方法还包括:基于第一PeerConnection对象,将流媒体服务器与第一终端建立第三P2P通道;基于第二PeerConnection对象,将流媒体服务器与第二终端建立第四P2P通道;接收第二终端发送的第二流媒体数据包括:通过第四P2P通道,接收第二终端发送的第二流媒体数据;流媒体数据的处理方法还包括:将接收的第二流媒体数据添加到第二PeerConnection对象中;将第二流媒体数据复制到第一PeerConnection对象中;将第二流媒体数据发送至第一终端包括:通过第三P2P通道,将第一PeerConnection对象中的第二流媒体数据发送至第一终端。
[0011]在一些实施例中,基于第一PeerConnection对象,将流媒体服务器与第一终端建立第一P2P通道包括:保存从第一终端发送的SDP信息,并创建应答SDP信息;保存从第一终端发送的网络信息;基于第二PeerConnection对象,将流媒体服务器与第二终端建立第二P2P通道包括:将第一终端发送的SDP信息保存到第二PeerConnection对象;将第一终端发送的SDP信息发送至第二终端;保存从第二终端发送的网络信息。
[0012]第二方面,本专利技术实施例提供了一种流媒体数据的处理方法,该流媒体数据的处理方法包括:将第一终端与流媒体服务器建立连接,并创建发送PeerConnection对象和接收PeerConnection对象;基于发送PeerConnection对象,将第一终端与流媒体服务器建立第一P2P通道;通过第一P2P通道,第一终端向流媒体服务器发送第一流媒体数据;基于接收PeerConnection对象,将第一终端与流媒体服务器建立第三P2P通道;通过第三P2P通道,第一终端接收流媒体服务器发送的第二流媒体数据。
[0013]在一些实施例中,在通过第三P2P通道,第一终端接收流媒体服务器发送的第二流媒体数据之前,流媒体数据的处理方法还包括:第一终端接收流媒体服务器发送的第二发布消息,该第二发布消息被配置为表示第二终端发布了流媒体数据;第一终端向流媒体服务器发送第二订阅消息,该第二订阅消息被配置为表示第一终端订阅第二终端的流媒体数据。
[0014]在一些实施例中,基于发送PeerConnection对象,将第一终端与流媒体服务器建立第一P2P通道包括:设置发送PeerConnection对象的事件响应操作;从第一终端获取流媒体数据,并将流媒体数据传给发送PeerConnection对象;创建流媒体数据的SDP信息,并将SDP信息发送至发送PeerConnection对象;将SDP信息发送至流媒体服务器。
[0015]第三方面,本专利技术实施例提供了一种流媒体数据的处理装置,该流媒体数据的处理装置包括连接模块、创建模块、接收模块、发送模块和加入模块;连接模块,被配置为将流媒体服务器与第一终端建立连接,还被配置为将流媒体服务器与第二终端建立连接;创建模块,被配置为在流媒体服务器中创建用于实时通话的房间;发送模块,被配置为将房间的房间标识发送给第一终端使该第一终端加入房间;接收模块,被配置为接收第二终端的连
接请求,该连接请求包括房间标识;接收模块还被配置为接收第一终端发送的第一流媒体数据,还被配置为接收第二终端发送的第二流媒体数据;加入模块,被配置为在连接模块将流媒体服务器和第二终端建立连接后,根据房间标识将第二终端加入房间;发送模块,还被配置为在接收模块接收第一流媒体数据后,将该第一流媒体数据发送至第二终端,还被配置为在接收模块接收第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流媒体数据的处理方法,其特征在于,包括:将流媒体服务器与第一终端建立连接并在所述流媒体服务器中创建用于实时通话的房间;将所述房间的房间标识发送给所述第一终端使所述第一终端加入所述房间;接收第二终端的连接请求,所述连接请求包括所述房间标识;将所述流媒体服务器和所述第二终端建立连接,并根据所述房间标识将所述第二终端加入所述房间;接收所述第一终端发送的第一流媒体数据,并将所述第一流媒体数据发送至所述第二终端;接收所述第二终端发送的第二流媒体数据,并将所述第二流媒体数据发送至所述第一终端。2.根据权利要求1所述的流媒体数据的处理方法,其特征在于,在所述接收所述第一终端发送的第一流媒体数据之后,在将所述第一流媒体数据发送至所述第二终端之前,所述处理方法还包括:向加入所述房间的除所述第一终端之外的其他终端发送第一发布消息,所述第一发布消息被配置为表示所述第一终端发布了流媒体数据;接收所述第二终端发送的第一订阅消息,所述第一订阅消息被配置为表示所述第二终端订阅所述第一终端的流媒体数据;和/或,在所述接收所述第二终端发送的第二流媒体数据之后,在将所述第二流媒体数据发送至所述第一终端之前,所述处理方法还包括:向加入所述房间的除所述第二终端之外的其他终端发送第二发布消息,所述第二发布消息被配置为表示所述第二终端发布了流媒体数据;接收所述第一终端发送的第二订阅消息,所述第二订阅消息被配置为表示所述第一终端订阅所述第二终端的流媒体数据。3.根据权利要求1或2所述的流媒体数据的处理方法,其特征在于,在所述第一终端和所述第二终端均加入所述房间之后,所述流媒体数据的处理方法还包括:为所述第一终端创建第一PeerConnection对象,并基于所述第一PeerConnection对象,将所述流媒体服务器与所述第一终端建立第一P2P通道;为所述第二终端创建第二PeerConnection对象,并基于所述第二PeerConnection对象,将所述流媒体服务器与所述第二终端建立第二P2P通道;所述接收所述第一终端发送的第一流媒体数据包括:通过所述第一P2P通道,接收所述第一终端发送的第一流媒体数据;所述流媒体数据的处理方法还包括:将接收的所述第一流媒体数据添加到所述第一PeerConnection对象中;将所述第一流媒体数据复制到所述第二PeerConnection对象中;所述将所述第一流媒体数据发送至第二终端包括:通过所述第二P2P通道,将所述第二PeerConnection对象中的所述第一流媒体数据发送至所述第二终端。
4.根据权利要求1或2所述的流媒体数据的处理方法,其特征在于,在所述第一终端和所述第二终端均加入所述房间之后,所述流媒体数据的处理方法还包括:基于第一PeerConnection对象,将所述流媒体服务器与所述第一终端建立第三P2P通道;基于第二PeerConnection对象,将所述流媒体服务器与所述第二终端建立第四P2P通道;所述接收所述第二终端发送的第二流媒体数据包括:通过所述第四P2P通道,接收所述第二终端发送的第二流媒体数据;所述流媒体数据的处理方法还包括:将接收的所述第二流媒体数据添加到所述第二PeerConnection对象中;将所述第二流媒体数据复制到所述第一PeerConnection对象中;所述将所述第二流媒体数据发送至第一终端包括:通过所述第三P2P通道,将所述第一PeerConnection对象中的所述第二流媒体数据发送至所述第一终端。5.根据权利要求3所述的流媒体数据的处理方法,其特征在于,基于所述第一PeerConnection对象,将所述流媒体服务器与所述第一终端建立第一P2P通道包括:保存从所述第一终端发送的SDP信息,并创建应答SDP信息;保存从所述第一终端发送的网络信息;基于所述第二PeerConnection对象,将所述流媒体服务器与所述第二终端建立第二P2P通道包括:将所述第一终端发送的SDP信息保存到所述第二PeerConnection对象;将所述第一终端发送的SDP信息发送至所述第二终端;保存从所述第二终端发送的网络信息。6.一种流媒体数据的处理方法,其特征在于,包括:将第一终端与流媒体服务器建立连接,并创建发送PeerConnection对象和接收PeerConnection对象;基于所述发送PeerConnection对象,将所述第一终端与所述流媒体服务器建立第一P2P通道;通过所述第一P2P通道,所述第一终端向所述流媒体服务器发送第一流媒体数据;基于所述接收PeerConnection对象,将所述第一终端与所述流媒体服务器建立第三P2P通道;通过所述第三...

【专利技术属性】
技术研发人员:郭小琴张敬宇舒龙史宝玉邵雷张长峰
申请(专利权)人:京东方科技集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1