You need to enable JavaScript to run this app.
文档中心
实时音视频

实时音视频

复制全文
下载 pdf
通话前网络检测
Web 端通话前网络质量检测
复制全文
下载 pdf
Web 端通话前网络质量检测
为提供更好的音视频通话体验,你可以在用户正式通话前进行网络质量检测,并根据检测质量的判定结果采取相应的措施。例如,降低码率,或者通过 UI 提醒用户切换到更稳定的网络环境。​
前提条件​
你已经实现了基础音视频通话功能。​
功能实现​
  1. 调用两次 createEngine 创建两个 Engine 实例。​
  • uplinkClient:用于检测发送网络通道质量​
  • downlinkClient:用于检测接收网络通道质量​
​
const uplinkClient = VERTC.createEngine(appId);​
const downlinkClient = VERTC.createEngine(appId);​
​
  1. 在 uplinkClient 实例中调用 startVideoCapture 和 startAudioCapture 采集音视频流。​
​
await uplinkClient.startAudioCapture();​
await uplinkClient.startVideoCapture();​
​
  1. 分别调用 joinRoom ,使用不同的 userId 和 token 进入同一个测试房间。​
  • uplinkClient:将自动发布设置为 true​
  • downlinkClient:将自动订阅音频/视频设置为 true​
​
// uplinkClient 进房,设置为自动发布,开启音视频采集​
uplinkClient.joinRoom(token1, roomId, { userId: userId1 }, {​
isAutoPublish: true,​
isAutoSubscribeAudio: false,​
isAutoSubscribeVideo: false​
});​
​
// downlinkClient 进房,设置为自动订阅​
downlinkClient.joinRoom(token2, roomId, { userId: userId2 }, {​
isAutoPublish: false,​
isAutoSubscribeAudio: true,​
isAutoSubscribeVideo: true​
});​
​
  1. 获取上、下行网络通道质量数据。​
  • 自 v4.44 起,通过 onNetworkQuality 获取上、下行网络通道质量数据。​
​
// 查看上行网络质量数据​
uplinkClient.on('onNetworkQuality', (uplinkNetworkQuality) => {​
console.log('onNetworkQuality: ', uplinkNetworkQuality);​
});​
// 查看下行网络质量数据​
downlinkClient.on('onNetworkQuality', (_, downlinkNetworkQuality) => {​
console.log('onNetworkQuality: ', downlinkNetworkQuality);​
});​
​
  • 在 v4.43 及之前的版本中,你需要通过 onLocalStreamStats 和 onRemoteStreamStats 获取上、下行网络通道质量数据,并将得到的质量数据放在你的 QoE 模型中进行计算,最终决策出网络质量。下表给出了一个简易的网络质量判断标准。​
​
网络质量​
上行丢包率 LossRate​
下行端到端延迟 e2eDelay​
往返时延 rtt​
接收端卡顿率 StallDuration/2000ms​
好,可以进行音视频通话​
< 0.05​
< 600 ms​
< 250 ms​
< 0.15​
较差,建议降低码率​
0.05~0.1​
600 ms~1200 ms​
250 ms~1000 ms​
0.15~0.3​
很差,建议切换稳定网络​
> 0.1​
> 1200 ms​
> 1000 ms​
> 0.3​
​
​
// 查看上行网络质量数据​
uplinkClient.on('onLocalStreamStats', stats => {​
console.log('onLocalStreamStats: ', stats);​
// 查看下行网络质量数据​
downlinkClient.on('onRemoteStreamStats', stats => {​
console.log('onRemoteStreamStats: ', stats);​
​
API 参考​
​
最近更新时间:2026.08.04 14:11:04
这个页面对您有帮助吗?
有用
有用
无用
无用