一种ABS算法评估方法及装置与流程

文档序号:18407456发布日期:2019-08-10 00:32阅读:241来源:国知局
一种ABS算法评估方法及装置与流程

本发明涉及视频技术领域,特别是涉及一种abs算法评估方法及装置。



背景技术:

随着网络技术的发展,越来越多的用户喜欢通过网络观看视频,并且随着网络中视频内容的数量和质量的不断提升,用户对互联网视频的观看体验的要求也越来越高。视频播放的清晰度和流畅度是影响观看体验最重要的两个因素,一般来说,一个视频的码率越高,其播放的清晰度就越高,但码率过高的视频,播放时往往越容易发生卡顿,从而降低了视频播放的流畅度。

为了能够平衡视频播放时的清晰度和流畅度,对于同一个播放内容,视频服务提供商在提供视频服务时,往往提供了多个固定码率的视频供用户进行选择。在观看视频时,用户可以根据自己的观看体验,手动选择合适码率的视频进行观看。用户在观看视频时,觉得视频的清晰度达不到要求,可以手动选择码率更高的视频,当视频播放过程中,频繁发生卡顿时,用户可以手动选择降低码率观看视频,确保观看视频的流畅度。

通过用户手动选择播放视频的码率,虽然可以平衡视频播放时的清晰度和流畅度,但是用户频繁的手动选择码率,可能在一定程度上影响用户的观看体验。为此,现多采用abs(adaptivebitratestreaming,自适应比特率流)技术使播放器自动选择适合当前播放环境的码率,其实现的方式是在播放器中内置的abs算法,abs算法依据播放器实际的播放环境确定适合当前播放环境的码率,从而避免了用户频繁的手动选择码率。

为了能够对abs算法不断地进行优化,从而提高abs算法的算法效果,通常需要对abs算法的算法效果进行评估,评估一个abs算法的算法效果时,需要将测试区域内的播放器升级至包括待评估abs算法的播放器,再收集测试区域内播放器的视频播放数据,通过对播放数据的分析,得到abs算法的评估结果,当abs算法的评估结果达不到要求,需要对abs算法进行调整时,例如,需要对abs算法进行优化,则需要再一次的将播放器升级至包含升级后的abs算法的播放器。

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

将abs算法内置到播放器的方法,在对abs算法进行评估和调整时,需要升级播放器,时间周期长。



技术实现要素:

本发明实施例的目的在于提供一种abs算法评估方法及装置,以缩短abs算法的评估和调整的时间周期。具体技术方案如下:

本发明实施例提供一种abs算法评估方法,包括:

针对待评估abs算法,获取来自多个客户端的播放体验数据,所述播放体验数据为所述客户端按照目标码率进行视频播放时的播放体验数据,所述目标码率为基于来自所述客户端的视频播放参数,采用所述待评估abs算法确定的码率,所述视频播放参数为所述客户端按照采用所述目标码率之前的码率进行视频播放时的视频播放参数,所述播放体验数据表示视频的播放效果;

基于获取的来自所述多个客户端的所述播放体验数据,计算所述待评估abs算法的播放体验指标;

将所述播放体验指标与标尺指标进行对比,得到所述待评估abs算法的评估结果,其中,所述标尺指标为按照预设码率进行视频播放时所计算得到的播放体验指标。

进一步的,所述播放体验数据包括码率和卡顿次数,所述播放体验指标包括:清晰度指标和流畅度指标;

所述基于获取的来自所述多个客户端的所述播放体验数据,计算所述待评估abs算法的播放体验指标,包括:

将来自所述多个客户端的所述播放体验数据中的码率相加,得到所述待评估abs算法的清晰度指标;

将来自所述多个客户端的所述播放体验数据中的卡顿次数相加,得到所述待评估abs算法的流畅度指标。

进一步的,所述标尺指标包括:清晰度标尺指标和流畅度标尺指标,其中,所述清晰度标尺指标为按照预设码率进行视频播放时所计算得到的清晰度指标,所述流畅度标尺指标为按照预设码率进行视频播放时所计算得到的流畅度指标;

所述预设码率包括被播放的视频的原始码率、最大码率和最小码率;

所述将所述播放体验指标与标尺指标进行对比,得到所述待评估abs算法的评估结果,包括:

判断所述待评估abs算法的清晰度指标是否处于最小码率的清晰度标尺指标与最大码率的清晰度标尺指标之间,以及所述待评估abs算法的流畅度指标是否处于最小码率的流畅度标尺指标与最大码率的流畅度标尺指标之间;

