端到端详情

全链路即音视频数据从发送端产生到接收端处理的整个链路环节的情况,要保证音视频通话否顺畅进行,一个大的原则就是:网络良好 + 设备稳定,因此当开发者在检查用户通话全链路时,首先就要从这两个地方开始。

操作步骤

1. 登录实时音视频控制台,在监控仪表盘(Monitoring Dashboard)中选择需查看的房间。
2. 单击房间 ID 或右侧的查看通话详情,进入通话详情页。
3. 在收发端数据展示栏中,选择您需要查看的用户 ID,通过以下方式进入全链路详情页,查看两个用户之间的全链路详情:
接收端视角下,单击右侧的选择发送端查看详情选择指定的发送端用户 ID。
发送端视角下,单击右侧的查看详情

数据解读

全链路详情页中展示的数据分为视频音频以及屏幕分享三个类型,可以分别查看发送端和接收端不同的链路的数据。
接收端视角进入的全链路详情为发送端用户与接收端用户之间的通话详情信息,展示通话基本信息以及发送端接收端视频音频指标下的详情信息。
输入端视角进入的全链路详情为发送端用户的通话详情信息,展示通话基本信息以及发送端视频音频指标下的详情信息。

通话基本信息

在页面顶端展示了通话基本信息的6个字段,包括 SDKAppID、应用名称、房间 ID、用户总数、开始时间-结束时间、房间总持续时长。




发送端

视频详情信息
视频详情信息包括四大板块,视频上行与网络丢包、控制指标、视频帧率、视频发送分辨率,每个板块的多个指标以多维可视化图表的形式展现。
视频上行与网络丢包
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;左边纵轴为主图像传输比特率,用蓝色线条表示;右边纵轴为主图像丢包率,用红色线条表示。
图像中不同颜色的圆点表示不同类型的事件,可通过点击图像下方对应颜色的按钮筛选并查看不同类型事件。事件类型共8种:进入房间、信号通道连接成功、建立上行媒体传输通道、打开视频、建立下行媒体传输通道、禁用视频、信号通道已断开、自愿退出。
:从输入端视角进入全链路详情时,事件类型为除“建立下行媒体传输通道”的7种类型。



控制指标
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;纵轴为SDK和云端之间的往返时间,以毫秒为单位,用蓝色线条表示。



视频帧率
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;纵轴为帧率,鼠标悬浮于图像中可查看三项指标:主图像采集帧率、主图像发送帧率、主图像RTC视频编码帧率。



视频发送分辨率
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;纵轴为分辨率,鼠标悬浮于图像中可查看主图像分辨率。



音频详情信息
音频详情信息包括三大板块,音频上行与网络丢包、控制指标、音频采集音量,每个板块的多个指标以多维可视化图表的形式展现。
音频上行与网络丢包:
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;左边纵轴为音频发送比特率,用蓝色线条表示;右边纵轴为音频丢包率,用绿色线条表示。
图像中不同颜色的圆点表示不同类型的事件,可通过点击图像下方对应颜色的按钮筛选并查看不同类型事件。事件类型共8种:进入房间、信号通道连接成功、建立上行媒体传输通道、打开音频、建立下行媒体传输通道、禁用音频、信号通道已断开、自愿退出。



控制指标:
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;纵轴为SDK和云端之间的往返时间,以毫秒为单位,用蓝色线条表示。



音频采集音量:
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;纵轴为音量,用蓝色线条表示。




接收端

视频详情信息
视频详情信息包括四大板块,视频下行与网络丢包、控制指标、视频帧率与延迟、视频接收分辨率,每个板块的多个指标以多维可视化图表的形式展现。
视频下行与网络丢包
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;左边纵轴为主图像接收比特率,用蓝色线条表示;右边纵轴为主图像丢包率,用红色线条表示。
图像中不同颜色的圆点表示不同类型的事件,可通过点击图像下方对应颜色的按钮筛选并查看不同类型事件。事件类型共6种:进入房间、信号通道连接成功、建立下行媒体传输通道、打开远程视频、建立上行媒体传输通道、自愿退出。



控制指标
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;纵轴为SDK和云端之间的往返时间,以毫秒为单位,用蓝色线条表示。



视频帧率与延迟
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;左边纵轴表示主图像接收视频帧率,用蓝色线条表示;右边纵轴为主图像渲染延迟持续时长,用红色线条表示;紫色线条表示RTC视频解码帧率。将鼠标悬浮于图像中,可查看对应时间点视频帧率与延迟的详细信息。



视频接收分辨率
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;纵轴为主图像接收分辨率,鼠标悬浮于图像中可查看分辨率详细信息。



