处理媒体流卡顿的方法和装置与流程

文档序号:12628514阅读:922来源:国知局
处理媒体流卡顿的方法和装置与流程

本发明涉及通信网络技术领域,特别涉及一种处理媒体流卡顿的方法和装置。



背景技术:

在流媒体技术领域中,为了减轻流媒体服务器的负担,往往设置多个流媒体服务器;当流媒体客户端需要播放媒体流时,DNS(Domain Name Server,域名服务器)从该多个流媒体服务器中选择一个流媒体服务器,此时流媒体客户端接入该流媒体服务器,并播放该流媒体服务器传输的媒体流;然而,由于DNS服务器选择的该流媒体服务器并不一定适合该流媒体客户端,从而导致流媒体客户端播放媒体流时可能出现卡顿现象,因此,如何处理媒体流卡顿是业界关注的重点。

当前,当流媒体客户端播放媒体流出现卡顿时,流媒体客户端会弹出一个候选服务器列表,该候选服务器列表中包括多个候选流媒体服务器,此时用户可以从候选服务器列表中选择一个候选流媒体服务器;此时流媒体客户端重新接入该候选流媒体服务器,并播放该候选流媒体服务器传输的媒体流;若播放媒体流时仍出现卡顿,则用户需要从该候选服务器列表中重新选择一个候选流媒体服务器,直到流媒体客户端播放媒体流顺畅为止。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

用户选择候选流媒体服务器存在盲目性,一般需要尝试多次才能使流媒体客户端播放媒体流顺畅,耗时过长,效率较低。



技术实现要素:

为了解决现有技术的问题,本发明提供了一种处理媒体流卡顿的方法和装置。技术方案如下:

一种处理媒体流卡顿的方法,所述方法包括:

在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,获取所述第一流媒体服务器的位置信息和候选服务器列表中的每个第二流媒体服务器的位置信息,所述每个第二流媒体服务器中包括所述媒体流;

根据所述第一流媒体服务器的位置信息和所述每个第二流媒体服务器的位置信息,从所述候选服务器列表中选择第二流媒体服务器;

向所述流媒体客户端发送所述第二流媒体服务器的服务器标识,所述服务器标识用于所述流媒体客户端根据所述服务器标识,从所述第二流媒体服务器中获取所述媒体流。

可选的,所述方法还包括:

将与所述第一流媒体服务器之间的距离在预设距离范围内的第二流媒体服务器的服务器标识组成候选服务器列表;或者,

接收所述流媒体客户端发送的所述候选服务器列表,所述候选服务器列表中包括每个第二流媒体服务器的服务器标识和位置信息。

可选的,所述根据所述第一流媒体服务器的位置信息和所述每个第二流媒体服务器的位置信息,从所述候选服务器列表中选择第二流媒体服务器,包括:

根据所述第一流媒体服务器的位置信息和所述每个第二流媒体服务器的位置信息,按照预设规则,从所述候选服务器列表中选择第二流媒体服务器。

可选的,所述根据所述第一流媒体服务器的位置信息和所述每个第二流媒体服务器的位置信息,从所述候选服务器列表中选择第二流媒体服务器,包括:

检测所述第一流媒体服务器的第一网速,获取第一已知网速服务器列表中的每个已知网速的流媒体服务器的第二网速,所述每个已知网速的流媒体服务器为所述流媒体客户端历史接入但播放所述媒体流卡顿的流媒体服务器;

根据所述第一网速与所述每个已知网速的流媒体服务器的第二网速,确定所述流媒体客户端与所述第一流媒体服务器的位置关系;

根据所述位置关系、所述第一流媒体服务器的位置信息和所述每个第二流媒体服务器的位置信息,从所述候选服务器列表中选择第二流媒体服务器。

可选的,所述方法还包括:

接收所述流媒体客户端发送的播放请求,所述播放请求携带第一已知网速服务器列表;

将所述第一流媒体服务器的服务器标识和所述第一网速添加到所述第一已知网速服务器列表中得到第二已知网速服务器列表,向所述流媒体客户端发送所述第二已知网速服务器列表。

可选的,所述方法还包括:

在所述流媒体客户端播放所述媒体流顺畅时,更新域名服务器DNS中与所述流媒体客户端匹配的流媒体服务器。

一种处理媒体流卡顿的方法,所述方法包括:

在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,接收所述第一流媒体服务器发送的第二流媒体服务器的服务器标识和第二已知网速服务器列表,所述第二已知网速服务器列表至少包括所述第一流媒体服务器的服务器标识和第一网速;

根据所述第二流媒体服务器的服务器标识,向所述第二流媒体服务器发送播放请求,所述播放请求用于从所述第二流媒体服务器中获取所述媒体流,且所述播放请求携带所述第二已知网速服务器列表,所述第二已知网络服务器列表用于所述第二流媒体服务器在确定所述流媒体客户端播放所述第二流媒体服务器传输的媒体流出现卡顿时,根据所述第二已知网络服务器列表,为所述流媒体客户端重新选择一个流媒体服务器。

可选的,所述方法还包括:

在所述流媒体客户端播放所述媒体流出现卡顿时,播放所述第一流媒体服务器传输的媒体流中的音频数据;

在确定播放所述第二流媒体服务器传输的媒体流顺畅时,播放所述第二流媒体服务器传输的媒体流。

一种处理媒体流卡顿的装置,所述装置包括:

获取模块,用于在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,获取所述第一流媒体服务器的位置信息和候选服务器列表中的每个第二流媒体服务器的位置信息,所述每个第二流媒体服务器中包括所述媒体流;

选择模块,用于根据所述第一流媒体服务器的位置信息和所述每个第二流媒体服务器的位置信息,从所述候选服务器列表中选择第二流媒体服务器;

第一发送模块,用于向所述流媒体客户端发送所述第二流媒体服务器的服务器标识,所述服务器标识用于所述流媒体客户端根据所述服务器标识,从所述第二流媒体服务器中获取所述媒体流。

可选的,所述装置还包括:

组成模块,用于将与所述第一流媒体服务器之间的距离在预设距离范围内的第二流媒体服务器的服务器标识组成候选服务器列表;或者,

第一接收模块,用于接收所述流媒体客户端发送的所述候选服务器列表,所述候选服务器列表中包括每个第二流媒体服务器的服务器标识和位置信息。

可选的,所述选择模块,包括:

第一选择单元,用于根据所述第一流媒体服务器的位置信息和所述每个第二流媒体服务器的位置信息,按照预设规则,从所述候选服务器列表中选择第二流媒体服务器。

可选的,所述选择模块,包括:

获取单元,用于检测所述第一流媒体服务器的第一网速,获取第一已知网速服务器列表中的每个已知网速的流媒体服务器的第二网速,所述每个已知网速的流媒体服务器为所述流媒体客户端历史接入但播放所述媒体流卡顿的流媒体服务器;

确定单元,用于根据所述第一网速与所述每个已知网速的流媒体服务器的第二网速,确定所述流媒体客户端与所述第一流媒体服务器的位置关系;

第二选择单元,用于根据所述位置关系、所述第一流媒体服务器的位置信息和所述每个第二流媒体服务器的位置信息,从所述候选服务器列表中选择第二流媒体服务器。

可选的,所述装置还包括:

第二接收模块,用于接收所述流媒体客户端发送的播放请求,所述播放请求携带第一已知网速服务器列表;

添加模块,用于将所述第一流媒体服务器的服务器标识和所述第一网速添加到所述第一已知网速服务器列表中得到第二已知网速服务器列表;

第二发送模块,用于向所述流媒体客户端发送所述第二已知网速服务器列表。

可选的,所述装置还包括:

更新模块,用于在所述流媒体客户端播放所述媒体流顺畅时,更新域名服务器DNS中与所述流媒体客户端匹配的流媒体服务器。

一种处理媒体流卡顿的装置,所述装置包括:

第三接收模块,用于在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,接收所述第一流媒体服务器发送的第二流媒体服务器的服务器标识和第二已知网速服务器列表,所述第二已知网速服务器列表至少包括所述第一流媒体服务器的服务器标识和第一网速;

第三发送模块,用于根据所述第二流媒体服务器的服务器标识,向所述第二流媒体服务器发送播放请求,所述播放请求用于从所述第二流媒体服务器中获取所述媒体流,且所述播放请求携带所述第二已知网速服务器列表,所述第二已知网络服务器列表用于所述第二流媒体服务器在确定所述流媒体客户端播放所述第二流媒体服务器传输的媒体流出现卡顿时,根据所述第二已知网络服务器列表,为所述流媒体客户端重新选择一个流媒体服务器。

可选的,所述装置还包括:

第一播放模块,用于在所述流媒体客户端播放所述媒体流出现卡顿时,播放所述第一流媒体服务器传输的媒体流中的音频数据;

第二播放模块,用于在确定播放所述第二流媒体服务器传输的媒体流顺畅时,播放所述第二流媒体服务器传输的媒体流。

在本发明中,在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,第一流媒体服务器可以通过第一流媒体服务器和流媒体客户端的位置信息选择第二流媒体服务器,并将第二流媒体服务器的服务器标识发送给流媒体客户端,从而使流媒体客户端顺畅播放媒体流,避免了用户选择第二流媒体服务器存在的盲目性,提高了工作效率。

附图说明

图1是本发明实施例1提供的一种处理媒体流卡顿的方法流程图;

图2是本发明实施例2提供的一种处理媒体流卡顿的方法流程图;

图3是本发明实施例3提供的一种处理媒体流卡顿的方法流程图;

图4是本发明实施例4提供的一种处理媒体流卡顿的装置结构示意图;

图5是本发明实施例5提供的一种处理媒体流卡顿的装置结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施例1

本发明实施例提供了一种处理媒体流卡顿的方法,该方法的执行主体是第一流媒体服务器,参见图1,该方法包括:

步骤101:在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,获取该第一流媒体服务器的位置信息和候选服务器列表中的每个第二流媒体服务器的位置信息,该每个第二流媒体服务器中包括媒体流;

步骤102:根据该第一流媒体服务器的位置信息和该每个第二流媒体服务器的位置信息,从该候选服务器列表中选择第二流媒体服务器;

步骤103:向该流媒体客户端发送该第二流媒体服务器的服务器标识,该服务器标识用于该流媒体客户端根据该服务器标识,从该第二流媒体服务器中获取媒体流。

在本发明中,在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,第一流媒体服务器可以通过第一流媒体服务器和流媒体客户端的位置信息选择第二流媒体服务器,并将第二流媒体服务器的服务器标识发送给流媒体客户端,从而使流媒体客户端顺畅播放媒体流,避免了用户选择第二流媒体服务器存在的盲目性,提高了工作效率。

实施例2

本发明实施例提供了一种处理媒体流卡顿的方法,该方法的执行主体是流媒体客户端,参见图2,该方法包括:

步骤201:在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,接收该第一流媒体服务器发送的第二流媒体服务器的服务器标识和第二已知网速服务器列表,该第二已知网速服务器列表至少包括该第一流媒体服务器的服务器标识和第一网速;

步骤202:根据该第二流媒体服务器的服务器标识,向该第二流媒体服务器发送播放请求,播放请求用于从该第二流媒体服务器中获取媒体流,且播放请求携带第二已知网速服务器列表,该第二已知网络服务器列表用于该第二流媒体服务器在确定流媒体客户端播放第二流媒体服务器传输的媒体流出现卡顿时,根据第二已知网络服务器列表,为流媒体客户端重新选择一个流媒体服务器。

在本发明中,在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,第一流媒体服务器可以通过第一流媒体服务器和流媒体客户端的位置信息选择第二流媒体服务器,并将第二流媒体服务器的服务器标识发送给流媒体客户端,从而使流媒体客户端顺畅播放媒体流,避免了用户选择第二流媒体服务器存在的盲目性,提高了工作效率。

实施例3

本发明实施例提供了一种处理媒体流卡顿的方法,该方法的执行主体是第一流媒体服务器和流媒体客户端,参见图3,该方法包括:

步骤301:第一流媒体服务器确定流媒体客户端播放第一流媒体服务器传输的媒体流是否出现卡顿;如果出现卡顿,执行步骤302;如果没有出现卡顿,执行步骤307;

在本步骤之前,DNS需要为流媒体客户端选择第一流媒体服务器,第一流媒体服务器向流媒体客户端传输媒体流;流媒体客户端接收第一流媒体服务器传输的媒体流,并播放该媒体流。

其中,DNS为流媒体客户端选择第一流媒体服务器的步骤可以为:

DNS解析出流媒体客户端的IP(Internet Protocol,网络之间互连的协议)地址,根据该IP地址,从IP地址和服务器标识的对应关系中获取第一流媒体服务器的服务器标识,向流媒体客户端发送第一流媒体服务器的服务器标识。

服务器标识可以为服务器的名称、编号或者位置信息等。

