本文档主要围绕开发者最关心的音视频质量、延迟、流畅性、稳定性以及 CPU、内存、耗电、发热等关键指标,在正常、弱网环境及不同实时互动场景(1v1、1vN等)下进行客观测试及分析总结。
无损及弱网环境下的效果质量
测试场景
视频通话及在线直播的音视频场景和语音通话场景。
参数配置
视频通话:
参数类型 | 配置信息 |
分辨率 | 368 × 640 |
码率 | 400 Kbps |
帧率 | 15 |
互动直播:
参数类型 | 配置信息 |
分辨率 | 720 × 1280 |
码率 | 1200 Kbps |
帧率 | 15 |
极限网络抗性测试数据
极限网络抗性测试指的是在各种网络损伤环境下,测试 SDK 所能承受的最大网络损伤。
说明
音频弱网 MOS 值
数据解读:实时音视频 TRTC 能够在非常不理想的网络环境下以更低延迟的同时保障较高的音质。
以下为实时音视频 TRTC 在以下弱网环境下客观 MOS 评价结果:
客户端 SDK 性能数据
测试设备信息
设备类型 | 处理器类型 | 内存 |
Android 设备1 | 骁龙625-8核 | 4G |
Android 设备2 | 骁龙835-8核 | 6G |
iOS 设备1 | A8-双核 | 1G |
iOS 设备2 | A13-6核 | 4G |
测试参数配置
参数类型 | 配置信息 |
分辨率 | 360 × 640 |
码率 | 600 kbps |
帧率 | 15 |
测试方案说明
测试场景:1v1、1v3、1v6、1v8、1v16、1v32。
测试时长:每个场景均测试30min。
测试方案:用 Linux 推流机器人构造多人场景,各测试设备均独立测试。
测试结果
数据解读:实时音视频 TRTC SDK 在 CPU 使用率、内存占用率、发热、耗电等各项性能表现较好,占用较少的硬件资源即可提供高质量的音视频服务。
*注:其中 1v32 由于低端机无法流畅运行,无测试数据。
App CPU 使用率:
App 内存占用:
系统总 CPU 使用率:
运行30分钟耗电量:
运行30分钟发热增量:
附录1:音视频网络损伤指标说明
网络损伤指标 | 说明 | 示例 |
Loss | 网络丢包 | 50% Loss 代表 10 个包中会丢 5 个包 |
Delay | 代表延迟 | 200ms Delay 也就是 SDK 发送的包,会经过 200ms 后才被网络发送出去 |
Jitter | 代表抖动 | 300 Jitter 也就是 SDK 发送的包,有概率随机推迟 20ms、280ms、50ms、250ms 等发出去,最大延迟为 300ms,平均延迟为 150ms |
附录2:网络损伤下的效果数据说明
注意
POLQA
(感知客观语音质量评估)标准,即基于 ITU P.863 国际标准进行打分,适用于人声评测。POLQA 是全球通用的可针对各种网络场景的语音质量分析标准。附录3:SDK 性能指标说明
指标类型 | 说明 | |
App CPU 使用率 | Android | App CPU 表示进程未规范化 CPU 使用率,统计结果和 Android Studio Profiler 一致。 |
| iOS | App CPU 表示进程 CPU 使用率,统计结果和 Xcode 一致。PerfDog 使用率 = Xcode 使用率 / 核心数。 |
系统 CPU 使用率 | Android | Total CPU 表示整机未规范化 CPU 使用率,统计结果和 Android Studio Profiler 一致。 |
| iOS | Total CPU 表示整机 CPU 使用率,统计结果和 Xcode 一致。PerfDog 使用率 = Xcode 使用率 / 核心数。 |
内存使用率 | Android | PSS Memory,统计结果和 Android Java API 标准结果一致,与 Meminfo 也一致。 |
| iOS | Xcode Memory,XCode Debug gauges 统计方式。 |
耗电量 | 测试时监控电量从 100% 掉到 99% 的时候开始记录,设置结束电量值,根据比例计算30分钟的耗电量。 | |
发热增量 | 未启动 App 使用测温枪统计当前温度,启动 App 在每个场景下运行30分钟。 发热增量 = 30分钟后的温度 - 未启动 App 时温度。 | |