如果均是,确定所述待评估abs算法为合理abs算法。

进一步的,所述播放体验指标还包括:综合评价指标;

所述标尺指标还包括:综合评价标尺指标,其中,所述综合评价标尺指标为所述清晰度标尺指标和所述流畅度标尺指标进行加权求和得到的;

所述方法还包括:

根据所述待评估abs算法的清晰度指标和流畅度指标各自的权重,计算所述待评估abs算法的清晰度指标和流畅度指标的加权和,作为所述待评估abs算法的综合评价指标;

当所述待评估abs算法为合理abs算法时,判断所述待评估abs算法的综合评价指标是否大于所述原始码率的综合评价标尺指标;

若是,确定所述待评估abs算法为合格abs算法。

本发明实施例还提供一种码率确定方法,应用于客户端,包括:

收集按照当前码率进行视频播放时的视频播放参数;

将所述视频播放参数发送至服务器;

接收所述服务器发送的目标码率,所述目标码率为基于所述视频播放参数,采用为所述客户端分配的abs算法确定的所述客户端需要采用的码率;

按照接收的所述目标码率,进行视频播放;

收集按照所述目标码率进行视频播放时的播放体验数据,所述播放体验数据表示视频的播放效果;

将所述播放体验数据发送至所述服务器,所述播放体验数据用于对所述abs算法进行评估。

本发明实施例还提供一种码率确定方法,应用于服务器,包括:

接收客户端发送的视频播放参数,所述视频播放参数为所述客户端按照当前码率进行视频播放时的视频播放参数;

为所述客户端分配abs算法;

基于所述视频播放参数,采用分配的所述abs算法,确定所述客户端需要采用的码率,作为目标码率;

向所述客户端发送所述目标码率;

接收所述客户端发送的播放体验数据,所述播放体验数据为所述客户端按照所述目标码率进行视频播放时的播放体验数据,表示视频的播放效果,用于对所述abs算法进行评估。

本发明实施例还提供一种abs算法评估装置,所述装置包括:

数据获取模块,用于针对待评估abs算法,获取来自多个客户端的播放体验数据,所述播放体验数据为所述客户端按照目标码率进行视频播放时的播放体验数据,所述目标码率为基于来自所述客户端的视频播放参数,采用所述待评估abs算法确定的码率,所述视频播放参数为所述客户端按照采用所述目标码率之前的码率进行视频播放时的视频播放参数,所述播放体验数据表示视频的播放效果;

指标计算模块,用于基于获取的来自所述多个客户端的所述播放体验数据,计算所述待评估abs算法的播放体验指标;

指标对比模块,用于将所述播放体验指标与标尺指标进行对比,得到所述待评估abs算法的评估结果,其中,所述标尺指标为按照预设码率进行视频播放时所计算得到的播放体验指标。

进一步的,所述播放体验数据包括码率和卡顿次数,所述播放体验指标包括:清晰度指标和流畅度指标;

所述指标计算模块,具体用于将来自所述多个客户端的所述播放体验数据中的码率相加,得到所述待评估abs算法的清晰度指标,并且将来自所述多个客户端的所述播放体验数据中的卡顿次数相加,得到所述待评估abs算法的流畅度指标。

进一步的,所述标尺指标包括:清晰度标尺指标和流畅度标尺指标,其中,所述清晰度标尺指标为按照预设码率进行视频播放时所计算得到的清晰度指标,所述流畅度标尺指标为按照预设码率进行视频播放时所计算得到的流畅度指标;所述预设码率包括被播放的视频的原始码率、最大码率和最小码率;

所述指标对比模块,具体用于判断所述待评估abs算法的清晰度指标是否处于最小码率的清晰度标尺指标与最大码率的清晰度标尺指标之间,以及所述待评估abs算法的流畅度指标是否处于最小码率的流畅度标尺指标与最大码率的流畅度标尺指标之间,并且如果均是,确定所述待评估abs算法为合理abs算法。

进一步的,所述播放体验指标还包括:综合评价指标;所述标尺指标还包括:综合评价标尺指标,其中,所述综合评价标尺指标为所述清晰度标尺指标和所述流畅度标尺指标进行加权求和得到的;

所述指标对比模块,具体用于根据所述待评估abs算法的清晰度指标和流畅度指标各自的权重,计算所述待评估abs算法的清晰度指标和流畅度指标的加权和,作为所述待评估abs算法的综合评价指标,并且当所述待评估abs算法为合理abs算法时,判断所述待评估abs算法的综合评价指标是否大于所述原始码率的综合评价标尺指标,以及若是,确定所述待评估abs算法为合格abs算法。