音频详情信息
音频详情信息包括四大板块,音频下行与网络丢包、控制指标、音频播放音量、音频播放延迟,每个板块的多个指标以多维可视化图表的形式展现。
音频下行与网络丢包
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;左边纵轴为音频接收比特率,用蓝色线条表示;右边纵轴为音频丢包率,用绿色线条表示。
图像中不同颜色的圆点表示不同类型的事件,可通过点击图像下方对应颜色的按钮筛选并查看不同类型事件。事件类型共5种:进入房间、信号通道连接成功、建立下行媒体传输通道、建立上行媒体传输通道、自愿退出。



控制指标
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;纵轴为SDK和云端之间的往返时间,以毫秒为单位,用蓝色线条表示。



音频播放音量
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;纵轴为音量,用蓝色线条表示。



音频播放延迟
图像横轴为时间颗粒度,可通过滑动滚轮改变颗粒度大小;纵轴为音频播放延迟。




重点关注指标

对于全链路详情,可通过 网络传输设备状态 两个方面进行分析:

网络传输

理想情况下的网络传输是不丢包、无延时、高带宽;但实际情况往往会存在或多或少的丢包、传输延时、不稳定的情况,且网络带宽也是有限的,因此在分析网络情况时需重点关注以下部分:
网络丢包:网络出现丢包的时间点,数据图表处会显示一条红线。
丢包率
网络状态说明
= 0
最佳
< 2%
基本良好
> 5%
不佳
> 10%(或出现持续性的丢包)
当前网络存在较严重的阻塞
码率:正常情况下,视频和音频的码率是上下波动范围 ±10% 以内的曲线。若出现码率突降,或是 >30% 以上的波动情况,则表示当前网络出现阻塞或抖动
注意:
因为屏幕分享画面的 GOP 比较长(5秒 - 10秒),正常情况下是一条具有稳定周期的峰谷曲线,有关键帧时会有一个对应的波峰。
屏幕分享上行码率和网络丢包。
屏幕分享的码率曲线具有稳定的周期尖峰。
帧率:正常情况下,视频帧率通常 ≥15 帧(屏幕分享的帧率一般在5帧 - 10帧)并且保持稳定。当帧率出现大于 5 帧的上下波动,或者帧率掉落到 10 帧以下且持续不回升,通常是当前网络出现阻塞或抖动,用户从主观上会感觉到卡顿。出现帧率过低的时间点,数据图表处会显示红线。
视频上行帧率:分为采集和发送帧率。
视频渲染帧率:存在低帧率情况时会显示红线并标明卡顿时长。

设备状态

设备稳定正常地工作,是保证音视频通话的基础,良好的设备状态通话是系统资源占用低、设备使用没有抢占、数据采集没有干扰。在查看设备状态时,优先查看以下信息:
CPU 占用率:CPU 占用率会显示出系统总体的 CPU 占用率及 App 的 CPU 占用率,正常情况下系统总体的 CPU 占用率 <50%,越低越好,当系统总体的 CPU 占用率 >85% 时,容易出现程序无响应或响应慢的情况,此时会以红线展示
SDK 任务耗时:部分安卓系统和版本无法计算 CPU,采用 SDK 任务耗时来评价设备情况。耗时 > 60ms,表示系统 CPU 使用率较高,容易出现程序无响应或响应慢的情况,建议关闭其他后台程序或升级硬件。
音量大小:
音频采集音量是发送端从麦克风拿到数据的音量大小,采集音量大小有数值波动说明麦克风在正常采集声音,即设备工作正常
音频播放音量是接收端解码渲染数据后送扬声器的音量大小,播放音量大小有数值波动说明 SDK 已经送声音到扬声器,即 SDK 工作正常
正常的音量大小一般在 40dB - 80dB 之间,小于 40dB 时说明声音音量较小,若用户听不到声音则需要检查手机本身是否打开了静音,或者是否硬件故障。
分辨率:视频和屏幕分享的分辨率作为辅助信息,主要用在旁路直播及录制文件回放的判断。若视频的分辨率存在变化,则通过 CDN 观看旁路直播的的观众,或者是观看视频回放的观众,可能会存在一些播放器兼容问题如画面卡住、花屏等,尤其是 Web 端用户。
说明:
分辨率码率帧率 是存在一定配合关系的。通常来说,当分辨率固定时,码率越高,画面越清晰;而如果码率固定,则分辨率越大,画面越模糊。合理的配置分辨率、码率和帧率的参数,可以达到更好的视频画面质量。
检查客户端事件:客户端事件对应的是 App 调用 SDK 的方法操作,通常情况下是用来辅助定位软件问题和分析 bug,通过分析用户使用的操作步骤,复现相应的场景,对于客户端的事件,重点关注以下情况:
进房、退房事件。
开启、关闭摄像头或麦克风。
设备变化:如切换摄像头、插拔耳机、接入蓝牙耳机等。
开始、停止推流或播放。
静音/取消静音操作、静画/取消静画操作。
切换网络:例如从4G切 WIFI。
单击查看详细活动,可进入详细事件列表,查看客户端上的关键事件操作过程。