首页 / 专利库 / 物理 / 质量 / 媒体播放质量测试方法和装置

媒体播放质量测试方法和装置

阅读:831发布:2022-08-14

专利汇可以提供媒体播放质量测试方法和装置专利检索,专利查询,专利分析的服务。并且本 申请 提供了一种媒体播放 质量 测试方法。其中包括:获取测试任务和预设的要测试的媒体播放应用的播放界面的控件数据;运行所述媒体播放应用,以对所述测试任务进行播放;在所述测试任务的播放过程中,根据所获取的媒体播放应用的播放界面的控件数据,拉取所述媒体播放应用的当前播放界面中的控件信息,并根据拉取的控件信息获取当前播放界面中的控件的事件数据;向 服务器 上报当前播放界面中的所述控件的事件数据;接收服务器根据所述控件的事件数据得到的媒体播放应用的播放质量测试结果,进行显示。本申请提供了的媒体播放质量测试方法可以提供客观、准确、可靠的媒体播放质量测试结果。,下面是媒体播放质量测试方法和装置专利的具体信息内容。

1.一种媒体播放质量测试方法,其特征在于,其包括:
获取测试任务和预设的要测试的媒体播放应用的播放界面的控件数据;
运行所述媒体播放应用,以对所述测试任务进行播放;
在所述测试任务的播放过程中,根据所获取的媒体播放应用的播放界面的控件数据,拉取所述媒体播放应用的当前播放界面中的控件信息,并根据拉取的控件信息获取当前播放界面中的控件的事件数据;
服务器上报当前播放界面中的所述控件的事件数据;
接收服务器根据所述控件的事件数据得到的媒体播放应用的播放质量测试结果,进行显示。
2.根据权利要求1的方法,其中,拉取所述媒体播放应用的当前播放界面中的控件信息,并根据拉取的控件信息获取当前播放界面中的控件的事件数据包括:
监控播放界面;
判断当前播放界面中是否有控件;
如果有控件,则拉取当前播放界面中的控件信息,比较所拉取的控件信息和所述控件数据;
判断当前播放界面中是否存在所述控件数据所表示的控件;
如果存在所述控件数据所表示的控件,则获取当前播放界面中的所述控件数据所表示的控件的事件数据。
3.根据权利要求1或2的方法,其中,所述控件包括下列控件中的至少一个:播放控件、缓冲控件、进度条控件、错误提示控件。
4.根据权利要求3的方法,其中,获取当前播放界面中的控件的事件数据包括下述中的至少一个:
获取播放界面中播放控件出现的时间、缓冲控件首次出现和消失的时间点及出现的时长;
获取播放界面中缓冲控件首次出现和消失的时间点及出现的时长、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、缓冲控件出现和消失的时间点及出现的时长;
获取播放界面中播放进度条控件的拖动的开始和结束时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长;
获取播放界面中播放错误提示控件的出现事件。
5.根据前述任一项权利要求的方法,其中所述方法进一步包括:
在上报当前播放器界面中的控件的事件数据时,上报测试任务的标识和终端设备的标识。
6.一种媒体播放质量测试方法,其特征在于,其包括:
向客户端发送测试任务和预设的要测试的媒体播放应用的播放界面的控件数据;
在所述媒体播放应用在所述客户端播放所述测试任务的过程中,从所述客户端接收客户端根据所述控件数据获取的媒体播放应用的当前播放界面中的控件的事件数据;
处理控件的事件数据,分析在测试任务的播放过程中,媒体播放应用的播放界面中的控件的状态,得到媒体播放应用的播放质量测试结果;
将所述播放质量测试结果下发给客户端。
7.根据权利要求6的方法,其中,从所述客户端接收客户端根据所述控件数据获取的媒体播放应用的当前播放界面中的控件的事件数据包括下述中的至少一个:
接收播放界面中播放控件出现的时间、缓冲控件首次出现和消失的时间点及出现的时长;
接收播放界面中缓冲控件首次出现和消失的时间点及出现的时长、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、缓冲控件出现和消失的时间点及出现的时长;
接收播放界面中播放进度条控件的拖动的开始和结束时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长;
接收播放界面中播放错误提示控件的出现事件。
8.根据权利要求6的方法,其中,分析在测试任务的播放过程中,媒体播放应用的播放界面中的控件的状态,得到媒体播放应用的播放质量测试结果包括:
利用播放界面中播放控件出现的时间、缓冲控件首次出现和消失的时间点及出现的时长,计算首次加载时长。
9.根据权利要求6的方法,其中,分析在测试任务的播放过程中,媒体播放应用的播放界面中的控件的状态,得到媒体播放应用的播放质量测试结果包括:
利用播放界面中缓冲控件首次出现和消失的时间点及出现的时长、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、缓冲控件出现和消失的时间点及出现的时长,计算从播放界面中出现媒体内容到测试任务播放结束期间,除了播放界面中响应于播放进度条的拖动事件而出现的缓冲控件的出现时间长度之外,缓冲控件总的出现时间长度和/或出现次数。
10.根据权利要求6的方法,其中,分析在测试任务的播放过程中,媒体播放应用的播放界面中的控件的状态,得到媒体播放应用的播放质量测试结果包括:
利用播放界面中播放进度条控件的拖动的开始和结束时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长,计算播放界面中播放进度条控件被拖动后显示的缓冲控件的出现的时间长度。
11.根据权利要求6的方法,其中,分析在测试任务的播放过程中,媒体播放应用的播放界面中的控件的状态,得到媒体播放应用的播放质量测试结果包括:
利用播放界面中播放错误提示控件的出现事件,计算播放界面中的播放错误提示控件的出现次数。
12.根据权利要求6-11任一项的方法,其中处理控件的事件数据包括:
遍历数据库中未处理的客户端上报的控件的事件数据;
判断一条控件的事件数据是否有测试任务的开始时间;
如果是,插入一条新的测试任务处理表项,并分配一个任务处理表项标识;
如果否,则根据该条控件的事件数据中的测试任务的标识和终端设备标识,找到相应的测试任务处理表项,使用该条控件的事件数据更新相应的测试任务处理表项。
13.根据权利要求12的方法,其中,所述新的任务处理条目和所述相应的测试任务处理表项中包括:首次加载时长、除首次加载时长之外的缓冲时长、播放错误出现次数的数据分量。
14.一种媒体播放质量测试装置,其特征在于,其包括:
控件数据获取模,用于获取测试任务和预设的要测试的媒体播放应用的播放界面的控件数据;
测试任务播放模块,用于运行所述媒体播放应用,以对所述测试任务进行播放;
控件事件数据获取模块,用于在所述测试任务的播放过程中,根据所获取的媒体播放应用的播放界面的控件数据,拉取所述媒体播放应用的当前播放界面中的控件信息,并根据拉取的控件信息获取当前播放界面中的控件的事件数据;
控件事件数据上报模块,用于向服务器上报当前播放界面中的所述控件的事件数据;
展示模块,用于接收服务器根据所述控件的事件数据得到的媒体播放应用的播放质量测试结果,进行显示。
15.一种媒体播放质量测试装置,其特征在于,其包括:
下发模块,用于向客户端发送测试任务和预设的要测试的媒体播放应用的播放界面的控件数据,以及在得到媒体播放应用的播放质量测试结果之后,将所述播放质量测试结果下发给客户端;
接收模块,在所述媒体播放应用在所述客户端播放所述测试任务的过程中,从所述客户端接收客户端根据所述控件数据获取的媒体播放应用的当前播放界面中的控件的事件数据;
处理和分析模块,处理控件的事件数据,分析在测试任务的播放过程中,媒体播放应用的播放界面中的控件的状态,得到媒体播放应用的播放质量测试结果。