本发明实施例还提供一种abs算法评估系统,包括:客户端,服务器;

所述客户端,用于收集按照当前码率进行视频播放时的视频播放参数,并且将所述视频播放参数发送至所述服务器;

所述服务器,用于接收所述客户端发送的所述视频播放参数,并根据预设的分配策略,为所述客户端分配abs算法,并且基于所述视频播放参数,采用分配的所述abs算法,确定所述客户端需要采用的码率,作为目标码率,以及向所述客户端发送所述目标码率;

所述客户端,还用于接收所述服务器发送的所述目标码率,并且按照接收的所述目标码率,进行视频播放,以及收集按照所述目标码率进行视频播放时的播放体验数据,所述播放体验数据表示视频的播放效果,以及将所述播放体验数据发送至所述服务器;

所述服务器,还用于接收所述客户端发送的所述播放体验数据,并且根据所述播放体验数据,对所述abs算法进行评估。

本发明实施例还提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一abs算法评估方法的步骤。

本发明实施还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一abs算法评估方法的步骤。

本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一abs算法评估方法。

本发明实施例提供的一种abs算法评估方法及装置,方案中,针对待评估abs算法,获取来自多个客户端的播放体验数据,播放体验数据为客户端按照目标码率进行视频播放时的播放体验数据,目标码率为基于来自客户端的视频播放参数,采用待评估abs算法确定的码率,视频播放参数为客户端按照采用目标码率之前的码率进行视频播放时的视频播放参数,播放体验数据表示视频的播放效果,并且基于获取的来自多个客户端的播放体验数据,计算待评估abs算法的播放体验指标,以及将播放体验指标与标尺指标进行对比,得到待评估abs算法的评估结果,其中,标尺指标为按照预设码率进行视频播放时所计算得到的播放体验指标,通过服务器为客户端提供abs算法,当需要对abs算法进行评估时,可以通过给当前请求abs算法服务的客户端分配待评估abs算法,从而可以实时的获取待评估abs算法的播放体验数据,减少了现有技术中升级客户端的时间,并且,根据评估结果,当需要对待评估abs算法进行调整时,也不需要对客户端进行升级,可以在服务器中对待评估abs算法进行调整即可,减少了abs算法的评估和调整的时间周期。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明一个实施例提供的abs算法评估方法的流程图;

图2为本发明一个实施例提供的应用于客户端的码率确定方法的流程图;

图3为本发明一个实施例提供的应用于服务器的码率确定方法的流程图;

图4为本发明一个实施例提供的abs算法评估装置的结构示意图;

图5为本发明一个实施例提供的abs算法评估系统的结构示意图;

图6为本发明实施例提供的电子设备的结构示意图;

图7为本发明实施例提供一种码率确定原理的示意图。

具体实施方式

为了给出缩短abs算法评估和调整的时间周期的实现方案,本发明实施例提供了一种abs算法评估方法及装置,以下结合说明书附图对本发明的实施例进行说明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

在本发明的一个实施例中,提供一种abs算法评估方法,如图1所示,该方法包括以下步骤:

s101:针对待评估abs算法,获取来自多个客户端的播放体验数据,播放体验数据为客户端按照目标码率进行视频播放时的播放体验数据,目标码率为基于来自客户端的视频播放参数,采用待评估abs算法确定的码率,视频播放参数为客户端按照采用目标码率之前的码率进行视频播放时的视频播放参数,播放体验数据表示视频的播放效果。

本步骤中,执行主体可以为服务器,为了能够对abs算法不断地进行优化,提高abs算法的算法效果,需要对abs算法的算法效果进行评估,针对待评估abs算法,可以获取来自多个客户端的播放体验数据,在一个实施例中,为了便于确定每一种abs算法对应的客户端,可以先与预设区域内的客户端建立连接,获取每台客户端发送的播放体验数据和算法标识,针对待评价abs算法,可以先确定对应待评价abs算法的算法标识,确定哪些客户端是和待评估abs算法对应的客户端。

在一个实施例中,上述播放体验数据可以为每个客户端按照目标码率进行视频播放时的播放体验数据,其中目标码率为基于来自客户端的视频播放参数,采用待评估abs算法确定的码率,视频播放参数为客户端按照采用目标码率之前的码率进行视频播放时的视频播放参数,播放体验数据表示视频的播放效果。

在一个实施例中,多个客户端可以是预设属性相同的客户端,例如多个客户端是拥有同一操作系统的客户端,例如,多个客户端是拥有安卓操作系统的客户端,或者也可是在同一地区内使用同一网络服务商提供服务的客户端。

