本发明专利技术涉及一种直播流传输方法和装置,该方法包括:获取客户端当前状态;基于所获取的客户端当前状态,统计处于卡顿状态的客户端数占客户端总数的比率;在所述比率超过第一阈值的情况下,获取直播流当前码率;以及在当前码率高于预定的码率阈值情况下,通知客户端调整传输策略以提高传输能力,并提高客户端从内容分发网络CDN服务器获取的直播流数据相对于以点对点数据传输P2P模式获取的直播流数据的比例。本发明专利技术各实施例根据直播流码率和客户端状态调整客户端传输策略,在节省服务器和带宽资源的同时保证了直播流畅度。
【技术实现步骤摘要】
本专利技术涉及互联网视频
,尤其涉及一种直播流传输方法和装置。
技术介绍
当前各大视频网站都在大力发展直播,业务范围非常广泛,用户需求也更加多样化。直播系统中用户观看体验是最为关键的因素,而“流畅率”则是衡量用户观看体验的重要指标。流畅率表征播放的流畅度,其根据应用场景不同可有不同的定义。例如,流畅率一般可以指所关注的播放总时长T减去期间发生卡顿(即播放停滞)的总时长Td所得的差与总时长T的比值。不同于点播业务,由于具备极高的实时性和短时效,直播业务通常“会且只会”出现短时间请求骤增的情况,造成内容分发网络(CDN)服务器超负载而无法及时响应,使得客户端播放出现“卡顿”现象,导致流畅率下降。目前解决该问题有几种方案。一种是为CDN扩容,加大带宽以保证质量。然而这种方案将闲置大量的服务器和带宽资源。例如直播系统中最高在线人数峰值可为平时最高在线人数的数百倍。然而出现峰值的概率较低,使用该方案却需为直播系统持续提供满足峰值的服务器和带宽。对于带宽成本占比较高的视频网站而言,这种方案所带来的冗余量过大的服务器和带宽同样难以承担。另一种方案是使用点对点数据传输(即P2P)算法来减轻CDN负载,节省带宽。P2P算法,就是在观看该直播节目的客户端中,选择具有一定上传能力的客户端L1(数据提供方,或称为上传方),为其他客户端L2(数据接收方,或称为下载方)传送数据,从而使大量客户端L2减少向CDN请求数据,降低CDN负载及带宽压力。换言之,传统CDN模式中,所有客户端都直接从CDN节点获取直播数据,而这种方案采用“CDN+P2P”模式,根据传输算法的不同,客户端L2有一定比例的数据来自客户端L1,如图1所示。这种“CDN+P2P”模式具体来说,就是先对直播流码率进行判断,在码率较低的情况下(例如标清直播流,码率约400~600bps),采用P2P模式(即客户端L2有一定比例的数据来自客户端L1),对于码率较高的情况下(例如高清或超清直播流,码率约1000bps以上),采用全CDN模式,如图2所示。上述方案在码率相对较低的标清直播下利用P2P算法可节省约80%的服务器和带宽成本(即有总量约80%的直播流在终端之间互相传输),并有效提高了流畅率。然而,由于P2P算法针对高码率直播流不仅节省带宽成本较少,反而导致流畅率急剧下降,因此在高码率直播场景中只能放弃使用P2P模式,而采用CDN模式。因此,在高清直播频次增加或在线人数急剧增长时,这种方案仍然会选择几乎全部从CDN下载数据,原有直播系统出现较为严重的带宽负荷过高、CDN无法响应等问题,同样影响用户正常观看。此外,当某一场直播同时存在多种清晰度的流,或同一直播流因需要必须实时调整码率时,支持单一低码率的P2P算法就更加无法使用,因此这种方案已逐步无法适用于码率多样化的直播业务需求。
技术实现思路
有鉴于此,本专利技术提出了一种直播流传输方法和装置,其根据直播流码率和客户端状态调整客户端传输策略,在节省服务器和带宽资源的同时保证了直播流畅度,克服了现有技术中的上述问题。一方面,提出了一种直播流传输方法,该方法包括:获取客户端当前状态;基于所获取的客户端当前状态,统计处于卡顿状态的客户端数占客户端总数的比率;在所述比率超过第一阈值的情况下,获取直播流当前码率;以及在当前码率高于预定的码率阈值情况下,通知客户端调整传输策略以提高传输能力,并提高客户端从内容分发网络CDN服务器获取的直播流数据相对于以点对点数据传输P2P模式获取的直播流数据的比例。在一个示例中,该方法还包括:在所述比率超过第二阈值且低于第一阈值的情况下,重新选择传输能力相对于其他客户端更强的客户端作为点对点数据传输中的数据提供方。在一个示例中,该方法还包括:在所述比率超过第二阈值且低于第一阈值的情况下,为状态为卡顿的客户端分配更多的作为点对点数据传输P2P中的数据提供方的客户端。在一个示例中,客户端当前状态包括:P2P上传、P2P下载和卡顿其中之一。在一个示例中,所述客户端当前状态是客户端根据其当前传输方式、下载数据源、网络状况、与其他节点的连接状况及播放状况中的一个或多个来确定的。另一方面,提出了一种直播流传输方法,该方法包括:发送客户端当前状态;接收基于所获取的客户端当前状态和直播流当前码率所生成的通知;以及在所述通知指示处于卡顿状态的客户端数占客户端总数的比率超过第一阈值,且当前码率高于预定的码率阈值情况下,调整客户端传输策略以提高传输能力,并提高客户端从内容分发网络CDN服务器获取的直播流数据相对于以点对点数据传输P2P模式获取的直播流数据的比例。在一个示例中,客户端当前状态包括:P2P上传、P2P下载和卡顿其中之一。在一个示例中,所述客户端当前状态是客户端根据其当前传输方式、下载数据源、网络状况、与其他节点的连接状况及播放状况中的一个或多个来确定的。另一方面,提出了一种直播流传输装置,该装置包括:用于获取客户端当前状态的部件;用于基于所获取的客户端当前状态,统计处于卡顿状态的客户端数占客户端总数的比率的部件;用于在所述比率超过第一阈值的情况下,获取直播流当前码率的部件;以及用于在当前码率高于预定的码率阈值情况下,通知客户端调整传输策略以提高传输能力,并提高客户端从内容分发网络CDN服务器获取的直播流数据相对于以点对点数据传输P2P模式获取的直播流数据的比例的部件。在一个示例中,该装置还包括:用于在所述比率超过第二阈值且低于第一阈值的情况下,重新选择传输能力相对于其他客户端更强的客户端作为点对点数据传输中的数据提供方的部件。在一个示例中,该装置还包括:用于在所述比率超过第二阈值且低于第一阈值的情况下,为状态为卡顿的客户端分配更多的作为点对点数据传输P2P中的数据提供方的客户端的部件。在一个示例中,客户端当前状态包括:P2P上传、P2P下载和卡顿其中之一。在一个示例中,所述客户端当前状态是客户端根据其当前传输方式、下载数据源、网络状况、与其他节点的连接状况及播放状况中的一个或多个来确定的。另一方面,提出了一种直播流传输装置,该装置包括:用于发送客户端当前状态的部件;用于接收基于所获取的客户端当前状态和直播流当前码率所生成的通知的部件;以及用于在所述通知指示处于卡顿状态的客户端数占客户端总数的比率超过第一阈值,且当前码率高于预定的码率阈值情况下,调整本文档来自技高网...
【技术保护点】
一种直播流传输方法,该方法包括:获取客户端当前状态;基于所获取的客户端当前状态,统计处于卡顿状态的客户端数占客户端总数的比率;在所述比率超过第一阈值的情况下,获取直播流当前码率;以及在当前码率高于预定的码率阈值情况下,通知客户端调整传输策略以提高传输能力,并提高客户端从内容分发网络CDN服务器获取的直播流数据相对于以点对点数据传输P2P模式获取的直播流数据的比例。
【技术特征摘要】
1.一种直播流传输方法,该方法包括:
获取客户端当前状态;
基于所获取的客户端当前状态,统计处于卡顿状态的客户端数占客户端
总数的比率;
在所述比率超过第一阈值的情况下,获取直播流当前码率;以及
在当前码率高于预定的码率阈值情况下,通知客户端调整传输策略以提
高传输能力,并提高客户端从内容分发网络CDN服务器获取的直播流数据相
对于以点对点数据传输P2P模式获取的直播流数据的比例。
2.根据权利要求1所述的直播流传输方法,还包括:在所述比率超过第
二阈值且低于第一阈值的情况下,重新选择传输能力相对于其他客户端更强
的客户端作为点对点数据传输中的数据提供方。
3.根据权利要求1所述的直播流传输方法,还包括:在所述比率超过第
二阈值且低于第一阈值的情况下,为状态为卡顿的客户端分配更多的作为点
对点数据传输中的数据提供方的客户端。
4.根据权利要求1所述的直播流传输方法,其中客户端当前状态包括:
P2P上传、P2P下载和卡顿其中之一。
5.根据权利要求1所述的直播流传输方法,其中,所述客户端当前状态
是客户端根据其当前传输方式、下载数据源、网络状况、与其他节点的连接
状况及播放状况中的一个或多个来确定的。
6.一种直播流传输方法,该方法包括:
发送客户端当前状态;
接收基于所获取的客户端当前状态和直播流当前码率所生成的通知;以
及
在所述通知指示处于卡顿状态的客户端数占客户端总数的比率超过第
一阈值,且当前码率高于预定的码率阈值情况下,调整客户端传输...
【专利技术属性】
技术研发人员:潘金亚,房福志,杨敬宇,姚键,潘柏宇,王冀,
申请(专利权)人:合一网络技术北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。