第一流媒体服务器中包括网络质量检测模块;第一流媒体服务器向流媒体客户端传输该媒体流的过程中,通过该网络质量检测模块,获取该媒体流的传输状况,根据该传输状况确定流媒体客户端播放该媒体流是否出现卡顿。

传送状况包括第一流媒体服务器的第一网速、流媒体客户端的下载网速和流媒体客户端的数据积累量等。

当传送状况为第一流媒体服务器的第一网速时,第一流媒体服务器根据该传送状况,确定流媒体客户端播放该媒体流是否出现卡顿的步骤可以为:

第一流媒体服务器确定第一网速是否小于第一预设网速,如果第一网速小于第一预设网速,确定流媒体客户端播放该媒体流出现卡顿;如果果第一网速不小于第一预设网速,确定流媒体客户端播放该媒体流不卡顿,也即流媒体客户端播放该媒体流顺畅。

第一预设网速可以根据需要进行设置并更改,在本发明实施例中对第一预设网速不作具体限定。

当传送状况为流媒体客户端的下载网速时,第一流媒体服务器根据该传送状况,确定流媒体客户端播放该媒体流是否出现卡顿的步骤可以为:

第一流媒体服务器确定该下载网速是否小于第二预设网速,如果该下载网速小于第二预设网速,确定流媒体客户端播放该媒体流出现卡顿;如果果该下载网速不小于第二预设网速,确定流媒体客户端播放该媒体流不卡顿,也即流媒体客户端播放该媒体流顺畅。

第二预设网速可以根据需要进行设置并更改,在本发明实施例中对第二预设网速不作具体限定。

当传送状况为流媒体客户端的数据积累量时,第一流媒体服务器根据该传送状况,确定流媒体客户端播放该媒体流是否出现卡顿的步骤可以为:

第一流媒体服务器确定该数据积累量是否小于预设积累量,如果该数据积累量小于预设积累量,确定流媒体客户端播放媒体流出现卡顿;如果该数据积累量不小于预设积累量,确定流媒体客户端播放媒体流不卡顿,也即流媒体客户端播放该媒体流顺畅。

预设积累量可以根据需要进行设置并更改,在本发明实施例中对预设积累量不作具体限定。

步骤302:若出现卡顿,第一流媒体服务器获取第一流媒体服务器的位置信息和候选服务器列表中的每个第二流媒体服务器的位置信息;

每个第二流媒体服务器中包括该媒体流;在本步骤之前,第一流媒体服务器获取候选服务器列表,该候选服务器列表中包括多个第二流媒体服务器中的每个第二流媒体服务器的服务器标识以及每个第二流媒体服务器的位置信息。则在本步骤中,第一流媒体服务器直接从该候选服务器列表中获取每个第二流媒体服务器的位置信息。

第一流媒体服务器获取候选服务器列表的步骤可以为:

第一流媒体服务器将与第一流媒体服务器之间的距离在预设距离范围(为了便于区分,将该预设距离称为第一预设距离)内的第二流媒体服务器的服务器标识组成候选服务器列表;或者,接收流媒体客户端发送的该候选服务器列表。

其中,第一流媒体服务器将与第一流媒体服务器之间的距离在第一预设距离范围内的第二流媒体服务器的服务器标识组成候选服务器列表的步骤可以为:

第一流媒体服务器接收DNS发送的与第一流媒体服务器之间的距离在第一预设距离范围内的第二流媒体服务器的服务器标识,将接收的服务器标识组成候选服务器列表;或者,

第一流媒体服务器接收DNS发送的包括该媒体流的多个流媒体服务器的服务器标识和位置信息,根据第一流媒体服务器的位置信息和DNS发送的多个流媒体服务器的位置信息,从DNS发送的多个流媒体服务器的位置信息中选择与第一流媒体服务器之间的距离在第一预设距离范围内的第二流媒体服务器的服务器标识,将选择的服务器标识组成候选服务器列表。

第一预设距离可以根据需要进行设置并更改,在本发明实施例中,对第一预设距离不作具体限定。

进一步地,第一流媒体服务器获取候选服务器列表后,还可以根据第一流媒体服务器的位置信息和每个第二流媒体服务器的位置信息,确定第一流媒体服务器与每个第二流媒体服务器之间的位置关系。

