腾讯云实时音视频 TRTC 为开发者提供了线上通话质量详情的记录的监控仪表盘,开发者可以通过监控仪表盘查看通话详情和信息,了解终端用户的通话状态。
通话记录列表
登录实时音视频控制台,打开监控仪表盘。
监控仪表盘默认展示最后一个创建的应用当天的房间记录列表,按通话开始时间倒序排列,开发者需要手动选择相应的应用来检索对应的通话房间列表。
若开发者需要查看具体的某一次房间信息,可以选择相应的时间段,输入房间 ID (roomid)或用户 ID (userid)进行【搜索通话】。
在此页面上各项展示信息:
- 房间 ID:应用通话所使用的 roomid
- 开始时间至结束时间:通话房间的起止时间
- 房间持续时长:第一个用户进入到最后一个用户退出的时长,若通话尚未结束,则为第一个用户进入至查询时的持续时长
- 参与用户数:进入过房间的累计用户数
- 操作:可以点击【查看通话详情】进入通话详情页面查看详细图表
查看通话详情
开发者可以选择房间列表中所需查看的记录,点击【查看通话详情】,进入通话详情页。
在通话详情页面,开发者可以查看以下信息:
通话记录信息
展示包括 SDKAppID、应用名、房间 ID、房间累计用户数、通话起止时间、持续时长等通话记录信息。
显示时间范围
显示当次查询对应的时间段,单次查询最多显示 5 小时。
通话用户列表
展示包括用户 ID、用户角色、用户类型、区域、用户在当前时间范围内停留情况、用户进出房时间、持续时长、SDK 版本、SDK 类型、设备信息及网络信息。
- 用户 ID 默认展示最近的 6 名用户,最多同时展示 20 名用户。当用户数超过 6 人时,开发者可以手动【添加用户】,或【查看全部用户】后选择添加。
- 用户角色:分为主播、观众两种,主播具有上行、下行权限,观众只有下行权限。
- 用户类型:展示用户的上、下行类型,绿色上箭头表示用户有过数据上行,黄色下箭头表示用户有过数据下行。
- 区域:用户对应的地理区域。
- 用户在当前时间范围内停留情况:在当次查询显示时间范围之内,用户在房间中停留的时段以蓝色区块显示,用户不在房间内的时间段以灰色区块显示。
- 用户进出房时间:用户第一次进入房间到最后一次退出房间的时间。
- 持续时长:用户在房间内累计停留的时长。
- SDK 版本:用户当前客户端的 SDK 版本号。
- SDK 类型:用户使用的平台或操作系统类型。
- 设备展示:用户使用的系统型号或代号。
- 网络显示:用户使用的网络类型(小程序端可能显示为空)。
数据概览
对于通话用户而言,在接收远端其他人数据的同时,也会将自己本地的数据发送出去,因此需要有接收与发送两个方向的数据信息。默认情况下,监控仪表盘通话详情页展示的就是【接收端视角】下的数据概览,可以点击切换到【发送端视角】。
接收端视角
分为【全部】、【视频】、【音频】以及【屏幕分享】四个子视角,有接收到对应类型的数据时,在监控仪表盘页面会展示对应的标签项,若没有则不展示。
概览图表默认展示用户接收到的所有其他用户的数据情况,通过不同颜色的区域标记,开发者可以选择指定的发送端用户查看单个用户的数据概览。
概览图表中出现红线的地方,表示在此时间点出现过网络抖动,详细数据可以在通话详情中查看。
当显示的时间段较长时,开发者可以在数据图表中使用滚轮缩放查看更详细的时间点数据。
发送端视角
分为【全部】、【视频】、【音频】以及【屏幕分享】四个子视角,有发送对应类型的数据时,在监控仪表盘页面会展示对应的标签项,若没有则不展示。开发者可以点击【查看详情】跳转到详情页面查看发送端的详情与详细事件。
概览图表中出现红线的地方,表示在此时间点出现过网络抖动,详细数据可以在通话详情中查看。
当显示的时间段较长时,开发者可以在数据图表中使用滚轮缩放查看更详细的时间点数据。
查看链路详情
开发者可以在【接收端视角】下,通过【选择发送端查看详情】选择指定的用户 ID 查看两个用户之间的全链路详情。
详情页分为【视频】、【音频】以及【屏幕分享】三个详情,可以分别查看不同的数据链路详情。
如何解读全链路详情
全链路即音视频数据从发送端产生到接收端处理的整个链路环节的情况,要保证音视频通话否顺畅进行,一个大的原则就是:网络良好 设备稳定,因此当开发者在检查用户通话全链路时,首先就要从这两个地方开始。
对于全链路详情,通常可以参考如下步骤进行解读:
分析网络情况
理想情况下的网络传输是不丢包、无延时、高带宽,实际情况往往会存在或多或少的丢包,传输延时不稳定,网络带宽也是有限的,在分析网络情况时,重点关注以下部分:
- 网络丢包
网络丢包 =0 是最好的,丢包率 <2% 说明网络状态基本良好,丢包率 >5% 说明网络状态不佳,丢包率 >10% 或出现持续性的丢包时说明当前网络存在较严重的阻塞。网络出现丢包的时间点,数据图表处会显示一条红线。
- 码率
正常情况下,视频和音频的码率是上下波动范围 ±10% 以内的曲线。若出现码率突降,或是 >30% 以上的波动情况,则表示当前网络出现阻塞或抖动。
注意:因为屏幕分享画面的 GOP 比较长(5~10秒),正常情况下是一条具有稳定周期的峰谷曲线,有关键帧时会有一个对应的波峰。
- 帧率
正常情况下,视频帧率通常 ≥15 帧(屏幕分享的帧率一般在 5~10 帧)并且保持稳定。当帧率出现大于 5 帧的上下波动,或者帧率掉落到 10 帧以下且持续不回升,通常是当前网络出现阻塞或抖动,用户从主观上会感觉到卡顿。出现帧率过低的时间点,数据图表处会显示红线。
查看设备状态
设备稳定正常地工作,是保证音视频通话的基础,良好的设备状态通话是系统资源占用低、设备使用没有抢占、数据采集没有干扰。在查看设备状态时,优先查看以下信息:
- CPU 占用率
CPU 占用率会显示出系统总体的 CPU 占用率及 APP 的 CPU 占用率,正常情况下系统总体的 CPU 占用率 <50%,越低越好,当系统总体的 CPU 占用率 >85% 时,容易出现程序无响应或响应慢的情况,此时会以红线展示。
- 音量大小
音频采集音量是发送端从麦克风拿到数据的音量大小,采集音量大小有数值波动说明麦克风在正常采集声音,即设备工作正常。
音频播放音量是接收端解码渲染数据后送扬声器的音量大小,播放音量大小有数值波动说明 SDK 已经送声音到扬声器,即 SDK 工作正常。
正常的音量大小一般在 40-80dB 之间,小于 40dB 时说明声音音量较小,若用户听不到声音则需要检查手机本身是否打开了静音,或者是否硬件故障。
- 分辨率
视频和屏幕分享的分辨率可以作为一个辅助信息,主要用在旁路直播及录制文件回放的判断,若视频的分辨率存在变化,则通过CDN观看旁路直播的的观众,或者是观看视频回放的观众,可能会存在一些播放器兼容问题如画面卡住、花屏等,尤其是Web端用户。
注:分辨率-码率-帧率是存在一定配合关系的,通常来说,当分辨率固定时,码率越高,画面越清晰,而如果码率一定,则分辨率越大,画面越模糊。合理的配置分辨率-码率-帧率的参数,可以达到更好的视频画面质量。
检查客户端事件
客户端事件对应的是APP调用SDK的方法操作,通常情况下是用来辅助定位软件问题和分析bug,通过分析用户使用的操作步骤,复现相应的场景,对于客户端的事件,重点关注以下情况:
- 进房、退房事件
- 开启、关闭摄像头或麦克风
- 设备变化:如切换摄像头、插拔耳机、接入蓝牙耳机等
- 开始、停止推流或播放
- 静音/取消静音操作、静画/取消静画操作
- 切换网络:比如从4G切WiFi
结尾
实际环境中,网络变动、设备变化、用户操作都是无法预知的,技术所能做的是确保在一定的环境中进行更好的适配与优化,实现一个最好的表现效果,TRTC的监控仪表盘中通过数据的图表友好的展示了音频通话详情信息,能够帮助开发者定位线上的业务运行情况,也欢迎开发者到Github上向TRTC反馈建议与意见:https://github.com/tencentyun/TRTCSDK