s102:基于获取的来自多个客户端的播放体验数据,计算待评估abs算法的播放体验指标。

本步骤中,可以基于获取的来自多个客户端的播放体验数据,计算待评估abs算法的播放体验指标,为了更加全面的对待评估算法进行评估,在一个实施例中,播放体验数据可以是预设时间内的获取的,并且播放体验数据可以包括码率和卡顿次数,对应的播放体验指标可以包括:清晰度指标和流畅度指标,在一个实施例中待评估abs算法的清晰度指标可以是将来自多个客户端的播放体验数据中的码率相加得到的,待评估abs算法的流畅度指标可以是将来自多个客户端的播放体验数据中的卡顿次数相加得到的。例如,步骤s101获取得到了两台客户端的播放体验数据,具体为客户端1和客户端2,对于客户端1:码率1=1mbit/s,卡顿次数1=2;对于客户端2:码率1=2mbit/s,卡顿次数1=5。那么对于该待评估abs算法来说,其清晰度指标=1mbit/s+2mbit/s=3mbit/s,在一个实施例中,可以统一单位,从而可以略去单位,即清晰度指标=1+2=3,流畅度指标=2+5=7。

s103:将播放体验指标与标尺指标进行对比,得到待评估abs算法的评估结果,其中,标尺指标为按照预设码率进行视频播放时所计算得到的播放体验指标。

本步骤中,可以将播放体验指标与标尺指标进行对比,得到待评估abs算法的评估结果,在一个实施例中,标尺指标可以为按照预设码率进行视频播放时所计算得到的播放体验指标。在一个实施例中标尺指标包括:清晰度标尺指标和流畅度标尺指标,其中,清晰度标尺指标为按照预设码率进行视频播放时所计算得到的清晰度指标,流畅度标尺指标为按照预设码率进行视频播放时所计算得到的流畅度指标。

为了全面、准确的对待评估的abs算法进行评估,预设码率可以包括多个码率,在一个实施例中,预设码率可以包括被播放的视频的原始码率、最大码率和最小码率,本领域的技术人员可以理解的是,对于任意一个abs算法来说,通过该abs算法确定码率进行视频播放时的清晰度不应大于最大码率,且不应小于最小码率,流畅度不应小于最大码率,且不应大于最小码率。基于此,可以通过判断待评估abs算法的清晰度指标是否处于最小码率的清晰度标尺指标与最大码率的清晰度标尺指标之间,以及待评估abs算法的流畅度指标是否处于最小码率的流畅度标尺指标与最大码率的流畅度标尺指标之间的方法来判断待评估abs算法的合理性,在一个实施例中,当待评估abs算法的清晰度指标处于最小码率的清晰度标尺指标与最大码率的清晰度标尺指标之间,且待评估abs算法的流畅度指标也处于最小码率的流畅度标尺指标与最大码率的流畅度标尺指标之间,则可以确定待评估abs算法为合理abs算法,当待评估abs算法的清晰度指标没有处于最小码率的清晰度标尺指标与最大码率的清晰度标尺指标之间,或待评估abs算法的流畅度指标没有处于最小码率的流畅度标尺指标与最大码率的流畅度标尺指标之间,则可以判断待评估abs算法为不合理abs算法。

为了进一步的对合理abs算法进行评估,在一个实施例中,播放体验指标还可以包括综合评价指标,其中待评估abs算法的综合评价指标为待评估abs算法的清晰度指标和流畅度指标根据各自的权重,计算清晰度指标和流畅度指标的加权和得到的,在一个实施例中,还可以包括其他参数的加权。对应的标尺指标还可以包括综合评价标尺指标,其中,综合评价标尺指标为清晰度标尺指标和流畅度标尺指标进行加权求和得到的,在判断待评估abs算法为合理abs算法的基础上,可以继续判断待评估abs算法的综合评价指标是否大于原始码率的综合评价标尺指标,若是,则确定待评估abs算法为合格abs算法。若待评估abs算法的综合评价指标是否不大于原始码率的综合评价标尺指标,则可以判断待评估abs算法为不合格abs算法,可能需要进一步进行调整。

在一个实施例中,还有多个abs算法进行对比,确定多个abs算法中,算法效果最优的abs算法,例如,可以将确每个abs算法对应的综合评价指标,对比每个abs算法对应的综合评价指标,按照综合评价指标从大到小对对应的多个abs算法进行排名,综合评价指标越高,对应的排名越高,代表对应的abs算法的算法效果最好。