对于每个第二流媒体服务器中的任一第二流媒体服务器,第一流媒体服务器与该第二流媒体服务器之间的位置关系包括该第二流媒体服务器位于第一流媒体服务器的任一方向,例如正北方向、东北方向、正东方向、东南方向、正南方向、西南方向、正西方向或者西北方向等。

例如,第一流媒体服务器以第一流媒体服务器所在机房为中心,配置1至3圈逻辑上的第二流媒体服务器的网络信息,每一圈有正北方向、东北方向、正东方向、东南方向、正南方向、西南方向、正西方向或者西北方向8个方向的机房中的第二流媒体服务器构成,一圈比一圈扩大地理位置。

第二流媒体服务器的网络信息可以包括第二流媒体服务器的IP地址、网速和第二流媒体服务器在第一流媒体服务器的方向等。

步骤303:第一流媒体服务器根据第一流媒体服务器的位置信息和每个第二流媒体服务器的位置信息,从候选服务器列表中选择第二流媒体服务器;

当DNS为流媒体客户端选择的流媒体服务器为第一流媒体服务器时,本步骤可以通过以下第一种方式实现;当DNS为流媒体客户端选择的流媒体服务器不为第一流媒体服务器时,本步骤可以通过以下第二种方式实现。

对于第一种实现方式,本步骤可以为:

第一流媒体服务器根据第一流媒体服务器的位置信息和每个第二流媒体服务器的位置信息,按照预设规则,从候选服务器列表中选择第二流媒体服务器。

预设规则可以根据需要进行设置并更改,在本发明实施例中,对预设规则不作具体限定;例如,预设规则可以为按照预设方向,且与第一流媒体服务器之间的距离为第二预设距离选择第二流媒体服务器的规则。

预设方向和第二预设距离都可以根据需要进行设置并更改,在本发明实施例中,对预设方向和第二预设距离都不作具体限定;例如,预设方向可以为正北方向。

进一步地,在本步骤中,第一流媒体服务器还可以根据第一流媒体服务器与每个第二流媒体服务器之间的位置关系,按照预设规则,从候选服务器列表中选择第二流媒体服务器。

例如,第一流媒体服务器根据第一流媒体服务器与每个第二流媒体服务器之间的位置关系,从候选服务器列表中选择第一流媒体服务器正北方向且离第一流媒体服务器最近的第二流媒体服务器。

对于第二种实现方式,本步骤可以通过以下步骤(1)至(3)实现,包括:

(1):第一流媒体服务器检测第一流媒体服务器的第一网速,并获取第一已知网速服务器列表中的每个已知网速的流媒体服务器的第二网速,每个已知网速的流媒体服务器为流媒体客户端历史接入但播放媒体流卡顿的服务器。

当DNS为流媒体客户端选择的流媒体服务器不为第一流媒体服务器时,例如DNS为流媒体客户端选择的流媒体服务器为第三流媒体服务器,流媒体客户端播放第三流媒体服务器传输的该媒体流出现卡顿时,第三流媒体服务器按照以上第一种实现方式为流媒体客户端选择第一流媒体服务器,向流媒体客户端发送第一流媒体服务器的服务器标识。

流媒体客户端接收第三流媒体服务器发送的第一流媒体服务器的服务器标识,根据第一流媒体服务器的服务器标识,向第一流媒体服务器发送播放请求,该播放请求中携带第一已知网速服务器列表,第一已知网速服务器列表中包括每个已知网速的流媒体服务器的服务器标识和每个已知网速的流媒体服务器的第二网速。

第一流媒体服务器接收流媒体客户端发送的播放请求,从该播放请求中获取第一已知网速服务器列表。

(2):第一流媒体服务器根据第一网速与每个已知网速的流媒体服务器的第二网速,确定流媒体客户端与第一流媒体服务器的位置关系。

对于每个已知网速的流媒体服务器,第一流媒体服务器计算第一网速和该已知网速的流媒体服务器的第二网速之间的网速差;根据该网速差,确定流媒体客户端与第一流媒体服务器的位置关系。

第一流媒体服务器根据该网速差,确定流媒体客户端与第一流媒体服务器的位置关系的步骤可以为:

如果该网速差大于第一预设阈值,第一流媒体服务器确定流媒体客户端与第一流媒体服务器的位置关系为流媒体客户端在第一流媒体服务器到该已知网速的流媒体服务器的方向上且远离该第一流媒体服务器;或者,