说明书全文

媒体播放质量测试方法和装置

技术领域

[0001] 本申请涉及互联网技术领域,特别是涉及一种媒体播放质量测试方法和装置。

背景技术

[0002] 随着互联网技术的发展,涌现了大量的媒体应用和网站,例如各种视频、音频应用和网站等。不同的视频、音频应用和网站可能有不同的播放质量,带给人们不同的体验。如何分析这些视频、音频应用和网站的多媒体播放质量并提供可靠的测试结果和大数据供普通用户和研发人员使用是业界研究的技术。发明内容
[0003] 本申请的目的在于提供一种媒体播放质量测试方法和装置,可以提供客观、准确、可靠的媒体播放质量测试结果。
[0004] 本申请实施例提供了一种媒体播放质量测试方法,其包括:
[0005] 获取测试任务和预设的要测试的媒体播放应用的播放界面的控件数据;
[0006] 运行所述媒体播放应用,以对所述测试任务进行播放;
[0007] 在所述测试任务的播放过程中,根据所获取的媒体播放应用的播放界面的控件数据,拉取所述媒体播放应用的当前播放界面中的控件信息,并根据拉取的控件信息获取当前播放界面中的控件的事件数据;
[0008] 向服务器上报当前播放界面中的所述控件的事件数据;
[0009] 接收服务器根据所述控件的事件数据得到的媒体播放应用的播放质量测试结果,进行显示。
[0010] 本申请实施例提供了一种媒体播放质量测试方法,其包括:
[0011] 向客户端发送测试任务和预设的要测试的媒体播放应用的播放界面的控件数据;
[0012] 在所述媒体播放应用在所述客户端播放所述测试任务的过程中,从所述客户端接收客户端根据所述控件数据获取的媒体播放应用的当前播放界面中的控件的事件数据;
[0013] 处理控件的事件数据,分析在测试任务的播放过程中,媒体播放应用的播放界面中的控件的状态,得到媒体播放应用的播放质量测试结果;
[0014] 将所述播放质量测试结果下发给客户端。
[0015] 本申请实施例提供了一种媒体播放质量测试装置,其包括:
[0016] 控件数据获取模,用于获取测试任务和预设的要测试的媒体播放应用的播放界面的控件数据;
[0017] 测试任务播放模块,用于运行所述媒体播放应用,以对所述测试任务进行播放;
[0018] 控件事件数据获取模块,用于在所述测试任务的播放过程中,根据所获取的媒体播放应用的播放界面的控件数据,拉取所述媒体播放应用的当前播放界面中的控件信息,并根据拉取的控件信息获取当前播放界面中的控件的事件数据;
[0019] 控件事件数据上报模块,用于向服务器上报当前播放界面中的所述控件的事件数据;
[0020] 展示模块,用于接收服务器根据所述控件的事件数据得到的媒体播放应用的播放质量测试结果,进行显示。
[0021] 本申请实施例提供了一种媒体播放质量测试装置,其包括:
[0022] 下发模块,用于向客户端发送测试任务和预设的要测试的媒体播放应用的播放界面的控件数据,以及在得到媒体播放应用的播放质量测试结果之后,将所述播放质量测试结果下发给客户端;
[0023] 接收模块,在所述媒体播放应用在所述客户端播放所述测试任务的过程中,从所述客户端接收客户端根据所述控件数据获取的媒体播放应用的当前播放界面中的控件的事件数据;
[0024] 处理和分析模块,处理控件的事件数据,分析在测试任务的播放过程中,媒体播放应用的播放界面中的控件的状态,得到媒体播放应用的播放质量测试结果。
[0025] 本申请实施例提供了一种媒体播放质量测试方法和装置,通过在终端设备上进行屏幕抓取,利用媒体播放应用的播放界面的各种提示、控件,获取测试任务播放的首次缓冲时间、卡顿次数、除首次缓冲之外的其他缓冲(二次缓冲)总时间、出错次数等播放体验相关的数据,进一步通过服务器后台分析和数据建模,得出各家媒体播放应用的播放体验测试结果。整个过程不会对测试任务的播放过程有打断及人为干涉,保证了数据的客观准确,最终会从各项指标以及综合得分方面找出各家媒体播放应用的优劣势,给业界提供一个参考及改进的标准。附图说明
[0026] 为了更清楚的说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。
[0027] 图1为根据本申请实施例的一种媒体播放质量测试系统架构图;
[0028] 图2为根据本申请实施例的一种媒体播放质量测试方法的流程图
[0029] 图3A为根据本申请实施例的一种测试界面示意图;
[0030] 图3B为根据本申请实施例的播放质量展示示意图;
[0031] 图4为根据本申请实施例的一种媒体播放质量测试方法的流程图;
[0032] 图5为本申请实施例的另一种媒体播放质量测试方法的流程图;
[0033] 图6为根据本申请实施例的处理控件的事件数据过程流程图;
[0034] 图7为根据本申请实施例的媒体播放质量测试装置的示意图;
[0035] 图8为根据本申请实施例的控件事件数据获取模块示意图;
[0036] 图9为本申请实施例的另一种媒体播放质量测试装置示意图;
[0037] 图10为根据本申请实施例的处理模块示意图;
[0038] 图11所示为根据本申请实施例的媒体播放质量测试装置的硬件结构示意图;
[0039] 图12所示为根据本申请实施例的另一种媒体播放质量测试装置的硬件结构示意图。

具体实施方式

