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

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

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

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

搜索通话

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

搜索通话步骤:

  1. 点击左上角选择你要查询的项目。
  2. 指定需要查询的时间范围。
  3. 选择按照频道名称或者 User用户名)查询。
  4. 筛选通话:你可以选择全部通话或已结束的通话或进行中的通话进行。
  5. 点击搜索通话,即可显示符合搜索条件的所有通话。

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

查看通话质量

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

通话基本信息


通话基本信息显示你的项目名称、频道名称、整段通话的起止时间和持续时长和总时长。

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

用户列表

用户列表显示用户名、所在区域、进出频道的时间、总时长、在频道内的实际时间和 SDK 版本等。

在列表最右侧的查看体验栏,点击按钮选择是否用通话体验质量面板显示该用户的信息。

通话中人数较多时,用户列表仅列出部分关键用户;如果你想查看的用户不在列表内,点击列表上的点击这里展开,通过选择用户的平台、设备名、角色是否为主播等搜索用户,找到你想添加的用户后,开启添加用户按钮。

通话体验质量

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

面板上方展示用户的基本信息,包括 User ID/User Account、平台、SDK 版本和用户对通话的评分(需要开启评分功能)。

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

面板下方展示用户的事件轴,点击事件轴上的箭头可以了解到该用户的行为。你需要着重关注红色的箭头,它代表着比较重要的用户行为,如加入频道失败。

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

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

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

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

分析通话质量问题

端到端详情页面提供从特定发送端到特定接收端详细的音频和视频质量指标,这些指标共同影响了最终用户的通话体验。

你也可以点击 Exchange Direction 切换用户视角。左边面板原来显示用户 A 作为发送端的音视频信息,右边面板原来显示用户 B 作为接收端的音视频信息,切换用户视角后,左边面板则显示用户 B 作为发送端的音视频信息,右边面板则显示用户 A 作为接收端的音视频信息。

通过分析这些指标,你可以找到通话质量问题出在哪个环节。以下为各项指标的具体含义:

设备状态

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

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

用户行为

用户行为会反映在通话体验质量面板端对端详情页面的事件轴上。事件轴上有红色、黄色和绿色的箭头,分别代表着严重事件一般事件正常事件

  • 严重事件会直接影响通话体验,接收端将难以看到正常的画面。这些事件包括用户加入频道失败、网络连接失败、主动关闭音视频模块或停止摄像头采集等。

  • 一般事件对通话体验可能造成一定影响。这些事件包括用户网络状态未知、IP 地址变动、用户停止发送/接收音视频流等。

  • 正常事件不会影响通话体验。这些事件包括用户成功加入频道、打开摄像头采集和收到音视频首帧等。

如果用户在一分钟内高频重复相同的某行为,显示该行为的箭头会更高。

码率

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

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

丢包

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

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

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

帧率

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

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

分辨率

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

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

该指标仅在接收端展示。

重要概念

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

频道

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

通话

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

用户

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

接收端

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

发送端

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

总时长

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

在频道内时间

一个通话中的某个用户可能多次加入和离开频道,该时长能准确反映用户在频道内的总时间。

计费是按照用户实际在频道内的有效分钟数计算。