1.一种音视频的直播处理方法,其特征在于,包括:
移动终端根据输入的直播指令从业务后台获取websocket协议的播放地址,所述播放地址由所述业务后台维护并指向一个流媒体服务器;
所述移动终端根据获取到的所述播放地址与所述流媒体服务器之间建立基于websocket协议的数据传输链路;
所述移动终端向所述流媒体服务器发送目标连接请求,所述目标连接请求包括连接对象的信息;
所述移动终端通过所述数据传输链路从所述流媒体服务器上获取第一数据包;所述第一数据包为所述流媒体服务器根据所述连接对象的信息提取相应的流媒体数据,并采用websocket协议对提取到的流媒体数据进行数据封装得到;
所述移动终端对所述第一数据包进行解封装,得到与所述连接对象对应的流媒体数据;所述流媒体数据包括音频数据和/或视频数据;
所述移动终端通过基于html5的浏览器对所述流媒体数据进行解码播放;
在所述移动终端向所述流媒体服务器发送目标连接请求之后,还包括:
流媒体服务器接收来自移动终端的目标连接请求;
所述流媒体服务器创建一个与所述目标连接请求对应的目标事件处理器,所述目标事件处理器采用websocket协议与所述移动终端进行数据传输;
所述流媒体服务器查询是否已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同;
若已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同,则所述流媒体服务器将第一连接请求对应的缓冲队列中的流媒体数据复用至所述目标事件处理器,以便于所述目标事件处理器将复用得到的流媒体数据发送给所述移动终端;所述第一连接请求是指所述其它连接请求中连接对象与所述目标连接请求的连接对象相同的连接请求;
若不存在其它连接请求的连接对象与所述目标连接请求的连接对象相同,则所述流媒体服务器创建一个与所述目标连接请求对应的新的缓冲队列,根据所述目标连接请求的连接对象的信息提取相应的流媒体数据,并将提取得到的流媒体数据通过所述新的缓冲队列分发至所述目标事件处理器,以便于所述目标事件处理器将提取得到的流媒体数据发送给所述移动终端。
2.根据权利要求1所述的音视频的直播处理方法,其特征在于,所述播放地址所指向的流媒体服务器通过以下步骤确定:CDN网络的调度中心根据所述移动终端与所述CDN网络上各个节点服务器之间的网络连接情况确定所述各个节点服务器中的一个节点服务器作为所述流媒体服务器。
3.根据权利要求1所述的音视频的直播处理方法,其特征在于,所述流媒体服务器为CDN网络的各个节点服务器中的一个节点服务器;
所述流媒体服务器根据所述目标连接请求的连接对象的信息提取相应的流媒体数据具体为:所述流媒体服务器根据所述目标连接请求的连接对象的信息从所述CDN网络的中心节点拉取相应的RTMP流数据;
在所述流媒体服务器将所述第一数据包发送给所述移动终端之前,所述流媒体服务器对拉取到的所述RTMP流数据采用websocket协议进行数据封装,得到所述第一数据包;
所述移动终端通过基于html5的浏览器对所述流媒体数据进行解码播放具体为:所述移动终端通过基于html5的浏览器根据RTMP协议对所述RTMP流数据进行解码播放。
4.根据权利要求1至3中任一项所述的音视频的直播处理方法,其特征在于,所述音视频的直播处理方法还包括:所述移动终端将获取到的第一数据包缓存在预设的缓存空间中;
所述移动终端实时统计当前各个数据传输链路的传输速率和所述缓存空间的状态;
所述移动终端根据所述传输速率和所述缓存空间的状态调整所述缓存空间的大小;其中,当前的传输速率越大,则调整后的所述缓存空间越小;当前的传输速率越小,则调整后的所述缓存空间越大。
5.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述音视频的直播处理方法的步骤。
6.一种移动终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:移动终端根据输入的直播指令从业务后台获取websocket协议的播放地址,所述播放地址由所述业务后台维护并指向一个流媒体服务器;
所述移动终端根据获取到的所述播放地址与所述流媒体服务器之间建立基于websocket协议的数据传输链路;
所述移动终端向所述流媒体服务器发送目标连接请求,所述目标连接请求包括连接对象的信息;
所述移动终端通过所述数据传输链路从所述流媒体服务器上获取第一数据包;所述第一数据包为所述流媒体服务器根据所述连接对象的信息提取相应的流媒体数据,并采用websocket协议对提取到的流媒体数据进行数据封装得到;
所述移动终端对所述第一数据包进行解封装,得到与所述连接对象对应的流媒体数据;所述流媒体数据包括音频数据和/或视频数据;
所述移动终端通过基于html5的浏览器对所述流媒体数据进行解码播放;
在所述移动终端向所述流媒体服务器发送目标连接请求之后,还包括:
流媒体服务器接收来自移动终端的移动终端的目标连接请求;
所述流媒体服务器创建一个与所述目标连接请求对应的目标事件处理器,所述目标事件处理器采用websocket协议与所述移动终端的移动终端进行数据传输;
所述流媒体服务器查询是否已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同;
若已存在其它连接请求的连接对象与所述目标连接请求的连接对象相同,则所述流媒体服务器将第一连接请求对应的缓冲队列中的流媒体数据复用至所述目标事件处理器,以便于所述目标事件处理器将复用得到的流媒体数据发送给所述移动终端;所述第一连接请求是指所述其它连接请求中连接对象与所述目标连接请求的连接对象相同的连接请求;
若不存在其它连接请求的连接对象与所述目标连接请求的连接对象相同,则所述流媒体服务器创建一个与所述目标连接请求对应的新的缓冲队列,根据所述目标连接请求的连接对象的信息提取相应的流媒体数据,并将提取得到的流媒体数据通过所述新的缓冲队列分发至所述目标事件处理器,以便于所述目标事件处理器将提取得到的流媒体数据发送给所述移动终端。
7.根据权利要求6所述的移动终端,其特征在于,所述播放地址所指向的流媒体服务器通过以下步骤确定:CDN网络的调度中心根据所述移动终端与所述CDN网络上各个节点服务器之间的网络连接情况确定所述各个节点服务器中的一个节点服务器作为所述流媒体服务器。
8.根据权利要求6至7中任一项所述的移动终端,其特征在于,所述处理器执行所述计算机程序时还包括:所述移动终端将获取到的第一数据包缓存在预设的缓存空间中;
所述移动终端实时统计当前各个数据传输链路的传输速率和所述缓存空间的状态;
所述移动终端根据所述传输速率和所述缓存空间的状态调整所述缓存空间的大小;其中,当前的传输速率越大,则调整后的所述缓存空间越小;当前的传输速率越小,则调整后的所述缓存空间越大。