本发明实施例提供的上述图1所示的abs算法评估方法中,可以针对待评估abs算法,获取来自多个客户端的播放体验数据,播放体验数据为客户端按照目标码率进行视频播放时的播放体验数据,目标码率为基于来自客户端的视频播放参数,采用待评估abs算法确定的码率,视频播放参数为客户端按照采用目标码率之前的码率进行视频播放时的视频播放参数,播放体验数据表示视频的播放效果,并且基于获取的来自多个客户端的播放体验数据,计算待评估abs算法的播放体验指标,以及将播放体验指标与标尺指标进行对比,得到待评估abs算法的评估结果,其中,标尺指标为按照预设码率进行视频播放时所计算得到的播放体验指标。通过服务器为客户端提供abs算法服务,当需要对abs算法进行评估时,可以实时的获取待评估算法的播放体验数据,从而保证评估结果不存在延迟,保证其时效性。

在本发明的一个实施例中,还提供一种应用于客户端的码率确定方法,如图2所示,该方法包括以下步骤:

s201:收集按照当前码率进行视频播放时的视频播放参数。

本步骤中,可以收集按照当前码率进行视频播放时的视频播放参数,在一个实施例中,当前码率可以是进行播放视频的原始码率,也可以是客户端设置的默认码率,还可以是前一次根据abs算法确定的视频播放码率,在一个实施例中,视频播放参数可以包括客户端播放视频时的以下参数:下载速度或客户端当前的带宽大小,视频缓存的大小、客户端当前播放视频的码率以及播放视频的分片大小等参数,在一个实施例中,视频播放参数还可以包括客户端的硬件信息和标识信息。

在一个实施例中,客户端可以按照周期时间,周期性地收集上述视频播放参数,也可以是在接收到收集视频播放参数的指令后开始收集当前码率进行视频播放时的视频播放参数,在一个实施例中,开始收集视频播放参数的命指令可以是其他设备发送的触发信息,也可是由用户控制的触发信息,在一个实施例中,当接收到开启abs服务的触发操作时,客户端开始收集当前码率进行视频播放时的视频播放参数,其中触发操作可以是预设的各种类型的信息,例如:可以是预设的开启abs服务的双击操作,也可以是预设的按键、鼠标点击等外部硬件的输入信息,还可以是预设的和开启abs服务有关的生物识别信号,例如,指纹信号、面部识别信号、肢体动作信号等。

s202:将视频播放参数发送至服务器。

本步骤中,客户端可以向服务器发送通过步骤s201收集的视频播放参数,其发送方式可以是多样的,在一个实施例中,客户端可以通过websock与服务器建立连接,并发送收集的视频播放参数。

在一个实施例中,视频播放参数可以为客户端的带宽大小,例如,带宽为2mbit/s,则将服务器的带宽=2mbit/s作为视频播放参数发送给服务器。

相应的,服务器在接收到客户端发送的视频播放参数后,会为客户端分配的一abs算法,基于视频播放参数,通过分配的abs算法确定客户端需要采用的码率,并且服务器会可以回复客户端确定的目标码率,具体技术细节后续会详细描述,再次不在赘述。

s203:接收服务器发送的目标码率,目标码率为基于视频播放参数,采用为客户端分配的abs算法确定的客户端需要采用的码率。

本步骤中,可以接收服务器发送的目标码率,在一个实施例中,目标码率可以为基于视频播放参数,采用为客户端分配的abs算法确定的客户端需要采用的码率,在一个实施例中,当视频播放参数为客户端的带宽大小时,例如客户端带宽=2mbit/s,通过服务器分配的abs算法确定客户端需要采用的目标码率为1mbit/s,服务器将目标码率发送给客户端,客户端接收到的目标码率为1mbit/s。在一个实施例中,在接收服务器发送的目标码率的同时,还可以接收服务器发送的通过服务器分配的abs算法的算法标识。

s204:按照接收的目标码率,进行视频播放。

本步骤中,可以按照接收到的服务器发送的目标码率进行视频播放,在一个实施例中,当目标码率为1mbit/s时,客户端可以按照1mbit/s的速度从提供视频服务的服务器中下载需要播放的视频,并进行播放。

s205:收集按照目标码率进行视频播放时的播放体验数据,播放体验数据表示视频的播放效果。

