性能数据

最后更新时间:2021-08-27 12:59:26

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

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

    测试场景

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

    参数配置

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

    极限网络抗性测试数据

    极限网络抗性测试指的是在各种网络损伤环境下,测试 SDK 所能承受的最大网络损伤。

    说明:

    具体损失指标及含义请参见 附录1:音视频质量指标说明

    音频弱网 MOS 值

    数据解读:实时音视频 TRTC 能够在非常不理想的网络环境下以更低延迟的同时保障较高的音质。
    以下为实时音视频 TRTC 在以下弱网环境下客观 MOS 评价结果:

    客户端 SDK 性能数据

    测试设备信息

    设备类型 处理器类型 内存
    Android 设备1 骁龙835-8核 6G
    Android 设备2 麒麟980-8核 8G
    iOS 设备1 A8-双核 3G
    iOS 设备2 A13-6核 4G

    测试参数配置

    参数类型 配置信息
    分辨率 240 × 320
    码率 100kbps
    帧率 15

    测试方案说明

    • 测试场景:1v1、1v2、1v3、1v4、1v8。
    • 测试时长:每个场景均测试30min。
    • 测试方案:用 Linux 推流机器人构造多人场景,各测试设备均独立测试。

    测试结果

    数据解读:实时音视频 TRTC SDK 在 CPU 使用率、内存占用率、发热、耗电等各项性能表现较好,占用较少的硬件资源即可提供高质量的音视频服务。

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