tencent cloud

实时音视频

动态与公告
产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
产品简介
产品概述
基本概念
产品功能
产品优势
应用场景
性能数据
购买指南
计费概述
免费时长说明
月订阅
现收现付
TRTC 逾期与暂停政策
常见问题解答
退款说明
新手指引
Demo 体验
视频通话 SDK
组件介绍
开通服务
跑通 Demo
快速接入
离线唤醒
会话聊天
云端录制
AI 降噪
界面定制
Chat 集成通话能力
更多特性
无 UI 集成
服务端 API
客户端 API
解决方案
错误码表
发布日志
常见问题
视频会议 SDK
组件介绍(TUIRoomKit)
开通服务(TUIRoomKit)
跑通 Demo(TUIRoomKit)
快速接入(TUIRoomKit)
屏幕共享(TUIRoomKit)
预定会议(TUIRoomKit)
会中呼叫(TUIRoomKit)
界面定制(TUIRoomKit)
虚拟背景(TUIRoomKit)
会议控制(TUIRoomKit)
云端录制(TUIRoomKit)
AI 降噪(TUIRoomKit)
会中聊天(TUIRoomKit)
机器人推流(TUIRoomKit)
更多特性(TUIRoomKit)
客户端 API(TUIRoomKit)
服务端 API(TUIRoomKit)
常见问题(TUIRoomKit)
错误码 (TUIRoomKit)
SDK更新日志(TUIRoomKit)
直播与语聊 SDK
Live 视频直播计费说明
组件介绍
开通服务(TUILiveKit)
跑通 Demo
无 UI 集成
UI 自定义
直播监播
视频直播
语聊房
高级功能
客户端 API
服务端 API
错误码
发布日志
常见问题
RTC Engine
开通服务
SDK 下载
API-Example
接入指引
API-参考手册
高级功能
AI 集成
概述
MCP 配置
Skills 配置
集成指南
常见问题
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
控制台指南
应用管理
套餐包管理
用量统计
监控仪表盘
开发辅助
解决方案
实时合唱
常见问题
迁移指南
计费相关
功能相关
UserSig 相关
应对防火墙限制相关
缩减安装包体积相关
Andriod 与 iOS 相关
Web 端相关
Flutter 相关
Electron 相关
TRTCCalling Web 相关
音视频质量相关
其他问题
旧版文档
RTC RoomEngine SDK(旧)
集成 TUIRoom (Web)
集成 TUIRoom (Android)
集成 TUIRoom (iOS)
集成 TUIRoom (Flutter)
集成 TUIRoom (Electron)
TUIRoom API 查询
实现云端录制与回放(旧)
监控仪表盘计费(旧)
协议与策略
安全合规认证
安全白皮书
信息安全说明
服务等级协议
苹果隐私策略:PrivacyInfo.xcprivacy
TRTC 政策
隐私协议
数据处理和安全协议
词汇表

Android&iOS&Windows&Mac

PDF
聚焦模式
字号
最后更新时间: 2023-05-31 11:30:58
普通用户很难评估网络质量,建议您在进行视频通话之前先进行网络测试,通过测速可以更直观地评估网络质量。

注意事项

视频通话期间请勿测试,以免影响通话质量。
测速本身会消耗一定的流量,从而产生极少量额外的流量费用(基本可以忽略)。

支持的平台

iOS
Android
Mac OS
Windows
Electron
Web端
✓(参考:Web 端教程 )

测速的原理




测速的原理是 SDK 向服务器节点发送一批探测包,然后统计回包的质量,并将测速的结果通过回调接口通知出来。
测速的结果将会用于优化 SDK 接下来的服务器选择策略,因此推荐您在用户首次通话前先进行一次测速,这将有助于我们选择最佳的服务器。同时,如果测试结果非常不理想,您可以通过醒目的 UI 提示用户选择更好的网络。
测速的结果(TRTCSpeedTestResult)包含如下几个字段:
字段
含义
含义说明
success
是否成功
本次测试是否成功
errMsg
错误信息
带宽测试的详细错误信息
ip
服务器 IP
测速服务器的 IP
网络质量评分
通过评估算法测算出的网络质量,loss 越低,rtt 越小,得分也就越高
upLostRate
上行丢包率
范围是[0 - 1.0],例如0.3代表每向服务器发送10个数据包,可能有3个会在中途丢失
downLostRate
下行丢包率
范围是[0 - 1.0],例如0.2代表从服务器每收取10个数据包,可能有2个会在中途丢失
rtt
网络延时
代表 SDK 跟服务器一来一回之间所消耗的时间,这个值越小越好,正常数值在 10ms - 100ms 之间
availableUpBandwidth
上行带宽
预测的上行带宽,单位为kbps, -1表示无效值
availableDownBandwidth
下行带宽
预测的下行带宽,单位为kbps, -1表示无效值