本步骤中,在客户端按照目标码率进行视频播放的过程中,客户端可以收集进行视频播放时的播放体验数据,其中,视频体验数据表示视频的播放效果,本领域技术人员可以理解的,一个视频的播放效果可以从清晰度和流畅度两方面考虑,在一个实施例中,播放体验数据可以是预设时间内客户端按照目标码率进行视频播放的过程中发生的卡顿次数,或卡顿时长,还可以是客户端按照目标码率进行视频播放的过程中的目标码率。在一个实施例中,播放体验数据既可以包括和流畅度有关的卡顿次数,也可以包括和清晰度有关的目标码率,在一个实施例中,播放体验数据还可以是缓存大小其他参数等。

s206:将播放体验数据发送至服务器,播放体验数据用于对abs算法进行评估。

本步骤中,客户端可以向服务器发送通过步骤s205收集的播放体验数据,其发送方式可以是多样的,在一个实施例中,客户端可以通过websock与服务器建立连接,并发送收集的播放体验数据。其中,客户端发送的播放体验数据可以用于对abs算法进行评估。

本发明实施例提供的上述如图2所示的码率确定方法中,通过收集按照当前码率进行视频播放时的视频播放参数,并且将视频播放参数发送至服务器,以及接收服务器发送的目标码率,目标码率为基于视频播放参数,采用为客户端分配的abs算法确定的客户端需要采用的码率,以及按照接收的目标码率,进行视频播放,以及收集按照目标码率进行视频播放时的播放体验数据,播放体验数据表示视频的播放效果,以及将播放体验数据发送至服务器,播放体验数据用于对abs算法进行评估,由于客户端是通过服务器中的abs算法确定目标码率,当需要对abs算法进行调整时,不需要对每一个播放器内置的abs算法都进行调整,只需要对服务器中的abs算法进行调整即可,缩短abs算法调整的时间周期。

在本发明的一个实施例中,还提供一种应用于服务器的码率确定方法,如图3所示,该方法包括以下步骤:

s301:接收客户端发送的视频播放参数,视频播放参数为客户端按照当前码率进行视频播放时的视频播放参数。

本步骤中,服务器可以接收步骤s202客户端发送的视频播放参数,其中服务器和客户端之间的数据传输方式可以是多样的,在一个实施例中,服务器可以通过websock接收客户端发送的视频播放参数。在一个实施例中,视频播放参数为客户端按照当前码率进行视频播放时的视频播放参数,在一个实施例中,当前码率可以是进行播放视频的原始码率,也可以是客户端设置的默认码率,还可以是前一次根据abs算法确定的视频播放码率,在一个实施例中,视频播放参数可以包括客户端按照当前码率播放视频时的收集的以下参数:下载速度或客户端当前的带宽大小,视频缓存的大小、客户端当前播放视频的码率以及播放视频的分片大小等参数,在一个实施例中,视频播放参数还可以包括客户端的硬件信息和标识信息。

在一个实施例中,视频播放参数为客户端的带宽大小,例如,带宽为2mbit/s,则服务器接收到客户端发送的视频播放参数为:带宽=2mbit/s。

s302:为客户端分配abs算法。

本步骤中,可以存在多种abs算法,当服务器接收到客户端发送的视频播放数据后,可以从多种abs算法中为客户单端分配一种abs算法,在在一个实施例中,可以按照预先设置的abs算法调度策略,为客户端分配abs算法,其中abs算法调度策略可以根据需求灵活的设定。

在一个实施例中,可以是根据客户端当前所处的地理位置为客户端分配abs算法,也可以根据当前客户端的带宽服务商来为客户端分配abs算法,还可以根据客户端的设备标识来为客户端奉陪abs算法,本领域的技术人员应该理解的是,当服务器需要依据某一信息为客户端分配abs算法时,那么也就意味着,在服务器接收到客户端发送的视频播放数据中就包含该信息,例如,当服务器需要依据客户端当前所处的地理位置为客户端分配abs算法时,那么也就意味着,在服务器接收到客户端发送的视频播放数据中就应该包含该客户端当前所处地理位置的信息。

在一个实施例中,为客户端分配的abs算法可以是由专门的abs算法服务提供,此时,服务器为客户端分配的abs算法相当于为客户端分配abs算法服务器,在一个实施例中,为了更好的实现客户端和abs算法服务器之间的匹配,在服务器中,可以存储用多种abs算法服务器对应的哈希值,本领域的技术人员应当理解,每一种abs算法服务器的哈希值和该种abs算法服务器之间是唯一对应的关系,当确定哈希值时,即可依据哈希值确定对应的abs算法服务器,在一个实施例中,为了在后期对abs算法进行评价时,在一定程度上保证各abs算法之间的公平性,在服务器为客户端分配abs算法服务器时,可以依据每种abs算法服务器提供abs算法服务次数的多少,确定为客户端分配的abs算法服务器。

