通话质量统计
本文主要介绍 SDK 如何对通话过程中的网络以及音视频的质量进行监控。
获取网络质量
在加入了房间并且已经发布或者订阅了音视频 Track 后,可通过 QNRTCClient.getNetworkQuality 接口获取本地网络状态,通过 QNRTCClient.getUserNetworkQuality 获取远端网络状态。
其中,质量等级是基于当前用户通话过程中的网络、丢包以及 RTT 综合评估得出的,获取到的质量等级可参考 QNNetworkGrade。
获取音视频媒体数据统计
SDK 中统一通过不同 Track 中的 getStats 方法来获取相关的音视频媒体数据统计,具体来说包含下面四种情况。
第一,本地视频数据统计 QNLocalVideoTrack.getStats,此时获取到 QNLocalVideoTrackStats 对象,内容如下。
属性 | 描述 |
---|---|
profile | 当前所统计视频的质量等级,profile 说明亦可参考视频大小流文档 |
uplinkFrameRate | 本地视频上行的帧率 |
uplinkBitrate | 本地视频上行的码率 |
uplinkRTT | 本地视频上行的网络延时 |
uplinkLostRate | 本地视频上行的丢包率 |
第二,本地音频数据统计 QNLocalAudioTrack.getStats,此时获取到 QNLocalAudioTrackStats 对象,内容如下。
属性 | 描述 |
---|---|
uplinkBitrate | 本地音频上行的码率 |
uplinkRTT | 本地音频上行的网络延时 |
uplinkLostRate | 本地音频上行的丢包率 |
第三,远端视频数据统计 QNRemoteVideoTrack.getStats,此时获取到 QNRemoteVideoTrackStats 对象,内容如下。
属性 | 描述 |
---|---|
profile | 当前订阅的视频的质量等级,profile 说明亦可参考视频大小流文档 |
downlinkFrameRate | 本地拉取远端视频时下行的帧率 |
downlinkBitrate | 本地拉取远端视频时下行的码率 |
downlinkLostRate | 本地拉取远端视频时下行的丢包率 |
uplinkRTT | 远端视频上行的网络延时 |
uplinkLostRate | 远端视频上行的丢包率 |
第四,远端音频数据统计 QNRemoteAudioTrack.getStats,此时获取到 QNRemoteAudioTrackStats 对象,内容如下。
属性 | 描述 |
---|---|
downlinkBitrate | 本地拉取远端音频时下行的码率 |
downlinkLostRate | 本地拉取远端音频时下行的丢包率 |
uplinkRTT | 远端音频上行的网络延时 |
uplinkLostRate | 远端音频上行的丢包率 |
文档反馈
(如有产品使用问题,请 提交工单)