如何测速

通过 TRTCCloud 的 startSpeedTest 功能可以启动测速功能,测速的结果会通过回调函数返回。
Objective-C
Java
C++
C#
// 启动网络测速的示例代码, 需要 sdkAppId 和 UserSig,(获取方式参考基本功能)
// 这里以登录后开始测试为例
- (void)onLogin:(NSString *)userId userSig:(NSString *)userSid
{
TRTCSpeedTestParams *params;
// sdkAppID 为控制台中获取的实际应用的 AppID
params.sdkAppID = sdkAppId;
params.userID = userId;
params.userSig = userSig;
// 预期的上行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)
params.expectedUpBandwidth = 5000;
// 预期的下行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)
params.expectedDownBandwidth = 5000;
[trtcCloud startSpeedTest:params];
}
- (void)onSpeedTestResult:(TRTCSpeedTestResult *)result {
// 测速完成后,会回调出测速结果
}

//启动网络测速的示例代码, 需要 sdkAppId 和 UserSig,(获取方式参考基本功能)
// 这里以登录后开始测试为例
public void onLogin(String userId, String userSig)
{
TRTCCloudDef.TRTCSpeedTestParams params = new TRTCCloudDef.TRTCSpeedTestParams();
params.sdkAppId = GenerateTestUserSig.SDKAPPID;
params.userId = mEtUserId.getText().toString();
params.userSig = GenerateTestUserSig.genTestUserSig(params.userId);
params.expectedUpBandwidth = Integer.parseInt(expectUpBandwidthStr);
params.expectedDownBandwidth = Integer.parseInt(expectDownBandwidthStr);
// sdkAppID 为控制台中获取的实际应用的 AppID
trtcCloud.startSpeedTest(params);
}

// 监听测速结果,继承 TRTCCloudListener 并实现如下方法
void onSpeedTestResult(TRTCCloudDef.TRTCSpeedTestResult result)
{
// 测速完成后,会回调出测速结果
}

// 启动网络测速的示例代码, 需要 sdkAppId 和 UserSig,(获取方式参考基本功能)
// 这里以登录后开始测试为例
void onLogin(const char* userId, const char* userSig)
{
TRTCSpeedTestParams params;
// sdkAppID 为控制台中获取的实际应用的 AppID
params.sdkAppID = sdkAppId;
params.userId = userid;
param.userSig = userSig;
// 预期的上行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)
param.expectedUpBandwidth = 5000;
// 预期的下行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)
param.expectedDownBandwidth = 5000;
trtcCloud->startSpeedTest(params);
}

// 监听测速结果
void TRTCCloudCallbackImpl::onSpeedTestResult(
const TRTCSpeedTestResult& result)
{
// 测速完成后,会回调出测速结果
}

// 启动网络测速的示例代码, 需要 sdkAppId 和 UserSig,(获取方式参考基本功能)
// 这里以登录后开始测试为例
private void onLogin(string userId, string userSig)
{
TRTCSpeedTestParams params;
// sdkAppID 为控制台中获取的实际应用的 AppID
params.sdkAppID = sdkAppId;
params.userId = userid;
param.userSig = userSig;
// 预期的上行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)
param.expectedUpBandwidth = 5000;
// 预期的下行带宽(kbps,取值范围: 10 ~ 5000,为 0 时不测试)
param.expectedDownBandwidth = 5000;
mTRTCCloud.startSpeedTest(params);
}

// 监听测速结果
public void onSpeedTestResult(TRTCSpeedTestResult result)
{
// 测速完成后,会回调出测速结果
}


测速工具

如果您不想通过调用接口的方式来进行网络测速,TRTC 还提供了桌面端的网络测速工具程序,帮助您快速获取详细的网络质量信息。

下载链接

测试指标

指标
含义
WiFi Quality
Wi-Fi 信号质量
DNS RTT
腾讯云的测速域名解析耗时
MTR
MTR 是一款网络测试工具,能探测客户端到 TRTC 节点的丢包率与延时,还可以查看路由中每一跳的具体信息
UDP Loss
客户端到 TRTC 节点的 UDP 丢包率
UDP RTT
客户端到 TRTC 节点的 UDP 延时
Local RTT
客户端到本地网关的延时
Upload
上行预估带宽
Download
下行预估带宽

工具截图

快速测试:


持续测试:



帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