[0040] 以下结合说明书附图及具体实施例进一步说明本申请。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0041] 本申请实施例提供了一种媒体播放质量测试方法和装置,通过在终端设备上进行屏幕抓取,利用媒体播放应用的播放界面的各种提示、控件,获取测试任务播放的首次缓冲时间、卡顿次数、除首次缓冲之外的其他缓冲(二次缓冲)总时间、出错次数等播放体验相关的数据,进一步通过服务器后台分析和数据建模,得出各家媒体播放应用的播放体验测试结果。整个过程不会对测试任务的播放过程有打断及人为干涉,保证了数据的客观准确,最终会从各项指标以及综合得分方面找出各家媒体播放应用的优劣势,给业界提供一个参考及改进的标准。
[0042] 图1为根据本申请实施例的一种媒体播放质量测试系统架构图。如图1所示,该系统包括终端设备10和与终端设备10通过网络30交互的服务器20。
[0043] 其中,终端设备10可以是智能手机、平板电脑、计算机、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、穿戴式设备(比如智能手环、智能手表等)、导航装置等等。
[0044] 图2为根据本申请实施例的一种媒体播放质量测试方法的流程图,可以通过终端设备来实现。如图2所示,该媒体播放质量测试方法包括以下步骤:
[0045] 步骤201:获取测试任务和预设的要测试的媒体播放应用的播放界面的控件数据。
[0046] 根据本申请实施例,当用户打开终端设备,例如手机上的测试应用,测试媒体播放应用时,测试应用会展示一个测试界面。测试应用例如是安装在安卓(Android)终端设备上。图3A所示为根据本申请实施例的一种测试界面示意图。如图3A所示,在测试界面301中,例如通过接口StartActivity自动加载从要测试的媒体播放应用302所提供的媒体内容中选择的测试任务303,例如一段电视剧视频,供媒体播放应用进行播放。对于一个媒体播放应用,服务器端可以预先收集该媒体播放应用的播放界面的控件数据,例如各种控件的描述,其中包括控件标识(ID)。然后在下发测试任务时,同时将播放界面的控件数据下发给终端设备。这些控件例如包括:缓冲控件、进度条控件、播放控件、错误提示控件等等。这样,终端设备的测试应用可以知道需要上报哪些控件的事件数据。
[0047] 根据本申请实施例,当要测试多个媒体播放应用时,可以使用这多个媒体播放应用都提供的相同的媒体内容作为测试任务。例如,若这多个媒体播放应用都提供某个电视剧的某一集视频,便可以使用该电视剧的该集视频。这样的播放质量比较结果会更直观。
[0048] 步骤202:运行所述媒体播放应用,以对所述测试任务进行播放。
[0049] 例如,结合图3A所示,当用户在测试界面301中点击测试任务的播放按键304时,便可以运行要测试的媒体播放应用,播放测试任务。
[0050] 在有多个测试任务,例如有多个要测试的媒体播放应用的情况下,测试应用在使用一个媒体播放应用播放完一个测试任务之后,可以自动开始使用下一个媒体播放应用播放下一个测试任务。
[0051] 步骤203:在所述测试任务的播放过程中,根据所获取的媒体播放应用的播放界面的控件数据,拉取所述媒体播放应用的当前播放界面中的控件信息,并根据拉取的控件信息获取当前播放界面中的控件的事件数据。
[0052] 根据本申请实施例,在测试任务的播放过程中,测试应用会根据从服务器获取的媒体播放应用的播放界面的控件数据,例如,控件ID,通过安卓系统提供的用于捕捉屏幕状态的开放接口,例如findAccessiblityNodeInfosByViewId,实时查找当前播放界面中是否有与播放界面的控件数据对应的控件信息,如有则对其进行拉取,并根据拉取的控件信息,获取当前播放界面中控件的事件数据。这些控件例如包括:缓冲控件、进度条控件、播放控件、错误提示控件等等。所拉取的控件信息为由控件的各个节点构成的控件树。例如,缓冲控件的控件树为“com.tencent.qqlive:id/player_tips_loading_layout”,其中的“com”为根节点、“tencent”、“qqlive:id”、“player_tips_loading_layout”为子节点
[0053] 然后,测试应用根据拉取的控件信息获取当前播放界面中的控件的事件数据。控件的事件数据例如包括:控件的出现、消失、被拖动等。
[0054] 步骤204:向服务器上报当前播放界面中的所述控件的事件数据。
[0055] 当测试应用获取到当前播放界面中的控件的事件数据之后,会将获取的媒体播放应用的播放界面中控件的事件数据通过Http协议上报给服务器。
[0056] 控件的事件例如用“event_name”字段表示。在上报缓冲控件的事件时,例如,“event_name”字段中的值为“com.tencent.qqlive:id/player_tips_loading_layout”。例如,“start_time”字段和“end_time”字段表示控件出现和结束的时间点,“time_interval”字段表示控件出现的时长。
[0057] 另外,除了控件事件之外,测试应用也可以上报测试任务开始和结束的时间点,例如通过“begin_time”字段和“stop_time”字段进行上报。
[0058] 根据本申请实施例,在上报当前播放界面中控件的事件数据时,可以进一步上报终端设备的信息,例如用于识别终端设备的终端设备标识,“guid”,每一个终端设备对应唯一的终端设备标识。另外,还可以上报测试任务的信息,例如用于识别测试任务的测试任务标识,“task_id”,每一个测试任务对应唯一的测试任务标识。
[0059] 步骤205:接收服务器根据所述控件的事件数据得到的媒体播放应用的播放质量测试结果,进行显示。
[0060] 根据本申请实施例,在终端设备的测试应用将当前播放界面中的控件的事件数据上报到服务器之后,服务器对其进行行处理,得到当前媒体播放应用的播放质量,然后将其返回给终端设备上的测试应用。测试应用接收之后,可以以列表或者图表的形式展示媒体播放应用的各项质量指标和/或得分。图3B所示为根据本申请实施例的播放质量展示示意图。其中,对各个视频播放应用的测试任务的加载时长(loading时长)、缓冲次数、缓冲时长、拖动次数、拖动时长(seek时长)等进行了比较,同时提供了其他参数项,例如:视频的名称、清晰度、域名、任务开始和结束的时间、用户的终端设备机型、网络、错误信息等。
[0061] 通过本申请实施例的媒体播放质量测试方法,可以提供媒体播放应用的播放体验排名,客观公正地评价各类媒体播放应用的首次缓冲、卡顿等指标,并最终根据算法模型得到播放体验的排名,给业界提供一个参考及改进的标准。另外,本申请实施例的媒体播放质量测试方法具有数据自动采集分析能:实现播放质量数据自动化收集,并可以按照用户的地区、媒体的清晰度、时间(日、月)等多种维度的数据分析及展现。除此之外,通过自动收集的数据实现按照日、月维度完成竞品的播放质量得分排名和月度趋势变化,同时结合得分给到具体影响质量得分的原因和得分靠后的5个城市,完成日报月报信息精准推送。准确分析各项播放指标在不同时段、不同地区的差异,本申请实施例的媒体播放质量测试方法可以精确定位播放质量影响原因,从而提供给开发、运维团队、产品团队有针对性的做出优化。
[0062] 图4为根据本申请实施例的一种媒体播放质量测试方法的流程图。其中,在图2的基础上,步骤203中,拉取所述媒体播放应用的当前播放界面中的控件信息,并根据拉取的控件信息获取当前播放界面中的控件的事件数据包括以下步骤:
[0063] 步骤401:监控播放界面。
[0064] 测试应用实时对媒体播放应用的当前播放界面进行监控。
[0065] 步骤402:判断当前播放界面中是否有控件。如果否,则返回到步骤401,继续监控播放界面;如果是,则进行步骤403。
[0066] 具体地,在该步骤中,可以判断当前播放界面中是否有控件树,控件树包括描述当前播放界面中的控件的各个节点。如果有控件树,则进行步骤403的处理,如果没有,则返回到步骤401。
[0067] 步骤403:拉取当前播放界面中的控件信息,比较所拉取的控件信息和所述控件数据。
[0068] 测试应用例如可以拉取当前播放界面中的所有控件的控件树,然后比较控件树和服务器下发的媒体播放应用的播放界面的控件数据,例如控件ID。
[0069] 步骤404:判断当前播放界面中是否存在控件数据所表示的控件;如果否,则返回到步骤401,继续监控播放界面;如果是,则进行步骤405。
[0070] 在进行比较后,测试应用判断在当前播放界面中是否有要上报的控件及其事件。如果虽然有控件,但当前播放界面中的控件和服务器下发的控件数据不匹配,则不需要上报当前播放界面中的控件,测试应用继续监控播放界面,如果有控件,而且当前播放界面中的控件和服务器下发的控件数据相匹配,则当前播放界面中的控件是需要上报的控件,进行步骤405。
[0071] 步骤405:获取当前播放界面中的所述控件数据所表示的控件的事件数据。
[0072] 根据本申请实施例,在图1、4中,控件的事件数据例如包括:播放控件出现的时间点、缓冲控件首次出现和消失的时间点及出现的时长(首次加载)、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、除首次加载和拖动情况造成的缓冲之外缓冲控件出现和消失的时间点及出现的时长、播放错误提示控件的出现,等等。
[0073] 其中,播放控件例如是当用户点击图3A中的播放按键304之后,在终端设备的屏幕上出现媒体播放应用的播放界面的同时出现的。随着测试任务的播放,这个播放控件会自动消失。
[0074] 在播放控件显示之后,有可能上出现缓冲控件,提示当前测试任务正在缓冲中,当缓冲控件消失时,则测试任务便开始出现,例如真正出现视频画面。
[0075] 在播放测试任务的过程中,用户可能会拖动进度条,在停止拖动进度条后,一般测试任务会再次缓冲,这时,也会出现缓冲控件,当这个缓冲控件消失后,则从进度条拖动后的时间点继续播放测试任务。
[0076] 除了上述的首次缓冲和因为进度条的拖动而产生的缓冲之外,在测试任务中也可能会因为其他原因出现缓冲,同样,缓冲控件会出现和消失。
[0077] 在测试任务的播放过程中,由于网络或者其他原因,可能会出现播放错误,此时会有播放错误提示控件。
[0078] 测试应用实时获取上述的控件事件,结合起来上报给服务器。
[0079] 例如,测试应用获取并上报播放界面中播放控件出现的时间点、缓冲控件首次出现和消失的时间点及出现的时长,用于由服务器计算计算首次加载时长。
[0080] 测试应用获取并上报播放界面中缓冲控件首次出现和消失的时间点及出现的时长、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、缓冲控件出现和消失的时间点及出现的时长,用于由服务器计算从播放界面中出现媒体内容到测试任务播放结束期间,除了播放界面中响应于播放进度条的拖动事件而出现的缓冲控件的出现时间长度之外(二次缓冲),缓冲控件总的出现时间长度和总次数。
[0081] 例如,在用户点击播放按键304后,第一次缓冲了2秒(loading时长)才首次播放一个视频,然后播放了10秒后出现了缓冲,等待了2秒后缓冲完继续出现视频画面播放,再播放了30秒后又出现了缓冲,缓冲了5秒后继续播放至视频结束,这个过程的二次缓冲了两次,二次缓冲时长了2+5=7秒。另外,根据这个例子,媒体播放应用在播放过程中卡顿了两次。
[0082] 测试应用获取并上报播放界面中播放进度条控件的拖动的开始和结束时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长,用于由服务器计算播放界面中播放进度条控件被拖动后显示的缓冲控件的出现的时间长度。
[0083] 测试应用获取并上报播放界面中播放错误提示控件的出现事件,用于由服务器计算播放界面中的播放错误提示控件的出现次数。
[0084] 根据本申请实施例,测试应用上报控件事件数据之外,还可以上报测试任务结束的时间点。
[0085] 测试应用在用户点击播放测试任务的播放按键之后,可以设置一个计时器进行倒计时,计时长度为测试任务的长度。当这个计时器计时结束时,则测试任务结束,测试应用上报测试任务结束时的时间。
[0086] 或者,测试应用还可以通过判断媒体播放应用的播放界面是否在当前测试应用的界面中来判断测试任务是否结束。如果播放界面不在当前测试应用的界面中,则测试应用判断测试任务结束,上报测试任务结束时的时间。
[0087] 根据本申请实施例,在所述媒体播放应用为视频播放应用,所述测试任务为测试视频的情况下,图2或图4的方法进一步包括:
[0088] 在播放测试任务的过程中,获取并上报测试视频的域名系统解析时间、与测试视频所在服务器之间为建立传输控制协议TCP链接进行的TCP三次握手所用的时间、从建立TCP链接到获取到测试视频的第一个视频数据包的时间。
[0089] 这样,可以从网络层的度进一步测试视频播放应用在播放视频时的每一步耗时,从而可以提供更为精准的数据,用于供研发人员优化视频播放应用使用。
[0090] 相应地,本申请实施例提供了一种媒体播放质量测试方法,用于服务器端。
[0091] 图5所示为本申请实施例的一种媒体播放质量测试方法的流程图。如图4所示,该方法包括以下步骤:
[0092] 步骤501:向客户端发送测试任务和预设的要测试的媒体播放应用的播放界面的控件数据。
[0093] 服务器端可以预先配置好测试任务,比如配置测试任务对应的视频名、所属出品方、拉起的路径、清晰度、播放时长等。
[0094] 当用户在终端设备上打开测试应用之后,服务器可以从要测试的媒体播放应用提供的媒体内容中选择测试任务,例如一段电视剧视频,供媒体播放应用进行播放。对于一个媒体播放应用,服务器端可以预先收集该媒体播放应用的播放界面的控件数据,例如各种控件的描述,包括控件的标识(ID)。然后在下发测试任务时,同时将控件数据下发给终端设备。这些控件例如包括:缓冲控件、进度条控件、播放控件、错误提示控件等等。这样,测试应用可以知道需要上报哪些控件的事件数据。
[0095] 步骤502:在所述媒体播放应用在所述客户端播放所述测试任务的过程中,从所述客户端接收客户端根据所述控件数据获取的媒体播放应用的当前播放界面中的控件的事件数据。
[0096] 根据本申请实施例,接收媒体播放应用的当前播放界面中控件的事件数据例如包括:
[0097] 播放控件出现的时间点、缓冲控件首次出现和消失的时间点及出现的时长(首次加载)、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、除首次加载和拖动情况造成的缓冲之外缓冲控件出现和消失的时间点及出现的时长、播放错误提示控件的出现,等等。
[0098] 其中,播放控件例如是当用户点击图3A中的播放按键304之后,在终端设备的屏幕上出现媒体播放应用的播放界面的同时出现的。随着测试任务的播放,这个播放控件会自动消失。
[0099] 在播放控件显示之后,有可能马上出现缓冲控件,提示当前测试任务正在缓冲中,当缓冲控件消失时,则测试任务便开始出现,例如真正出现视频画面。
[0100] 在播放测试任务的过程中,用户可能会拖动进度条,在停止拖动进度条后,一般测试任务会再次缓冲,这时,也会出现缓冲控件,当这个缓冲控件消失后,则从进度条拖动后的时间点继续播放测试任务。
[0101] 除了上述的首次缓冲和因为进度条的拖动而产生的缓冲之外,在测试任务中也可能会因为其他原因出现缓冲,同样,缓冲控件会出现和消失。
[0102] 在测试任务的播放过程中,由于网络或者其他原因,可能会出现播放错误,此时会有播放错误提示控件。
[0103] 服务器在所述媒体播放应用在所述客户端播放所述测试任务的过程中,实时从所述客户端接收客户端根据所述控件数据获取的媒体播放应用的当前播放界面中的控件的事件数据。
[0104] 步骤503:处理控件的事件数据,分析在测试任务的播放过程中,媒体播放应用的播放界面中的控件的状态,得到媒体播放应用的播放质量测试结果。
[0105] 根据本申请实施例,服务器端对接收到的事件数据进行以下处理:
[0106] 服务器利用媒体播放应用的播放界面中播放控件出现的时间、缓冲控件首次出现和消失的时间点及出现的时长,计算首次加载时长。
[0107] 服务器利用媒体播放应用的播放界面中缓冲控件首次出现和消失的时间点及出现的时长、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、缓冲控件出现和消失的时间点及出现的时长,计算从播放界面中出现媒体内容到测试任务播放结束期间,除了播放界面中响应于播放进度条的拖动事件而出现的缓冲控件的出现时间长度之外(二次缓冲),缓冲控件总的出现时间长度和缓冲次数。
[0108] 例如,在用户点击播放按键304后,第一次缓冲了2秒(loading时长)才首次播放一个视频,然后播放了10秒后出现了缓冲,等待了2秒后缓冲完继续出现视频画面播放,再播放了30秒后又出现了缓冲,缓冲了5秒后继续播放至视频结束,这个过程的二次缓冲了两次,二次缓冲总时长为2+5=7秒。另外,根据这个例子,媒体播放应用在播放过程中卡顿了两次。
[0109] 服务器利用媒体播放应用的播放界面中播放进度条控件的拖动的开始和结束时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长,计算播放界面中播放进度条控件被拖动后显示的缓冲控件的出现的时间长度。
[0110] 服务器利用媒体播放应用的播放界面中播放错误提示控件的出现事件,计算播放界面中的播放错误提示控件的出现次数。
[0111] 步骤504:将所述播放质量测试结果下发给客户端。
[0112] 服务器可以将上述统计数据以列表或者图表的形式提供给终端设备的用户或者给服务器端的研发人员。
[0113] 通过本申请实施例的媒体播放质量测试方法,自动监测各媒体播放应用在播放过程中各种指标数据,不会干涉任何媒体播放应用完整的播放流程。因为测试数据是由同一个测试工具采集,采用同一种算法,保证了数据的真实可靠以及公正。因此,可以提供媒体播放应用的播放体验排名,客观公正地评价各类媒体播放应用的首次缓冲、卡顿等指标,并最终根据算法模型得到播放体验的排名,给业界提供一个参考及改进的标准。另外,本申请实施例的媒体播放质量测试方法具有数据自动采集分析能力:实现播放质量数据自动化收集,并可以按照用户的地区、媒体的清晰度、时间(日、月)等多种维度的数据分析及展现。除此之外,通过自动收集的数据实现按照日、月维度完成竞品的播放质量得分排名和月度趋势变化,同时结合得分给到具体影响质量得分的原因和得分靠后的5个城市,完成日报月报信息精准推送。准确分析各项播放指标在不同时段、不同地区的差异,本申请实施例的媒体播放质量测试方法可以精确定位播放质量影响原因,从而提供给开发、运维团队、产品团队有针对性的做出优化。
[0114] 图6为根据本申请实施例的处理控件的事件数据过程流程图。如图6所示,处理控件的事件数据包括以下步骤:
[0115] 步骤601:遍历数据库中未处理的客户端上报的控件的事件数据。
[0116] 因为客户端的测试应用所上报的控件的事件数据都是按时间顺序存储在服务器端的数据库中,服务器定期对这些控件的事件数据依次进行处理。
[0117] 步骤602:判断一条控件的事件数据是否有测试任务的开始时间。
[0118] 例如,服务器通过判断一条控件的事件数据中是否包含有“begin_time”的字段,来判断该条控件的事件数据是否有测试任务的开始时间。这个“begin_time”的字段值例如是当用户点击图3A中的播放按键304之后,开始出现播放控件时上报的时间点。如果一条控件的事件数据中有“begin_time”的字段,则表示开始一个新的测试任务的上报,然后服务器执行步骤603。如果没有,则表示该控件的事件数据不属于一个新的测试任务,可能是属于一个已有的测试任务,服务器执行步骤604。
[0119] 步骤603,插入一条新的测试任务处理表项,并分配一个任务处理表项标识。
[0120] 例如,服务器可以新建一条标识为“Result 1”的测试任务处理表项。后续若有其他测试任务,可以连续编号其他测试任务的任务处理表项标识,例如:“Result 2”、“Result 3”等等。
[0121] 在每个测试任务处理表项中包含有一个测试任务的测试结果的数据分量,例如:首次缓冲时长、二次缓冲时长/次数、错误次数等等。
[0122] 步骤604,根据该条控件的事件数据中的测试任务的标识和终端设备标识,找到相应的测试任务处理表项,使用该条控件的事件数据更新相应的测试任务处理表项。
[0123] 例如,控件的事件数据表示的是缓冲控件出现的时长,带有相应的任务标识和终端设备标识,则服务器可以通过任务标识和终端设备标识在数据库中查找相应的测试任务处理表项,在找到相应的测试任务处理表项之后,如果该测试任务表项中已经记载有缓冲控件出现的时长,则可以在记载的时长上加上当前的时长,进行更新,如果没有,则可以新建一条关于缓冲控件时长的数据分量。
[0124] 如果一条控件的事件数据既没有开始时间“begin_time”,也没有任务标识和终端设备标识,则表示该条事件数据所属的测试任务之前的包含有开始时间的事件数据还未传输到服务器端或者丢失,则可以新建一条测试任务处理表项,保留其中的开始时间字段为空。若后续收到包含有开始时间的事件数据,则可以添加到这个新建的测试任务处理表项中。
[0125] 如果一条控件的事件数据既有开始时间“begin_time”,也有任务标识和终端设备标识,则表示该测试任务可能是之前已上报过数据,中间可能又退出测试任务的情况,这时,可以根据任务标识和终端设备标识查找到对应的测试任务处理表项,关闭原有的测试任务处理表项,新建一条测试任务表项。
[0126] 根据本申请实施例,在所述媒体播放应用为视频播放应用,所述测试任务为测试视频的情况下,图5的方法进一步包括:
[0127] 接收终端设备上报的测试视频的域名系统解析时间、与测试视频所在服务器之间为建立传输控制协议TCP链接进行的TCP三次握手所用的时间、从建立TCP链接到获取到测试视频的第一个视频数据包的时间。
[0128] 这样,可以从网络层的角度进一步测试视频播放应用在播放视频时的每一步耗时,从而可以提供更为精准的数据,用于供研发人员优化视频播放应用使用。
[0129] 本申请实施例的媒体播放质量测试方法分析了移动终端设备的媒体播放应用的播放控件,该方案也同样适用于其他平台,诸如PC客户端、网页端、TV端等。
[0130] 与前述的方法实施例对应,本申请实施例提供了媒体播放质量测试装置。
[0131] 图7为根据本申请实施例的媒体播放质量测试装置的示意图。其中该装置700包括以下模块:
[0132] 控件数据获取模块701,用于获取测试任务和预设的要测试的媒体播放应用的播放界面的控件数据。
[0133] 根据本申请实施例,当用户打开终端设备,例如手机上的测试应用,测试媒体播放应用时,控件数据获取模块701会展示一个测试界面。测试应用例如是安装在安卓(Android)终端设备上。在测试界面中,控件数据获取模块701会例如通过接口StartActivity自动加载从要测试的媒体播放应用所提供的媒体内容中选择的测试任务,例如一段电视剧视频,供媒体播放应用进行播放。对于一个媒体播放应用,服务器端可以预先收集该媒体播放应用的播放界面的控件数据,例如各种控件的描述,其中包括控件标识(ID)。然后在下发测试任务时,同时将播放界面的控件数据下发给终端设备。这些控件例如包括:缓冲控件、进度条控件、播放控件、错误提示控件等等。这样,终端设备可以知道需要上报哪些控件的事件数据。
[0134] 根据本申请实施例,当要测试多个媒体播放应用时,可以使用这多个媒体播放应用都提供的相同的媒体内容作为测试任务。例如,若这多个媒体播放应用都提供某个电视剧的某一集视频,便可以使用该电视剧的该集视频。这样的播放质量比较结果会更直观。
[0135] 测试任务播放模块702,用于运行所述媒体播放应用,以对所述测试任务进行播放。
[0136] 例如,当用户在测试界面中点击测试任务的播放按键时,测试任务播放模块702便可以运行要测试的媒体播放应用,播放测试任务。
[0137] 在有多个测试任务,例如有多个要测试的媒体播放应用的情况下,测试任务播放模块702在使用一个媒体播放应用播放完一个测试任务之后,可以自动开始使用下一个媒体播放应用播放下一个测试任务。
[0138] 控件事件数据获取模块703,用于在所述测试任务的播放过程中,根据所获取的媒体播放应用的播放界面的控件数据,拉取所述媒体播放应用的当前播放界面中的控件信息,并根据拉取的控件信息获取当前播放界面中的控件的事件数据。
[0139] 根据本申请实施例,在测试任务的播放过程中,控件事件数据获取模块703会根据控件数据获取模块701从服务器获取的媒体播放应用的播放界面的控件数据,例如,控件I D ,通 过 安 卓 系 统 提 供 的 用 于 捕 捉 屏 幕 状 态 的 开 放 接 口 ,例 如findAccessiblityNodeInfosByViewId,实时查找当前播放界面中是否有与播放界面的控件数据对应的控件信息,如有则对其进行拉取,并根据拉取的控件信息,获取当前播放界面中控件的事件数据。这些控件例如包括:缓冲控件、进度条控件、播放控件、错误提示控件等等。所拉取的控件信息为由控件的各个节点构成的控件树。例如,缓冲控件的控件树为“com.tencent.qqlive:id/player_tips_loading_layout”,其中的“com”为根节点、“tencent”、“qqlive:id”、“player_tips_loading_layout”为子节点。
[0140] 然后,测试应用根据拉取的控件信息获取当前播放界面中的控件的事件数据。控件的事件数据例如包括:控件的出现、消失、被拖动等。
[0141] 控件事件数据上报模块704,用于向服务器上报当前播放界面中的所述控件的事件数据。
[0142] 当控件事件数据获取模块703获取到当前播放界面中的控件的事件数据之后,控件事件数据上报模块704会将获取的媒体播放应用的播放界面中控件的事件数据通过Http协议上报给服务器。
[0143] 控件的事件例如用“event_name”字段表示。例如,对于缓冲控件的事件,“event_name”字段中的值为“com.tencent.qqlive:id/player_tips_loading_layout”。例如,“start_time”字段和“end_time”字段表示控件出现和结束的时间点,“time_interval”字段表示控件出现的时长。
[0144] 另外,除了控件事件之外,控件事件数据上报模块704也可以上报测试任务开始和结束的时间点,例如通过“begin_time”字段和“stop_time”字段进行上报。
[0145] 根据本申请实施例,在上报当前播放界面中控件的事件数据时,控件事件数据上报模块704可以进一步上报终端设备的信息,例如用于识别终端设备的终端设备标识,“guid”,每一个终端设备对应唯一的终端设备标识。另外,还可以上报测试任务的信息,例如用于识别测试任务的测试任务标识,“task_id”,每一个测试任务对应唯一的测试任务标识。
[0146] 展示模块705,用于接收服务器根据所述控件的事件数据得到的媒体播放应用的播放质量测试结果,进行显示。
[0147] 根据本申请实施例,在终端设备的控件事件数据上报模块704将当前播放界面中的控件的事件数据上报到服务器之后,服务器对其进行行处理,得到当前媒体播放应用的播放质量,然后将其返回给终端设备上的测试应用。测试应用接收之后,展示模块705可以以列表或者图表的形式展示媒体播放应用的各项质量指标和/或得分。
[0148] 通过本申请实施例的媒体播放质量测试装置,可以提供媒体播放应用的播放体验排名,客观公正地评价各类媒体播放应用的首次缓冲、卡顿等指标,并最终根据算法模型得到播放体验的排名,给业界提供一个参考及改进的标准。另外,本申请实施例的媒体播放质量测试方法具有数据自动采集分析能力:实现播放质量数据自动化收集,并可以按照用户的地区、媒体的清晰度、时间(日、月)等多种维度的数据分析及展现。除此之外,通过自动收集的数据实现按照日、月维度完成竞品的播放质量得分排名和月度趋势变化,同时结合得分给到具体影响质量得分的原因和得分靠后的5个城市,完成日报月报信息精准推送。准确分析各项播放指标在不同时段、不同地区的差异,本申请实施例的媒体播放质量测试方法可以精确定位播放质量影响原因,从而提供给开发、运维团队、产品团队有针对性的做出优化。
[0149] 图8为根据本申请实施例的媒体播放质量测试装置中的控件事件数据获取模块示意图。其中,控件事件数据获取模块703包括:
[0150] 播放界面监控模块801,用于监控播放界面。
[0151] 具体地,播放界面监控模块801实时对媒体播放应用的当前播放界面进行监控。
[0152] 控件判断模块802,用于判断当前播放界面中是否有控件。如果否,则返回到播放界面监控模块801,继续监控播放界面;如果是,则进行到控件信息拉取模块803进行处理。
[0153] 例如,控件判断模块802可以判断当前播放界面中是否有控件树,控件树包括描述当前播放界面中的控件的各个节点。如果有控件树,则由控件信息拉取模块803进行拉取,如果没有,则继续由播放界面监控模块801监控播放界面。
[0154] 控件信息拉取和比较模块803,用于拉取当前播放界面中的控件信息,比较所拉取的控件信息和所述控件数据。
[0155] 例如,控件信息拉取和比较模块803可以拉取当前播放界面中的所有控件的控件树,然后比较所拉取的控件树和服务器下发的媒体播放应用的播放界面的控件数据,例如控件ID。
[0156] 判断模块804,用于判断当前播放界面中是否存在控件数据所表示的控件;如果否,则返回到播放界面监控模块801,继续监控播放界面;如果是,则进行事件获取模块805的处理。
[0157] 在控件信息拉取和比较模块803进行上述比较之后,判断模块804判断在当前播放界面中是否有要上报的控件及其事件。如果虽然有控件,但当前播放界面中的控件和服务器下发的控件数据不匹配,则不需要上报当前播放界面中的控件,测试应用继续监控播放界面,如果有控件,而且当前播放界面中的控件和服务器下发的控件数据相匹配,则当前播放界面中的控件是需要上报的控件,进行到事件获取模块805的处理。
[0158] 事件获取模块805,用于获取当前播放界面中的所述控件数据所表示的控件的事件数据。
[0159] 根据本申请实施例,控件的事件数据例如包括:播放控件出现的时间点、缓冲控件首次出现和消失的时间点及出现的时长(首次加载)、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、除首次加载和拖动情况造成的缓冲之外缓冲控件出现和消失的时间点及出现的时长、播放错误提示控件的出现,等等。
[0160] 其中,播放控件例如是当用户点击播放按键之后,在终端设备的屏幕上出现媒体播放应用的播放界面的同时出现的。随着测试任务的播放,这个播放控件会自动消失。
[0161] 在播放控件显示之后,有可能马上出现缓冲控件,提示当前测试任务正在缓冲中,当缓冲控件消失时,则测试任务便开始出现,例如真正出现视频画面。
[0162] 在播放测试任务的过程中,用户可能会拖动进度条,在停止拖动进度条后,一般测试任务会再次缓冲,这时,也会出现缓冲控件,当这个缓冲控件消失后,则从进度条拖动后的时间点继续播放测试任务。
[0163] 除了上述的首次缓冲和因为进度条的拖动而产生的缓冲之外,在测试任务中也可能会因为其他原因出现缓冲,同样,缓冲控件会出现和消失。
[0164] 在测试任务的播放过程中,由于网络或者其他原因,可能会出现播放错误,此时会有播放错误提示控件。
[0165] 控件事件数据获取模块703实时获取上述的控件事件,结合起来由控件事件数据上报模块704上报给服务器。
[0166] 例如,获取并上报播放界面中播放控件出现的时间点、缓冲控件首次出现和消失的时间点及出现的时长,用于由服务器计算计算首次加载时长。
[0167] 获取并上报播放界面中缓冲控件首次出现和消失的时间点及出现的时长、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、缓冲控件出现和消失的时间点及出现的时长,用于由服务器计算从播放界面中出现媒体内容到测试任务播放结束期间,除了播放界面中响应于播放进度条的拖动事件而出现的缓冲控件的出现时间长度之外(二次缓冲),缓冲控件总的出现时间长度和总次数。
[0168] 例如,在用户点击播放按键后,第一次缓冲了2秒(loading时长)才首次播放一个视频,然后播放了10秒后出现了缓冲,等待了2秒后缓冲完继续出现视频画面播放,再播放了30秒后又出现了缓冲,缓冲了5秒后继续播放至视频结束,这个过程的二次缓冲了两次,二次缓冲时长了2+5=7秒。另外,根据这个例子,媒体播放应用在播放过程中卡顿了两次。
[0169] 获取并上报播放界面中播放进度条控件的拖动的开始和结束时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长,用于由服务器计算播放界面中播放进度条控件被拖动后显示的缓冲控件的出现的时间长度;
[0170] 获取并上报播放界面中播放错误提示控件的出现事件,用于由服务器计算播放界面中的播放错误提示控件的出现次数。
[0171] 根据本申请实施例,上报控件事件数据之外,还可以上报测试任务结束的时间点。
[0172] 在用户点击播放测试任务的播放按键之后,可以设置一个计时器进行倒计时,计时长度为测试任务的长度。当这个计时器计时结束时,则测试任务结束,上报测试任务结束时的时间。
[0173] 还可以通过判断媒体播放应用的播放界面是否在当前测试应用的界面中来判断测试任务是否结束。如果播放界面不在当前测试应用的界面中,则判断测试任务结束,上报测试任务结束时的时间。
[0174] 根据本申请实施例,在所述媒体播放应用为视频播放应用,所述测试任务为测试视频的情况下,所述控件事件数据获取模块703和控件事件数据上报模块704进一步用于:
[0175] 在播放测试任务的过程中,获取并上报测试视频的域名系统解析时间、与测试视频所在服务器之间为建立传输控制协议TCP链接进行的TCP三次握手所用的时间、从建立TCP链接到获取到测试视频的第一个视频数据包的时间。
[0176] 这样,可以从网络层的角度进一步测试视频播放应用在播放视频时的每一步耗时,从而可以提供更为精准的数据,用于供研发人员优化视频播放应用使用。
[0177] 相应地,图9为本申请实施例提供的另一种媒体播放质量测试装置示意图。该装置900在服务器上实现,包括下述模块:
[0178] 下发模块901,用于向客户端发送测试任务和预设的要测试的媒体播放应用的播放界面的控件数据。
[0179] 服务器端可以预先配置好测试任务,比如配置测试任务对应的视频名、所属出品方、拉起的路径、清晰度、播放时长等。
[0180] 当用户在终端设备上打开测试应用之后,下发模块901可以从要测试的媒体播放应用提供的媒体内容中选择测试任务,例如一段电视剧视频,供媒体播放应用进行播放。对于一个媒体播放应用,服务器端可以预先收集该媒体播放应用的播放界面的控件数据,例如各种控件的描述,包括控件的标识(ID)。然后在下发模块901下发测试任务时,同时将控件数据下发给终端设备。这些控件例如包括:缓冲控件、进度条控件、播放控件等等。这样,测试应用可以知道需要上报哪些控件的事件数据。
[0181] 接收模块902,用于在所述媒体播放应用在所述客户端播放所述测试任务的过程中,从所述客户端接收客户端根据所述控件数据获取的媒体播放应用的当前播放界面中的控件的事件数据。
[0182] 根据本申请实施例,接收模块902接收媒体播放应用的当前播放界面中控件的事件数据例如包括:
[0183] 播放控件出现的时间点、缓冲控件首次出现和消失的时间点及出现的时长(首次加载)、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、除首次加载和拖动情况造成的缓冲之外缓冲控件出现和消失的时间点及出现的时长、播放错误提示控件的出现,等等。
[0184] 其中,播放控件例如是当用户点击播放按键之后,在终端设备的屏幕上出现媒体播放应用的播放界面的同时出现的。随着测试任务的播放,这个播放控件会自动消失。
[0185] 在播放控件显示之后,有可能马上出现缓冲控件,提示当前测试任务正在缓冲中,当缓冲控件消失时,则测试任务便开始出现,例如真正出现视频画面。
[0186] 在播放测试任务的过程中,用户可能会拖动进度条,在停止拖动进度条后,一般测试任务会再次缓冲,这时,也会出现缓冲控件,当这个缓冲控件消失后,则从进度条拖动后的时间点继续播放测试任务。
[0187] 除了上述的首次缓冲和因为进度条的拖动而产生的缓冲之外,在测试任务中也可能会因为其他原因出现缓冲,同样,缓冲控件会出现和消失。
[0188] 在测试任务的播放过程中,由于网络或者其他原因,可能会出现播放错误,此时会有播放错误提示控件。
[0189] 接收模块902实时接收测试应用上报的上述控件事件。
[0190] 处理和分析模块903,处理控件的事件数据,得到媒体播放应用的播放质量测试结果。
[0191] 根据本申请实施例,处理模块903对接收到的事件数据进行以下处理:
[0192] 处理和分析模块903利用媒体播放应用的播放界面中播放控件出现的时间、缓冲控件首次出现和消失的时间点及出现的时长,计算首次加载时长。
[0193] 处理和分析模块903利用媒体播放应用的播放界面中缓冲控件首次出现和消失的时间点及出现的时长、播放进度条控件的拖动的开始和结束的时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长、缓冲控件出现和消失的时间点及出现的时长,计算从播放界面中出现媒体内容到测试任务播放结束期间,除了播放界面中响应于播放进度条的拖动事件而出现的缓冲控件的出现时间长度之外(二次缓冲),缓冲控件总的出现时间长度和缓冲次数。
[0194] 例如,在用户点击播放按键后,第一次缓冲了2秒(loading时长)才首次播放一个视频,然后播放了10秒后出现了缓冲,等待了2秒后缓冲完继续出现视频画面播放,再播放了30秒后又出现了缓冲,缓冲了5秒后继续播放至视频结束,这个过程的二次缓冲了两次,二次缓冲总时长为2+5=7秒。另外,根据这个例子,媒体播放应用在播放过程中卡顿了两次。
[0195] 处理和分析模块903利用媒体播放应用的播放界面中播放进度条控件的拖动的开始和结束时间点、响应于播放进度条的拖动事件而出现的缓冲控件的出现和消失的时间点及出现的时长,计算播放界面中播放进度条控件被拖动后显示的缓冲控件的出现的时间长度。
[0196] 处理和分析模块903利用媒体播放应用的播放界面中播放错误提示控件的出现事件,计算播放界面中的播放错误提示控件的出现次数。
[0197] 之后,服务器可以通过下发模块901,将所述播放质量测试结果下发给客户端。
[0198] 例如服务器可以将上述统计数据以列表或者图表的形式提供给终端设备的用户或者给服务器端的研发人员。
[0199] 通过本申请实施例的媒体播放质量测试装置,自动监测各媒体播放应用在播放过程中各种指标数据,不会干涉任何媒体播放应用完整的播放流程。因为测试数据是由同一个测试工具采集,采用同一种算法,保证了数据的真实可靠以及公正。因此,可以提供媒体播放应用的播放体验排名,客观公正地评价各类媒体播放应用的首次缓冲、卡顿等指标,并最终根据算法模型得到播放体验的排名,给业界提供一个参考及改进的标准。另外,本申请实施例的媒体播放质量测试方法具有数据自动采集分析能力:实现播放质量数据自动化收集,并可以按照用户的地区、媒体的清晰度、时间(日、月)等多种维度的数据分析及展现。除此之外,通过自动收集的数据实现按照日、月维度完成竞品的播放质量得分排名和月度趋势变化,同时结合得分给到具体影响质量得分的原因和得分靠后的5个城市,完成日报月报信息精准推送。准确分析各项播放指标在不同时段、不同地区的差异,本申请实施例的媒体播放质量测试方法可以精确定位播放质量影响原因,从而提供给开发、运维团队、产品团队有针对性的做出优化。
[0200] 图10为根据本申请实施例的处理模块903示意图。如图10所示,其包括:
[0201] 事件数据遍历模块1001,用于遍历数据库中未处理的客户端上报的事件数据。
[0202] 因为客户端的测试应用所上报的控件的事件数据都是按时间顺序存储在服务器端的数据库中,事件数据遍历模块1001定期对这些控件的事件数据依次进行处理。
[0203] 开始时间判断模块1002,用于判断一条控件的事件数据是否有测试任务的开始时间。
[0204] 例如,服务器通过判断一条控件的事件数据中是否包含有“begin_time”的字段,来判断该条控件的事件数据是否有测试任务的开始时间。这个“begin_time”的字段值例如是当用户点击播放按键之后,开始出现播放控件时上报的时间点。如果一条控件的事件数据中有“begin_time”的字段,则表示开始一个新的测试任务的上报,然后转到插入模块1003进行处理。如果没有,则表示该控件的事件数据不属于一个新的测试任务,可能是属于一个已有的测试任务,则转到更新模块1004进行处理。
[0205] 插入模块1003,用于在判断事件数据有测试任务的开始时间时,插入一条新的测试任务处理表项,并分配一个任务处理表项标识。
[0206] 例如,插入模块1003可以新建一条标识为“Result 1”的测试任务处理表项。后续若有其他测试任务,可以连续编号其他测试任务的任务处理表项标识,例如:“Result 2”、“Result 3”等等。
[0207] 在每个测试任务处理表项中包含有一个测试任务的测试结果的数据分量,例如:首次缓冲时长、二次缓冲时长/次数、错误次数等等。
[0208] 更新模块1004,用于在判断控件的事件数据没有测试任务的开始时间时,根据该条控件的事件数据中的测试任务的标识和终端设备标识,找到相应的测试任务处理表项,使用该条控件的事件数据更新相应的测试任务处理表项。
[0209] 例如,事件数据表示的是缓冲控件出现的时长,带有相应的任务标识和终端设备标识,则服务器可以通过任务标识和终端设备标识在数据库中查找相应的测试任务处理表项,在找到相应的测试任务处理表项之后,如果该测试任务表项中已经记载有缓冲控件出现的时长,则可以在记载的时长上加上当前的时长,进行更新,如果没有,则可以新建一条关于缓冲控件时长的数据分量。
[0210] 如果一条控件的事件数据既没有开始时间“begin_time”,也没有任务标识和终端设备标识,则表示该条事件数据所属的测试任务之前的包含有开始时间的事件数据还未传输到服务器端或者丢失,则可以新建一条测试任务处理表项,保留其中的开始时间字段为空。若后续收到包含有开始时间的事件数据,则可以添加到这个新建的测试任务处理表项中。
[0211] 如果一条控件的事件数据既有开始时间“begin_time”,也有任务标识和终端设备标识,则表示该测试任务可能是之前已上报过数据,中间可能又退出测试任务的情况,这时,可以根据任务标识和终端设备标识查找到对应的测试任务处理表项,关闭原有的测试任务处理表项,新建一条测试任务表项。
[0212] 根据本申请实施例,在所述媒体播放应用为视频播放应用,所述测试任务为测试视频的情况下,接收模块进一步用于:
[0213] 接收终端设备上报的测试视频的域名系统解析时间、与测试视频所在服务器之间为建立传输控制协议TCP链接进行的TCP三次握手所用的时间、从建立TCP链接到获取到测试视频的第一个视频数据包的时间。
[0214] 这样,可以从网络层的角度进一步测试视频播放应用在播放视频时的每一步耗时,从而可以提供更为精准的数据,用于供研发人员优化视频播放应用使用。
[0215] 本申请实施例的媒体播放质量测试装置分析了移动终端设备的媒体播放应用的播放控件,该方案也同样适用于其他平台,诸如PC客户端、网页端、TV端等。
[0216] 图11所示为根据本申请实施例的媒体播放质量测试装置的硬件结构示意图。
[0217] 参照图11,该媒体播放质量测试装置可以包括:处理器1101(例如CPU)、通信总线1102、接口1103、存储器1104。其中,通信总线1102用于实现该媒体播放质量测试装置中各组成部件之间的连接通信。接口1103包括用户接口和网络接口。用户接口用于接收用户输入的信息,并将接收的信息发送至处理器1101进行处理。显示器可以为LCD显示器、LED显示器,也可以为触摸屏,用于显示需要显示的数据。可选的用户接口还可以包括标准的有线接口、无线接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1104可以是高速RAM存储器,也可以是稳定的或非易失性存储器,例如磁盘存储器。存储器1104可选的还可以是独立于前述处理器1101的存储装置。如图11所示,作为一种计算机存储介质的存储器1104中可以存储有图7中的各个模块。在图11中,仅示出了模块701-705用于示例。这些模块例如为指令模块。处理器1101执行存储于存储器1104中的模块,用于完成这些模块的指定功能。作为一种计算机存储介质的存储器1104中还可以存储计算机程序指令,用于当由处理器1101执行时,执行图1、图4中的方法。
[0218] 图12所示为根据本申请实施例的另一种媒体播放质量测试装置的硬件结构示意图。参照图12,该媒体播放质量测试装置可以包括:处理器1201(例如CPU)、通信总线1202、接口1203、存储器1204。其中,通信总线1202用于实现该媒体播放质量测试装置中各组成部件之间的连接通信。接口1203包括用户接口和网络接口。用户接口可以包括显示器、键盘鼠标等外设,用于接收用户输入的信息,并将接收的信息发送至处理器1201进行处理。显示器可以为LCD显示器、LED显示器,也可以为触摸屏,用于显示需要显示的数据。可选的用户接口还可以包括标准的有线接口、无线接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1204可以是高速RAM存储器,也可以是稳定的或非易失性存储器,例如磁盘存储器。存储器1204可选的还可以是独立于前述处理器1201的存储装置。如图12所示,作为一种计算机存储介质的存储器1204中可以存储有图9中的各个模块。在图
12中,仅示出了模块901-903用于示例。这些模块例如为指令模块。处理器1201执行存储于存储器1204中的模块,用于完成这些模块的指定功能。作为一种计算机存储介质的存储器
1204中还可以存储计算机程序指令,用于当由处理器1201执行时,执行图5、图6中的方法。
[0219] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的,应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0220] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0221] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0222] 另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述各实施例的功能模块可以位于一个终端或网络节点,或者也可以分布到多个终端或网络节点上。
[0223] 另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
[0224] 因此,本申请还提供了一种非易失性存储介质,其中存储有内容分级程序,该内容分级程序用于执行本申请上述实施例方法中的任何一种实例。
[0225] 以上所述仅为本申请的实例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