概览

水晶球(Agora Analytics)是 Agora 为开发者提供的实时质量监控工具。

水晶球的通话调查功能以图表的形式展示每一通通话全链路质量数据,可以极大提高解决通话问题的效率。

通话调查中提供的数据包括:

  • 设备状态,包括系统 CPU 的使用率,以及 SDK 的 CPU 使用率
  • 用户行为,比如静音、离线等
  • 音视频发送/接收码率
  • 音视频卡顿情况
  • 音量信息,包括本地采集音量和远端发送音量
  • 网络丢包率,包括上行丢包和端到端丢包
  • 用户对通话的主观评分

你可以快速从视图和数据指标中识别通话质量问题,点击查看使用水晶球分析通话的案例教程

搜索通话

登录 Agora Dashboard,点击左侧菜单栏水晶球下的通话调查,进入通话搜索页面。

搜索通话步骤:

  1. 选择一个项目
  2. 指定需要查询的时间范围(如不指定默认搜索 14 天内发生的所有通话)
  3. 选择按照频道名称或者按照 UID 搜索
  4. 输入你关注的频道名称或者 UID,点击搜索通话,即可显示符合搜索条件的所有通话。

通话调查默认使用 UTC 时间,如果你需要以本地时区查看通话,点击页面顶部菜单栏的时钟切换时区。

查看通话质量

通话体验概览页面显示一个通话中每个用户作为接收端的通话体验(在通话过程中是否卡顿、模糊、没有声音、没有画面),可以帮助你快速了解这个通话的体验质量。

通话基本信息


通话概览页面的上方显示通话的基本信息,包括项目名称、频道名称、整段通话的起止时间和持续时长。

目前支持查看的通话时长最长为 3 小时。如果通话超过 3 小时,默认显示该通话的最后 3 小时,你可以在时间线上拖动鼠标调整查看的时间段。

用户列表

通话基本信息下方是用户列表,列出用户的通话相关信息,包括用户的 UID、所在区域、在线状态、使用的设备和系统、SDK 版本等。

在用户列表最右侧的查看体验栏可以点击按钮切换是否显示该用户的通话体验数据。

通话中人数较多时,用户列表仅列出部分关键用户;如果你想查看的用户不在列表内,在用户列表的右下角输入你想查看的用户 UID,点击添加用户按钮。

通话体验质量

用户列表下的通话体验质量面板展示各用户作为接收端的通话体验质量。

通话体验质量图上方展示用户的基本信息,包括用户 UID、平台、SDK 版本以及用户对通话的评分(需要开启评分功能)。

点击了解如何在 AndroidiOSmacOS 以及 Windows 平台上实现评分功能。

通话体验质量图中,横轴表示通话时间,以横轴为界上下分别显示视频和音频的通话体验:

  • 横轴以上为视频接收码率,如果有多个发送端,每个发送端会占一条线,以不同颜色区分。
  • 红色虚线表示视频模糊
  • 红色向上的毛刺表示视频卡顿
  • 红色向下的毛刺表示音频卡顿
  • 横轴以下为音频接收码率,音频接收码率不区分发送端,一条曲线显示总的音频接收码率。

通话体验质量面板默认显示所有的发送端数据,如果发送端较多,你可以通过在页面右下角的工具栏勾选只显示你关注的发送端。

如果发现某一个发送端通话体验质量不佳,点击右上角的查看详情,选择该发送端,进入端到端详情页面。

分析通话质量问题

端到端详情页面提供从特定发送端到特定接收端详细的音频和视频质量指标,这些指标共同影响了最终用户的通话体验。通过分析这些指标,你可以找到通话质量问题出在哪个环节。以下为各项指标的具体含义:

设备状态

SDK 以及操作系统的 CPU 占用率。如果用户使用的设备性能较差,CPU 占用率可能会过高,造成音视频卡顿。

Android 8.0 及以上版本无法获取 CPU 占用率信息,将用新指标 SDK 任务调度延迟代替。这个指标是 SDK 的工作线程任务调度的时间间隔,可以间接反映系统的性能。

用户行为

用户主动的停止发送视频、静音等行为,这些行为会直接影响通话体验。比如发送端主动停止发送视频,接收端则自然看不到画面。

码率

码率是指数据传输时单位时间传送的数据位数。

音频码率越高则音质越好,视频同理。码率低不一定会导致通话质量问题,但是过低的码率往往意味着音视频质量较差。

丢包

丢包是指在数据传输过程中发生的数据包丢失,以百分比表示。

发送端的丢包计算的是数据发送过程的丢包,接收端的丢包计算的是从发送端到接收端的丢包。

轻微的丢包通常不会影响用户的体验,丢包率过高(超过 5%)意味着网络质量较差,可能会导致音视频卡顿、视频模糊等问题。

帧率

帧率是称为帧的位图图像连续出现在显示器上的速率。

帧率越高视频越流畅,同时也需要更多的带宽和 CPU。帧率过低会造成视觉卡顿。

分辨率

分辨率是指图像的宽和高的像素值。

接收的视频画面分辨率越高(像素值越大),视频的画面越清晰。

该指标仅在接收端展示。

重要概念

本节介绍通话调查涉及的重要概念,点击了解更多 Agora 的关键概念

频道

使用 Agora SDK 进行的所有通话都是在频道内发生的。我们把一个 App 比作一栋大楼的话,频道就好比大楼里面的一个房间。

通话

一个频道里可以发生多次通话。频道内有用户加入,通话就开始了,一直到所有用户都离开频道时,通话结束。如果一段时间后,有用户加入了频道,一个新的通话又开始了。我们把从第一个用户加入频道到最后一个用户离开频道的这段时间视作一个通话。通话调查的搜索结果就是一个个符合搜索条件的通话。

用户

通话中的每个用户都有唯一的 UID 用于标识身份。通话调查中以发送和接收数据的角度来展示和分析用户的通话体验质量。

接收端

通话体验概览页面展示的是每个用户作为接收数据的对象,也就是接收端的通话体验质量。通话中的每个用户都有作为接收端的通话体验质量。

发送端

发送端是指用户作为发送数据的对象。如果用户在通话中发送数据持续一定的时间,会被视为一个发送端,在用户列表中发送端的用户 UID 后面会有一个喇叭的图案标识。

总时长

  • 对于一个通话来说,总时长计算的是从通话开始到通话结束经过的时间,也就是从频道内第一个用户进入到最后一个用户离开经过的时间。
  • 对于通话中的一个用户来说,总时长计算的是该用户在这个通话中第一次加入频道到他/她最后一次离开频道所经过的时间。一个通话中的某个用户可能多次加入和离开频道,因此该时长不能准确反映用户在频道内的总时间。

这里的时长与计费统计的分钟数不同;计费是按照用户实际在频道内的有效分钟数计算。