性能数据

最近更新时间:2025-04-03 10:58:22

我的收藏
本文档主要围绕开发者最关心的音视频质量、延迟、流畅性、稳定性以及 CPU、内存、耗电、发热等关键指标,在正常弱网环境不同实时互动场景(1v1、1vN等)下进行客观测试及分析总结。

无损及弱网环境下的效果质量

测试场景

视频通话及在线直播的音视频场景和语音通话场景。

参数配置

视频通话:
参数类型
配置信息
分辨率
368 × 640
码率
400 Kbps
帧率
15
互动直播:
参数类型
配置信息
分辨率
720 × 1280
码率
1200 Kbps
帧率
15

极限网络抗性测试数据

极限网络抗性测试指的是在各种网络损伤环境下,测试 SDK 所能承受的最大网络损伤。
音视频场景的视频抗性极限*
(iPhone XR to 小米9)
场景
在线直播
视频通话
上行
可承受的最大丢包率
55% loss
65% loss
可承受的最大网络抖动(jitter)
1200ms
1700ms
可流畅通话的最低带宽要求
500kbps
250kbps
混合损伤条件(loss + jitter)
20% loss + 300ms
40% loss + 700ms
混合损伤条件(loss + delay)
20% loss + 350ms
40% loss + 700ms
下行
可承受的最大丢包率
70% loss
65% loss
可承受的最大网络抖动(jitter)
1700ms
1600ms
混合损伤(loss + jitter)
40% loss + 800ms
40% loss + 700ms
混合损伤(loss + delay)
40% loss + 650ms
40% loss + 600ms
说明:
具体损失指标及含义请参见 附录1:音视频质量指标说明

音频弱网 MOS 值

数据解读:实时音视频 TRTC 能够在非常不理想的网络环境下以更低延迟的同时保障较高的音质。
以下为实时音视频 TRTC 在以下弱网环境下客观 MOS 评价结果:
音频弱网 MOS 分测试
场景
Android to Android
(小米8 to 小米9)
iOS to iOS
(iPhone6 to iPhone6s)
score
延迟(ms)
score
延迟(ms)
上行/下行
无损
4.75
186
4.74
209.48
上行
75% loss
3.82
570.7
3.82
554
2000 jitter
4.28
1362
4.32
1460
55% loss + 1200 jitter
3.59
1570
3.57
1599
下行
70% loss
4.03
552
4.08
640.9
2000 jitter
3.53
1584
3.68
1589.78
50% loss + 900 jitter
4.04
1392
3.93
1418

客户端 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:网络损伤下的效果数据说明

效果数据
说明
MOS 值
常以衡量通信系统语音质量的重要指标。客观 MOS 值采用 Spirent Nomad 设备进行 POLQA 打分,分数越高代表音质越好
端到端延时
端对端延时指从发送端音频采集到接收端播放的耗时
极限音视频抗性测试标准
加网络损伤之后,分别使用 Spirent Nomad 设备进行 POLQA 打分、使用 foreman 视频序列发送后在接收端检测帧间隔情况,持续观察 10 分钟以上,取 30 个数据点,若有 3 分钟 3 次以上主观可感知的效果异常或者 1 次较长时间的不可用现象,即视为超过抗性能力
注意:

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 时温度。