全链路即音视频数据从发送端产生到接收端处理的整个链路环节的情况,要保证音视频通话能否顺畅进行,一个大的原则就是:网络良好 + 设备稳定,因此当开发者在检查用户通话全链路时,首先就要从这两个地方开始。
操作步骤
1. 登录实时音视频控制台,在 监控仪表盘中选择需查看的房间。
2. 单击房间 ID 或右侧的查看通话详情,进入 通话详情 页。
3. 在收发端数据展示栏中,选择您需要查看的用户 ID,通过以下方式进入全链路详情页,查看两个用户之间的全链路详情:
在接收端视角下,单击右侧的选择发送端查看详情选择指定的发送端用户 ID。
在发送端视角下,单击右侧的查看详情。
数据解读
分析网络情况
理想情况下的网络传输是不丢包、无延时、高带宽;但实际情况往往会存在或多或少的丢包、传输延时、不稳定的情况,且网络带宽也是有限的,因此在分析网络情况时需重点关注以下部分:
网络丢包
网络出现丢包的时间点,数据图表处会显示一条红线。
丢包率 | 网络状态说明 |
= 0 | 最佳 |
< 2% | 基本良好 |
> 5% | 不佳 |
> 10%(或出现持续性的丢包) | 当前网络存在较严重的阻塞 |
码率
正常情况下,视频和音频的码率是上下波动范围 ±10% 以内的曲线。若出现码率突降,或是 >30% 以上的波动情况,则表示当前网络出现阻塞或抖动。
注意
因为屏幕分享画面的 GOP 比较长(5秒 - 10秒),正常情况下是一条具有稳定周期的峰谷曲线,有关键帧时会有一个对应的波峰。
屏幕分享上行码率和网络丢包。n
屏幕分享的码率曲线具有稳定的周期尖峰。n
帧率
正常情况下,视频帧率通常 ≥15 帧(屏幕分享的帧率一般在5帧 - 10帧)并且保持稳定。当帧率出现大于 5 帧的上下波动,或者帧率掉落到 10 帧以下且持续不回升,通常是当前网络出现阻塞或抖动,用户从主观上会感觉到卡顿。出现帧率过低的时间点,数据图表处会显示红线。
视频上行帧率:分为采集和发送帧率。n
视频渲染帧率:存在低帧率情况时会显示红线并标明卡顿时长。n
查看设备状态
设备稳定正常地工作,是保证音视频通话的基础,良好的设备状态通话是系统资源占用低、设备使用没有抢占、数据采集没有干扰。在查看设备状态时,优先查看以下信息:
CPU 占用率
CPU 占用率会显示出系统总体的 CPU 占用率及 App 的 CPU 占用率,正常情况下系统总体的 CPU 占用率 <50%,越低越好,当系统总体的 CPU 占用率 >85% 时,容易出现程序无响应或响应慢的情况,此时会以红线展示。n
SDK 任务耗时
部分安卓系统和版本无法计算 CPU,采用 SDK 任务耗时来评价设备情况。耗时 >60ms,表示系统 CPU 使用率较高,容易出现程序无响应或响应慢的情况,建议关闭其他后台程序或升级硬件。n
音量大小
音频采集音量是发送端从麦克风拿到数据的音量大小,采集音量大小有数值波动说明麦克风在正常采集声音,即设备工作正常。
音频播放音量是接收端解码渲染数据后送扬声器的音量大小,播放音量大小有数值波动说明 SDK 已经送声音到扬声器,即 SDK 工作正常。
正常的音量大小一般在 40dB - 80dB 之间,小于 40dB 时说明声音音量较小,若用户听不到声音则需要检查手机本身是否打开了静音,或者是否硬件故障。n
分辨率
视频和屏幕分享的分辨率作为辅助信息,主要用在旁路直播及录制文件回放的判断。若视频的分辨率存在变化,则通过 CDN 观看旁路直播的观众,或者是观看视频回放的观众,可能会存在一些播放器兼容问题如画面卡住、花屏等,尤其是 Web 端用户。n
说明
检查客户端事件
客户端事件对应的是 App 调用 SDK 的方法操作,通常情况下是用来辅助定位软件问题和分析 bug,通过分析用户使用的操作步骤,复现相应的场景,对于客户端的事件,重点关注以下情况:
进房、退房事件。
开启、关闭摄像头或麦克风。
设备变化:如切换摄像头、插拔耳机、接入蓝牙耳机等。
开始、停止推流或播放。
静音/取消静音操作、静画/取消静画操作。
切换网络:例如从4G切 WIFI。
单击查看详细事件,可进入详细事件列表,查看客户端上的关键事件操作过程。n