在下图的例子中,视频被编码成多个码率,最低码率是64K,最高码率的1.5M。一开始用户都集中在64K最低码率,随时间推移有更多用户从低码率跳到了高码率的视频,在播放一分钟后,所有用户都在使用1.5Mbps的码率视频,对应的Adaptive Streaming Score也从0一直上升到了100。
图3、Adaptive Streaming Score
媒体服务层面
Adaptive Streaming Buffering Wait Times
在线的HTTP ABR媒体流Buffer等待时间,Buffer等待时间是指在这个时间内视频处于图像静止的Loading状态。
Adaptive Streaming Avg. Fragment Response & Download Time
媒体文件片段平均响应时间(从发出GET到收到第一个数据字节)和下载时间(收到第一个字节数据到最后一个字节数据),统计显示两个时间之和,并检查该文件片段是属于哪个视频码率段的,对该码率段的所有响应和下载时间取均值。该指标是指示在某个码率段中文件片段的响应和下载时间。
Adaptive Streaming Active Video Channels
实时显示在线的HTTP ABR媒体流在各个码率段分布情况
图4、HTTP ABR媒体流的码率分布
Fragment Run Statistic
Abort Fragment Request下载文件片段中断次数
Buffer Underrun Fragment用户等待视频下载才能播放的次数,除了用户刚发起新的视频请求播放的之外,在播放过程中该指标在网络理想情况下应为0,出现额外的Underrun则表示有卡顿。
Pre-Cached Fragment 预下载的文件片段数量
Bitrate Shift
码率向上升速的次数Total Upshifts、码率向下降速的次数Total Downshifts、码率维持不变的次数Total Rate Maintaining
其他统计计数
Sessions、Channels、Http Requests、Manifest Requests、Fragment Requests的计数统计
网络层面
网络流量、TCP连接统计、TCP SYN/ACK时间统计、Round Trip时间统计、TCP重传超时统计、TCP收到第一个数据包的时间统计、估算服务器响应时间统计、TCP Checksum fail、Bad header length、Bad data length、Duplicate、Out of sequence、Timeout统计等等网络参数,以分析网络层面的抖动、时延、丢包、错包等各种问题。