You need to enable JavaScript to run this app.
导航

通用指标说明

最近更新时间2023.04.27 19:47:14

首次发布时间2021.11.04 10:45:08

本文档为您介绍质量平台 QoS 指标、QoE 指标和成本指标的统计原理和定义。

背景信息

质量平台通过在点播播放器中增加埋点的方式,获取统计数据。实现埋点上报和数据收集的流程如下图所示。
图片
从设置 URL 后第一次调用 play 即视为一次播放,一次播放只上报一次埋点日志。根据视频播放完成情况,分为播放成功和播放失败两种场景。不同场景下埋点日志上报的时机如下表所示。

场景

上报时间

播放成功

  • 起播失败:起播阶段出现错误造成首帧未播放;
  • 用户退出:起播、首次播放或循环播放阶段,用户主动退出播放;
  • 播放完成:单次播放场景下,完成尾帧播放。

播放失败

  • 起播失败:起播阶段出现错误造成首帧未播放;
  • 用户退出:起播或视频正常播放阶段,用户退出;
  • 播放失败:播放器内部错误触发重试机制,重试失败造成播放失败。

警告

  • 首帧播放是起播阶段和视频播放阶段的分界点。
    • 视频首帧指视频显示出的第一帧画面;
    • 纯音频或只含音频流的视频源,首帧指播放的第一帧音频。
  • 循环播放场景下,视频循环次数不影响播放次数统计。即视频循环播放多次,也仅记为一次播放。

QoS 指标说明

播放量

播放量即播放的总次数。从设置 URL 后,客户端第一次调用 play 被记为一次播放,其他调用 play 的场景下不会记为播放,例如,暂停后重新调用 play 进行播放。

实际播放量

实际播放量即实际播放的总次数,指播放的总次数去掉播放失败的总数。

播放失败率

播放失败率 = 播放失败的次数 * 100% / 播放总量
播放失败总数是指播放过程中播放器内部发生不可修复的错误,导致播放失败的次数。

首帧时间

首帧时间 = AVG(Video First Frame - User hits Play)
首帧时间指用户点击播放到首帧完成播放之间的时间间隔。

警告

如果在起播阶段,用户退出播放或起播失败,则没有首帧时间。

卡顿率

卡顿率 = 发生卡顿的 vv 数 * 100% / 播放总量
卡顿是指视频播放过程中,由于下载不到视频数据而造成视频加载的情况,其中不包含拖动进度条 seek 造成的视频加载。

说明

vv(Video View):播放量,指在一个统计周期内视频被打开的次数,也就是内容的观看次数。

中断率

中断率 = 发生过中断的 vv 数 * 100% / 播放总量
发生过中断的播放数是指,播放过程中因播放器内部错误,触发重试的次数。重试可能会成功,也可能失败,只要触发重试,就会记做一次中断。

未起播率

未起播率 = 未起播的 vv 数 * 100% / 播放总量
未起播包含视频起播之前用户退出或起播失败两种场景。

百秒卡顿时长

百秒卡顿时长 = 播放中卡顿总时长 / 播放时长 * 100
百秒卡顿时长指每 100 秒播放过程中的平均卡顿时长。用于反映用户观看视频过程中卡顿的严重程度。百秒卡顿时长越长,视频卡顿越严重。

平均播放码率

平均播放码率 = AVG(bit_rate)
每次播放对应的视频文件码率,计算全部播放视频的平均码率。
即客户端 SDK 上报的播放视频平均码率,其中 bit_rate 为某次播放对应的资源文件码率。

平均 seek 耗时

平均 seek 耗时 = seek 视频加载总耗时/seek 用户拖动进度总数 = sum(seek_dur)/sum(seek_cnt)

播放视频时,用户拖动进度条产生的视频加载平均耗时。

QoE 指标说明

完播量

完播量 = sum(finish_cnt)
完播量指音/视频成功显示最后一帧(即尾帧)的播放次数。循环播放记为一次完播。以下情况也属于播放完成。

  • 播放过程中拖动进度条 seek 到视频结尾,显示出尾帧;
  • 播放过程中拖动进度条 seek 到视频任意位置,继续播放视频,直至显示出尾帧;
  • 循环播放场景中,显示出尾帧后,进入循环播放。在循环播放阶段,用户退出播放。

访问用户数

访问用户数 = count(distinct(device_id))
访问用户数即日均活跃用户数量(Daily Active User,简称 DAU),通过设备标识 device_id 统计访问用户数,每个设备拥有唯一的设备标识。

人均播放时长

人均播放时长 = 播放时长/用户 = sum(watch_dur)/count(distinct case when watch_cnt>0 THEN device_id end)
即人均播放视频的时长。watch_dur 表示用户实际播放视频的时长,单位为 ms。
用户实际播放视频的时长,指从视频起播开始计算,到播放退出时累计的时长,不包含以下场景的时间。

  • 暂停的时间
  • 拖动进度条 seek 的时间
  • 网络卡顿的时间
  • 出错重试的时间
  • 以及其他一切进度条暂停的时间

人均播放数

人均播放数 = 播放量/用户 = 播放总量 / count(distinct(device_id))
播放量/用户表示平均每个用户的播放量。

人均完播次数

人均完播次数 = 完播量/用户 = sum(finish_cnt) / count(distinct(device_id))
即人均播放完成的次数。
完播量指音/视频成功显示最后一帧(即尾帧)的播放次数。循环播放记为一次完播。以下情况也属于播放完成。

  • 播放过程中拖动进度条 seek 到视频结尾,显示出尾帧;
  • 播放过程中拖动进度条 seek 到视频任意位置,继续播放视频,直至显示出尾帧;
  • 循环播放场景中,显示出尾帧后,进入循环播放。在循环播放阶段,用户退出播放。

完播率

完播率 = sum(finish_cnt) * 100% / 播放总量
即播放完成的次数占总播放次数的比例。

平均播放时长

平均播放时长 = sum(watch_dur) / sum(watch_cnt)
watch_dur 表示用户实际播放视频的时长,单位为 ms。
用户实际播放视频的时长,是指从视频起播开始计算,一直到播放退出时累计的时长, 不包含以下场景的时间。

  • 暂停的时间
  • 拖动进度条 seek 的时间
  • 网络卡顿的时间
  • 出错重试的时间
  • 以及其他一切进度条暂停的时间

警告

循环播放的时长也会累计进 watch_dur。

平均视频时长

平均视频时长 = AVG(vplay_video_dur)
vplay_video_dur 表示从视频头中获取的视频时长。通过从视频头中获取的视频时长,计算全部视频的平均时长。

成本指标说明

播放器消耗带宽

播放器消耗带宽 = sum(player_stream_data) x 8 / 300
通过点播 SDK 上报的播放器消耗的带宽。

播放器消耗流量

播放器消耗流量 = sum(player_stream_data)
通过点播 SDK 上报的播放器消耗的流量。