网络状况

本章节介绍有关网络状况的功能。针对网络状况,网易云提供了网络探测网络状况回调这两个功能。

网络探测是一个辅助的网络情况测试工具,可以探测音视频通话网络的连通性、丢包率和延迟等信息。目前支持选择音频通话和视频通话这两种通话模式的探测,视频通话的网络探测支持选择相应的清晰度进行探测。另外,网络探测会占用网络带宽资源,建议在通话开始之前使用以免影响通话质量。

网络状况回调是通话过程中,SDK 定时会通知上层当前的网络状况。值得注意的是,这个网络状况是基于当前的实际通话情况的。比如,当前正进行的是音频通话,上报的网络情况是良好,那只是说明当前的网络情况可以很好地满足音频通话,并不能说明当前进行视频通话也会很流畅。

网络探测

var detectType = Netcall.NETDETECT_AUDIO;
netcall
  .netDetect(detectType)
  .then(function(obj) {
    console.log("netDetect success", obj);
  })
  .catch(function(err) {
    console.log("netDetect error", err);
  });
参数名 类型 说明
detectType number 需要探测的类型,可选值参照这里

obj 为探测结果对象,属性如下

obj 属性名 类型 说明
code number 是否探测成功
status number 探测结果类型,可选值参照这里

PC-Agent网络状况回调

netcall.on("netStatus", function(obj) {
  console.log("当前网络情况", obj);
});

obj 为网络情况结果对象,属性如下

obj 属性名 类型 说明
account string 当前的账号名
status number 网络情况结果类型,可选值参照这里

WebRTC网络状况回调

ps:2019-06-26 网络状态常量将在下一个版本有变动,将会去掉CHAT_NET_STATUS_VERY_GOOD,并新增CHAT_NET_STATUS_VIDEO_CLOSE,请升级时注意变更。

netcall.on("netStatus", function(obj) {
  console.log("当前网络情况", obj.quality);
});

obj 为网络情况结果对象,属性如下

obj 属性名 类型 说明
quality number 网络情况结果类型

quality 的取值如下

quality 说明
WebRTC.CHAT_NET_STATUS_VERY_GOOD 当前网络状况非常好
WebRTC.CHAT_NET_STATUS_GOOD 网络状况好,音视频通话偶有卡顿;
WebRTC.CHAT_NET_STATUS_POOR 网络状况差,音频通话流畅;
WebRTC.CHAT_NET_STATUS_BAD 网络状况非常差,音频通话偶有卡顿。

网络探测(webrtc)

netcall
  .detectNetworkStatus({ detectTime: 30, fromDevice: true })
  .then(function(obj) {
    console.log("netDetect completed", obj);
  })
  .catch(function(err) {
    console.log("netDetect error", err);
  });
参数名 类型 说明
detectTime number 探测的时间,[建议 15s 以上]
fromDevice Boolean 探测源使用摄像头,设置为 true

obj 为探测结果对象,属性如下

obj 属性名 类型 说明
cid number 本次测试的频道 id
user_ip number 本次测试的自己端的外网 IP
server_ip number 本次的测试的服务器端的 IP
browser string 本次的测试使用的浏览器类型
upload_network_status array 探测结果上行链路的详细信息
download_network_status array 探测结果上行链路的详细信息

upload_network_status 为探测结果上行链路的详细信息,属性如下

obj 属性名 类型 说明
up_rtt number 上行链路的延迟
up_loss number 上行链路的丢包率
up_bwe number 上行链路的带宽
up_framerate number 上行链路的视频帧率
up_resolution string 上行链路的视频分辨率
codec string 上行链路的视频编码类型
up_status string 上行链路是否建立成功
network_status string 上行链路状况说明

download_network_status 为探测结果上行链路的详细信息,属性如下

obj 属性名 类型 说明
down_rtt number 下行链路的延迟
down_loss number 下行链路的丢包率
down_bwe number 下行链路的带宽
down_framerate number 下行链路的视频帧率
down_resolution string 下行链路的视频分辨率
codec string 下行链路的视频编码类型
down_status string 下行链路是否建立成功
network_status string 下行链路状况说明