全链路即音视频数据从发送端产生到接收端处理的整个链路环节的情况,要保证音视频通话是否顺畅进行,一个大的原则就是:网络良好 + 设备性能稳定,因此当开发者在检查用户通话全链路时,首先就要从这两个地方开始。
操作步骤
- 登录实时音视频控制台。
- 在【监控大厅】中选择需查看的频道。
- 单击频道列表右侧的【查看通话】,进入 通话详情 页。
- 在接收端数据展示栏中,点击【查看详情】按钮选择发送端用户 ID,进入全链路详情页。
数据说明
全链路详情页中展示的数据分为【视频】、【音频】二个类型,可以分别查看发送端和接收端不同链路的数据。
对于全链路详情,可通过 网络情况、 设备状态、用户行为 三个方面进行分析:
网络情况
理想情况下的网络传输是不丢包、无延时、高带宽;但实际情况往往会存在或多或少的丢包、传输延时、不稳定的情况,且网络带宽也是有限的,因此在分析网络情况时需重点关注以下部分:
网络丢包
网络出现丢包的时间点,数据图表处会显示一条红线。
丢包率 | 网络状态说明 |
---|---|
= 0 | 最佳 |
< 2% | 基本良好 |
> 5% | 不佳 |
> 10%(或出现持续性的丢包) | 当前网络存在较严重的阻塞 |
码率
正常情况下,视频和音频的码率是上下波动范围 ±10% 以内的曲线。若出现码率突降,或是 >30% 以上的波动情况,则表示当前网络出现阻塞或抖动。
- 音频上行和网络丢包。
- 音频下行和网络丢包。
- 视频上行和网络丢包。
- 视频行码率和网络丢包。
帧率
正常情况下,视频帧率通常 ≥15 帧(屏幕分享的帧率一般在5帧 - 10帧)并且保持稳定。当帧率出现大于 5 帧的上下波动,或者帧率掉落到 10 帧以下且持续不回升,通常是当前网络出现阻塞或抖动,用户从主观上会感觉到卡顿。出现帧率过低的时间点,数据图表处会显示红线。
- 视频发送帧率
- 视频帧率和卡顿, 存在卡顿情况时会显示红线并标明卡顿时长。
设备状态
设备稳定正常地工作,是保证音视频通话的基础,良好的设备状态通话是系统资源占用低、设备使用没有抢占、数据采集没有干扰。在查看设备状态时,优先查看以下信息:
CPU 占用率
CPU 占用率会显示出系统总体的 CPU 占用率及 App 的 CPU 占用率,正常情况下系统总体的 CPU 占用率 <50%,越低越好,当系统总体的 CPU 占用率 >85% 时,容易出现程序无响应或响应慢的情况。
Web 端和小程序端不支持获取 CPU 使用量,Android 部分设备也获取不到。
音量大小
- 音频采集音量是发送端从麦克风拿到数据的音量大小,采集音量大小有数值波动说明麦克风在正常采集声音,即设备工作正常。
- 音频播放音量是接收端解码渲染数据后扬声器的播放音量大小,播放音量大小有数值波动说明 SDK 已经送声音到扬声器,即 SDK 工作正常。
正常的音量大小一般在 40dB - 80dB 之间,小于 40dB 时说明声音音量较小,若用户听不到声音则需要检查手机本身是否打开了静音,或者是否硬件故障。
分辨率
分辨率作为辅助信息,如果发送端分辨率不稳定,可能会存在一些播放器兼容问题如画面卡顿、花屏等。
用户行为
用户行为事件以柱状图形式展现,分为正常事件、一般事件和严重事件。
柱状图 | 事件类型 | 事件说明 |
---|---|---|
绿色 | 正常事件 | 对音视频通话无影响,例如用户加入房间、打开扬声器和插上耳机等 |
黄色 | 一般事件 | 对音视频通话有一定影响,例如用户停止发送/接收音视频流,IP 发生变化等 |
红色 | 严重事件 | 严重影响音视频通话质量,例如开播端停止音视频发送、网络切换,观看端观看某个用户的音视频卡顿,听不到某个 UID 的声音,网络切换等事件 |
用户事件内容如下:
事件类型 | 具体事件 | 说明 |
---|---|---|
正常事件 | 加入频道 | 用户调用 joinChannel 方法 |
正常事件 | 选择网关 | 用户调用 joinChannel 方法后获取到网关的事件 |
正常事件 | 加入频道成功 | 成功加入频道的回到事件 |
正常事件 | 音频发布成功 | 本地音频发布成功事件 |
正常事件 | 视频发布成功 | 本地视频发布成功事件 |
正常事件 | 音频订阅成功 | 订阅远端用户音频事件 |
正常事件 | 视频订阅成功 | 订阅远端用户视频事件 |
正常事件 | 本地第一帧视频发送 | 本地第一帧视频发送 |
正常事件 | 本地第一帧音频发送 | 本地第一帧音频发送 |
正常事件 | 远端用户第一帧音频 | 当订阅某个用户成功后,本地解析的第一帧音频事件 |
正常事件 | 远端用户第一帧视频 | 当订阅某个用户成功后,本地解析的第一帧视频事件 |
正常事件 | 网络连接:(1:成功/3:重连成功) | 当网络状态发生变化后,连接成功的回调事件 |
一般事件 | 网络连接(2:连接中) | 当网络状态发生变化后,连接中的回调事件 |
一般事件 | 用户进出后台 | 用户进入后台事件以及进入前台事件 |
一般事件 | 音频路由更改 | 用户音频输出路由更改事件 |
一般事件 | 网络状态切换 | 用户网络变化:4G 到 WIFI,WIFI 到 4G,4G 到 3G 等事件 |
一般事件 | 分辨率更改 | 用户分辨率更改事件 |
严重事件 | 音频设备开启 | 本地音频设备打开状态 |
严重事件 | 视频设备开启 | 本地视频设备打开状态 |
严重事件 | 禁用本地音频模块 | 禁用本地音频模块后,本地用户不发送也不接收音频数据 |
严重事件 | 禁用本地视频模块 | 禁用本地视频模块后,本地用户不发送也不接收视频数据 |
严重事件 | 本地音频禁止发送 | 用户对本地音频是否发送的事件 |
严重事件 | 本地视频禁止发送 | 用户对本地视频是否发送的事件 |
严重事件 | 本地不接收某用户的音频 | 本地用户取消订阅摸个用户的音频流 |
严重事件 | 本地不接收某用户的视频 | 本地用户取消订阅摸个用户的视频流 |
严重事件 | 角色更改 | 本地用户的角色更改事件 |
严重事件 | 离开频道 | 用户离开频道事件 |
严重事件 | 网络连接(4:失败) | 用户连接失败的事件 |
严重事件 | 与服务断开连接 | 用户与服务器断开连接的事件 |