s303:基于视频播放参数,采用分配的abs算法,确定客户端需要采用的码率,作为目标码率。

本步骤中,可以基于视频播放参数,采用分配的abs算法,确定客户端需要采用的码率,作为目标码率,对于每一种abs算法来说,不同的视频播放参数,确定的客户端需要采用的码率也不相同。在一个实施例中,当视频播放参数为:带宽=2mbit/s,通过abs算法确定的客户端需要采用的码率为:目标码率=1mbit/s。

s304:向客户端发送目标码率。

本步骤中,服务器可以向客户端发送目标码率,其中服务器和客户端之间的数据传输方式可以是多样的,在一个实施例中,服务器可以通过websock与客户端建立连接,并且通过websock向客户端发送的码率。例如,向客户端发送目标码率为1mbit/s的码率,在一个实施例中,在向客户端发送目标码率的同时,还可以向客户端发送分配的abs算法的算法标识。

s305:接收客户端发送的播放体验数据,播放体验数据为客户端按照目标码率进行视频播放时的播放体验数据,表示视频的播放效果,用于对abs算法进行评估。

本步骤中,当客户端按照目标码率进行视频播放的过程中,客户端可以收集进行视频播放时的播放体验数据,其中,视频体验数据表示视频的播放效果,本领域技术人员所知的,一个视频的播放效果可以从清晰度和流畅度两方面去考量,在一个实施例中,播放体验数据可以是预设时间内客户端按照目标码率进行视频播放的过程中发生的卡顿次数,或卡顿时长,还可以是客户端按照目标码率进行视频播放的过程中的目标码率。在一个实施例中,播放体验数据既可以包括和流畅度有关的卡顿次数,也可以包括和清晰度有关的目标码率,在一个实施例中,播放体验数据还可以是缓存大小等。在一个实施例中,服务器可以通过websock接收客户端发送的播放体验数据。在一个实施例中,服务器可以通过接收到客户端发送的播放体验数据,可以按照图1所示的实施例对abs算法进行评估。

本发明实施例提供的上述图3所示应用于服务器的码率确定方法中,通过接收客户端发送的视频播放参数,视频播放参数为客户端按照当前码率进行视频播放时的视频播放参数,并且为客户端分配abs算法,以及基于视频播放参数,采用分配的abs算法,确定客户端需要采用的码率,作为目标码率,以及向客户端发送目标码率,以及接收客户端发送的播放体验数据,播放体验数据为客户端按照目标码率进行视频播放时的播放体验数据,表示视频的播放效果,用于对abs算法进行评估。可以通过服务器中的abs算法为客户端是确定目标码率,当需要对abs算法进行调整时,不需要对每一个播放器内置的abs算法都进行调整,只需要对服务器中的abs算法进行调整即可,缩短abs算法调整的时间周期。

在一个实施例中,如图7所示,图7为本发明实施例提供的上述如图2所示的应用于客户端的码率确定方法和如图3所示的应用于服务器的码率确定方法在实际应用中的原理示意图,包括:客户端、算法分配服务器和算法评估服务器,在一个实施例中,算法评估服务器和算法分配服务器可以是同一个服务器,实现步骤包括:客户端收集按照当前码率进行视频播放时的视频播放参数后,执行步骤701:发送视频播放参数;算法分配服务器可以在接收到客户端发送的视频播放参数后,根据预设的分配策略,为客户端分配abs算法,并在基于视频播放参数,采用分配的abs算法,确定客户端需要采用的码率,作为目标码率之后,执行步骤702,发送根据预设的分配策略分配的目标abs算法;客户端在接收算法分配服务器发送的目标码率后,可以按照目标码率,进行视频播放,与此同时收集按照目标码率进行视频播放时的播放体验数据,并执行步骤703,发送播放体验数据;算法评估服务器在接收客户端发送的播放体验数据后,可以结合该客户端发送的播放体验数据以及其他客户端发送的播放体验数据,对abs算法进行评估,根据评估结果,可以对算法分配服务器执行步骤704,调整abs算法。本领域的技术人员可以理解的是,本发明实施例中的调整abs算法可以是按照预设的调整逻辑进行调整,也可以是技术人员根据评估结果对算法分配服务器中的各abs算法进行调整,上述的调整可以包括:删除、改进、更换等操作。

基于同一发明构思,根据本发明实施例提供的abs算法评估方法,本发明实施例还提供了一种abs算法评估装置,如图4所示,该装置包括:

数据获取模块401,用于针对待评估abs算法,获取来自多个客户端的播放体验数据,播放体验数据为客户端按照目标码率进行视频播放时的播放体验数据,目标码率为基于来自客户端的视频播放参数,采用待评估abs算法确定的码率,视频播放参数为客户端按照采用目标码率之前的码率进行视频播放时的视频播放参数,播放体验数据表示视频的播放效果;

指标计算模块402,用于基于获取的来自多个客户端的播放体验数据,计算待评估abs算法的播放体验指标;

指标对比模块403,用于将播放体验指标与标尺指标进行对比,得到待评估abs算法的评估结果,其中,标尺指标为按照预设码率进行视频播放时所计算得到的播放体验指标。

进一步的,播放体验数据包括码率和卡顿次数,播放体验指标包括:清晰度指标和流畅度指标;

指标计算模块402,具体用于将来自多个客户端的播放体验数据中的码率相加,得到待评估abs算法的清晰度指标,并且将来自多个客户端的播放体验数据中的卡顿次数相加,得到待评估abs算法的流畅度指标。

进一步的,标尺指标包括:清晰度标尺指标和流畅度标尺指标,其中,清晰度标尺指标为按照预设码率进行视频播放时所计算得到的清晰度指标,流畅度标尺指标为按照预设码率进行视频播放时所计算得到的流畅度指标;预设码率包括被播放的视频的原始码率、最大码率和最小码率;

指标对比模块403,具体用于判断待评估abs算法的清晰度指标是否处于最小码率的清晰度标尺指标与最大码率的清晰度标尺指标之间,以及待评估abs算法的流畅度指标是否处于最小码率的流畅度标尺指标与最大码率的流畅度标尺指标之间,并且如果均是,确定待评估abs算法为合理abs算法。

进一步的,播放体验指标还包括:综合评价指标;标尺指标还包括:综合评价标尺指标,其中,综合评价标尺指标为清晰度标尺指标和流畅度标尺指标进行加权求和得到的;

指标对比模块403,具体用于根据待评估abs算法的清晰度指标和流畅度指标各自的权重,计算待评估abs算法的清晰度指标和流畅度指标的加权和,作为待评估abs算法的综合评价指标,并且当待评估abs算法为合理abs算法时,判断待评估abs算法的综合评价指标是否大于原始码率的综合评价标尺指标,以及若是,确定待评估abs算法为合格abs算法。

基于同一发明构思,根据本发明实施例提供的如图2所示的应用于客户端的码率确定方法和如图3所示的应用于服务器的码率确定方法,本发明实施例还提供了一种abs算法评估系统,如图5所示,该系统包括:客户端501,服务器502;

客户端501,用于收集按照当前码率进行视频播放时的视频播放参数,并且将视频播放参数发送至服务器;

服务器502,用于接收客户端发送的视频播放参数,并根据预设的分配策略,为客户端分配abs算法,并且基于视频播放参数,采用分配的abs算法,确定客户端需要采用的码率,作为目标码率,以及向客户端发送目标码率;

客户端501,还用于接收服务器发送的目标码率,并且按照接收的目标码率,进行视频播放,以及收集按照目标码率进行视频播放时的播放体验数据,播放体验数据表示视频的播放效果,以及将播放体验数据发送至服务器;

服务器502,还用于接收客户端发送的播放体验数据,并且根据播放体验数据,对abs算法进行评估。

本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、机器可读存储介质602,其中,机器可读存储介质602存储能够被处理器601执行的机器可执行指令。

机器可读存储介质602,用于存储机器可执行指令;

处理器601,用于执行机器可读存储介质602上所存储的机器可执行指令,实现如下步骤:

针对待评估abs算法,获取来自多个客户端的播放体验数据,所述播放体验数据为所述客户端按照目标码率进行视频播放时的播放体验数据,所述目标码率为基于来自所述客户端的视频播放参数,采用所述待评估abs算法确定的码率,所述视频播放参数为所述客户端按照采用所述目标码率之前的码率进行视频播放时的视频播放参数,所述播放体验数据表示视频的播放效果;

基于获取的来自所述多个客户端的所述播放体验数据,计算所述待评估abs算法的播放体验指标;

将所述播放体验指标与标尺指标进行对比,得到所述待评估abs算法的评估结果,其中,所述标尺指标为按照预设码率进行视频播放时所计算得到的播放体验指标。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一abs算法评估方法的步骤。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一abs算法评估方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统、电子设备、计算机可读存储介质、计算机程序产品而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

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