如果该网速差小于第二预设阈值,第一流媒体服务器确定流媒体客户端与第一流媒体服务器的位置关系为流媒体客户端在该已知网速的流媒体服务器到第一流媒体服务器的方向上且靠近第一流媒体服务器;或者,

如果该网速差不小于第二预设阈值且不大于第一预设阈值,第一流媒体服务器确定流媒体客户端与第一流媒体服务器的位置关系为流媒体客户端在第一流媒体服务器和该已知网速的流媒体服务器之间。

第一预设阈值大于第二预设阈值,且第一预设阈值和第二预设阈值都可以根据需要进行设置并更改,在本发明实施例中,对第一预设阈值和第二预设阈值都不做具体限定。

(3):第一流媒体服务器根据该位置关系、第一流媒体服务器的位置信息和每个第二流媒体服务器的位置信息,从候选服务器列表中选择第二流媒体服务器。

第一流媒体服务器根据该位置关系、第一流媒体服务器的位置关系和每个第二流媒体服务器的位置关系,从候选服务器列表中选择离流媒体客户端近的第二流媒体服务器。

例如,流媒体客户端与第一流媒体服务器的位置关系为流媒体客户端在第一流媒体服务器到该已知网速的流媒体服务器的方向上且远离该第一流媒体服务器,则第一流媒体服务器顺着第一流媒体服务器到该已知网速的流媒体服务器的方向,从候选服务器列表中选择更外一层的一个第二流媒体服务器。

再如,流媒体客户端与第一流媒体服务器的位置关系为流媒体客户端在该已知网速的流媒体服务器到第一流媒体服务器的方向上且靠近第一流媒体服务器,则第一流媒体服务器顺着该已知网速的流媒体服务器到第一流媒体服务器的方向,从候选服务器列表中选择更内一层的一个第二流媒体服务器。

再如,流媒体客户端与第一流媒体服务器的位置关系为流媒体客户端在第一流媒体服务器和该已知网速的流媒体服务器之间,则第一流媒体服务器从候选服务器列表中选择第一流媒体服务器和该已知网速的流媒体服务器所在的同一层次的一个第二流媒体服务器。

进一步地,流媒体客户端向第一流媒体服务器发送的播放请求中还可以包括跳转次数,该跳转次数用于指示流媒体客户端播放该媒体流选择的流媒体服务器个数。第一流媒体服务器执行步骤303之前,还包括:

第一流媒体服务器确定该跳转次数达到预设次数;如果该跳转次数未达到预设次数,执行步骤303。

如果该跳转次数达到预设次数,第一流媒体服务器向流媒体客户端发送失败提示信息,该失败提示信息可以包括客服联系方式,该失败提示信息还可以包括该跳转次数。

流媒体客户端接收第一流媒体服务器发送的失败提示信息,显示该失败提示信息,从而用户可以根据客服联系方式与客服人员进行联系,由客服人员手动查证具体原因,并有针对性解决。

预设次数可以根据需要进行设置并更改,在本发明实施例中,对预设次数不作具体。例如,预设次数可以为5或6等。

步骤304:第一流媒体服务器向流媒体客户端发送第二媒体流服务器的服务器标识和第二已知网速服务器列表;

在本步骤中,第一流媒体服务器可以直接向流媒体客户端发送该第二流媒体服务器的服务器标识;也可以在该候选服务器列表中标识出该第二流媒体服务器,向流媒体客户端发送该候选服务器列表。

第一流媒体服务器在该候选服务器列表中标识出该第二流媒体服务器,向流媒体客户端发送该候选服务器列表的步骤可以为:

第一流媒体服务器可以在该候选服务器列表中为每个第二流媒体服务器设置标签,第二流媒体服务器的标签为1,指示该第二流媒体服务器是第一流媒体服务器选择的流媒体服务器;第二流媒体服务器的标签为0,指示该第二流媒体服务器不是第一流媒体服务器选择的流媒体服务器。

进一步地,第一流媒体服务器将第一流媒体服务器的服务器标识和第一网速添加到第一已知网速服务器列表中得到第二已知网速服务器列表,并向流媒体客户端发送该第二已知网速服务器列表;流媒体客户端接收第一流媒体服务器发送的第二已知网速服务器列表。

步骤305:流媒体客户端根据该第二流媒体服务器的服务器标识,向该第二流媒体服务器发送播放请求,该播放请求携带第二已知网速服务器列表;

流媒体客户端接收第一流媒体服务器发送的第二流媒体服务器的服务器标识,根据第二流媒体服务器的服务器标识,向该第二流媒体服务器发送播放请求,该播放请求携带第二已知网速服务器列表,该播放请求还可以携带该媒体流的标识,还可以携带候选服务器列表,还可以携带跳转次数。

步骤306:第二流媒体服务器接收流媒体客户端发送的播放请求,并向流媒体客户端传输该媒体流,结束。

第二流媒体服务器中也包括网络质量检测模块,第二流媒体服务器向流媒体客户端传输该媒体流的过程中,通过该网络质量检测模块,获取该媒体流的传输状况,根据该传输状况确定流媒体客户端播放该媒体流是否可能出现卡顿。

为了便于区分,将该第二流媒体服务器的网速称为第三网速,则第二流媒体服务器确定流媒体客户端播放该媒体流出现卡顿时,第二流媒体服务器根据第二流媒体服务器的第三网速和第二已知网速服务器列表中的每个已知网速的流媒体服务器的第二网速,确定流媒体客户端与第二流媒体服务器的位置关系,根据该位置关系、第二流媒体服务器的位置信息和候选服务器列表中的每个第二流媒体服务器的位置信息,从候选服务器列表中选择一个第二流媒体服务器,为了便于区分,将第二流媒体服务器从候选服务器列表中选择的第二流媒体服务器称为第四流媒体服务器,向流媒体客户端发送该第四流媒体服务器的服务器标识,直到流媒体客户端顺畅播放该媒体流或者流媒体客户端到流媒体服务器的跳转次数达到预设次数为止。

第二流媒体服务器向流媒体客户端发送该第四流媒体服务器的服务器标识时,也可以直接发送第四流媒体服务器的服务器标识,也可以将该第二流媒体服务器的服务器标识从该候选服务器列表中删除,得到更新后的候选服务器列表,向流媒体客户端发送更新后的候选服务器列表,在该更新后的候选服务器列表中标识出第四流媒体服务器的服务器标识。

第二流媒体服务器确定流媒体客户端播放该媒体流不出现卡顿时,第二流媒体服务器更新DNS中与流媒体客户端匹配的流媒体服务器。

具体地,第二流媒体服务器将DNS中与流媒体客户端匹配的流媒体服务器由第一流媒体服务器修改为第二流媒体服务器。

进一步地,流媒体客户端在切换服务器过程中还可以给用户提示,具体过程可以为:

流媒体客户端接收该第二流媒体服务器传输的该媒体流,显示切换提示信息,该切换提示信息用于提示用户在切换流媒体服务器;该切换提示信息可以包括切换计时。

进一步地,由于在该媒体流出现卡顿时,该媒体流中的音频数据是连续的,只是视频数据卡顿;因此,流媒体客户端显示提示信息的过程中,流媒体客户端还可以播放第一流媒体服务器传输的媒体流中的音频数据;在确定播放第二流媒体服务器传输的媒体流顺畅时,播放第二流媒体服务器传输的媒体流。

流媒体客户端在接收第二流媒体服务器传输的媒体流的过程中,并不断开与第一流媒体服务器之间的传输通道,在确定播放第二流媒体传输的媒体流顺畅时,才断开与第一流媒体服务器之间的传输通道。

步骤307:在流媒体客户端播放该媒体流顺畅时,第一流媒体服务器更新DNS中与流媒体客户端匹配的流媒体服务器。

如果流媒体客户端播放第一流媒体服务器传输的媒体流顺畅时,确定第一流媒体服务器为与流媒体客户端匹配的流媒体服务器,第一流媒体服务器确定DNS中与该流媒体客户端匹配的流媒体服务器是否为第一流媒体服务器;如果否,将与流媒体客户端匹配的流媒体服务器修改为第一流媒体服务器。

在本发明中,在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,第一流媒体服务器可以通过第一流媒体服务器和流媒体客户端的位置信息选择第二流媒体服务器,并将第二流媒体服务器的服务器标识发送给流媒体客户端,从而使流媒体客户端顺畅播放媒体流,避免了用户选择第二流媒体服务器存在的盲目性,提高了工作效率。

实施例4

本发明实施例提供了一种处理媒体流卡顿的装置,该装置可以应用在第一流媒体服务器中,用于执行实施例3中的处理流媒体卡顿的方法。

参见图4,该装置包括:

获取模块401,用于在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,获取第一流媒体服务器的位置信息和候选服务器列表中的每个第二流媒体服务器的位置信息,每个第二流媒体服务器中包括媒体流;

选择模块402,用于根据第一流媒体服务器的位置信息和每个第二流媒体服务器的位置信息,从候选服务器列表中选择第二流媒体服务器;

第一发送模块403,用于向流媒体客户端发送第二流媒体服务器的服务器标识,服务器标识用于流媒体客户端根据服务器标识,从第二流媒体服务器中获取媒体流。

可选的,装置还包括:

组成模块,用于将与第一流媒体服务器之间的距离在预设距离范围内的第二流媒体服务器的服务器标识组成候选服务器列表;或者,

第一接收模块,用于接收流媒体客户端发送的候选服务器列表,候选服务器列表中包括每个第二流媒体服务器的服务器标识和位置信息。

可选的,选择模块402,包括:

第一选择单元,用于根据第一流媒体服务器的位置信息和每个第二流媒体服务器的位置信息,按照预设规则,从候选服务器列表中选择第二流媒体服务器。

可选的,选择模块402,包括:

获取单元,用于检测第一流媒体服务器的第一网速,获取第一已知网速服务器列表中的每个已知网速的流媒体服务器的第二网速,每个已知网速的流媒体服务器为流媒体客户端历史接入但播放媒体流卡顿的流媒体服务器;

确定单元,用于根据第一网速与每个已知网速的流媒体服务器的第二网速,确定流媒体客户端与第一流媒体服务器的位置关系;

第二选择单元,用于根据位置关系、第一流媒体服务器的位置信息和每个第二流媒体服务器的位置信息,从候选服务器列表中选择第二流媒体服务器。

可选的,装置还包括:

第二接收模块,用于接收流媒体客户端发送的播放请求,播放请求携带第一已知网速服务器列表;

添加模块,用于将第一流媒体服务器的服务器标识和第一网速添加到第一已知网速服务器列表中得到第二已知网速服务器列表;

第二发送模块,用于向流媒体客户端发送第二已知网速服务器列表。

可选的,装置还包括:

更新模块,用于在流媒体客户端播放媒体流顺畅时,更新域名服务器DNS中与流媒体客户端匹配的流媒体服务器。

在本发明中,在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,第一流媒体服务器可以通过第一流媒体服务器和流媒体客户端的位置信息选择第二流媒体服务器,并将第二流媒体服务器的服务器标识发送给流媒体客户端,从而使流媒体客户端顺畅播放媒体流,避免了用户选择第二流媒体服务器存在的盲目性,提高了工作效率。

实施例5

本发明实施例提供了一种处理媒体流卡顿的装置,该装置可以应用在流媒体客户端中,用于执行实施例3中的处理流媒体卡顿的方法。

参见图5,该装置包括:

第三接收模块501,用于在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,接收第一流媒体服务器发送的第二流媒体服务器的服务器标识和第二已知网速服务器列表,第二已知网速服务器列表至少包括第一流媒体服务器的服务器标识和第一网速;

第三发送模块502,用于根据第二流媒体服务器的服务器标识,向第二流媒体服务器发送播放请求,播放请求用于从第二流媒体服务器中获取媒体流,且播放请求携带第二已知网速服务器列表,第二已知网络服务器列表用于第二流媒体服务器在确定流媒体客户端播放第二流媒体服务器传输的媒体流出现卡顿时,根据第二已知网络服务器列表,为流媒体客户端重新选择一个流媒体服务器。

可选的,装置还包括:

第一播放模块,用于在流媒体客户端播放媒体流出现卡顿时,播放第一流媒体服务器传输的媒体流中的音频数据;

第二播放模块,用于在确定播放第二流媒体服务器传输的媒体流顺畅时,播放第二流媒体服务器传输的媒体流。

在本发明中,在流媒体客户端播放第一流媒体服务器传输的媒体流出现卡顿时,第一流媒体服务器可以通过第一流媒体服务器和流媒体客户端的位置信息选择第二流媒体服务器,并将第二流媒体服务器的服务器标识发送给流媒体客户端,从而使流媒体客户端顺畅播放媒体流,避免了用户选择第二流媒体服务器存在的盲目性,提高了工作效率。

需要说明的是:上述实施例提供的一种处理媒体流卡顿的装置在处理媒体流卡顿时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种处理媒体流卡顿的装置与一种处理媒体流卡顿的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1