通话质量统计
本文主要介绍 SDK 如何对通话过程中的网络以及音视频的质量进行监控。
获取通话中的质量监测信息前,请确保您已经加入了房间并且已经发布或订阅了相关的音视频 Track。
上下行网络质量
获取上下行网络质量
在加入了房间并且已经发布或者订阅了音视频 Track 后,可通过主动调用 QNRTCClient.getUserNetworkQuality 获取上下行网络质量,这里需要传入目标 ID。
其中,获取到的质量等级可参考 QNNetworkGrade。
音频质量统计
获取本地音频质量统计
SDK 质量统计接口均为主动调用接口,您可以在适当的时机通过调用 QNRTCClient.getLocalAudioTrackStats 接口获取当前本地的音频质量统计信息,并通过 trackID 来获取对应轨道的质量统计。获取到的质量统计内容 QNLocalAudioTrackStats 主要包含如下信息:
属性 | 描述 |
---|---|
uplinkBitrate | 本地音频上行的码率,单位 bps |
uplinkRTT | 本地音频上行的网络延时,单位 ms |
uplinkLostRate | 本地音频上行的丢包率,范围 [0, 100] |
获取远端音频质量统计
SDK 质量统计接口均为主动调用接口,您可以在适当的时机通过调用 QNRTCClient.getRemoteAudioTrackStats 接口获取当前远端的音频质量统计信息,并通过 trackID 来获取对应轨道的质量统计。获取到的质量统计内容 QNRemoteAudioTrackStats 主要包含如下信息:
属性 | 描述 |
---|---|
downlinkBitrate | 本地拉取远端音频时下行的码率,单位 bps |
downlinkLostRate | 本地拉取远端音频时下行的丢包率,范围 [0, 100] |
uplinkRTT | 远端音频上行的网络延时,单位 ms |
uplinkLostRate | 远端音频上行的丢包率,范围 [0, 100] |
视频质量统计
获取本地视频质量统计
SDK 质量统计接口均为主动调用接口,您可以在适当的时机通过调用 QNRTCClient.getLocalVideoTrackStats 接口获取当前本地的视频质量统计信息,并通过 trackID 来获取对应轨道的质量统计。获取到的质量统计内容 QNLocalVideoTrackStats 主要包含如下信息:
属性 | 描述 |
---|---|
profile | 当前所统计视频的质量等级,profile 说明亦可参考视频大小流文档 |
uplinkFrameRate | 本地视频上行的帧率,单位 fps |
uplinkBitrate | 本地视频上行的码率,单位 bps |
uplinkRTT | 本地视频上行的网络延时,单位 ms |
uplinkLostRate | 本地视频上行的丢包率,范围 [0, 100] |
获取远端视频质量统计
SDK 质量统计接口均为主动调用接口,您可以在适当的时机通过调用 QNRTCClient.getRemoteVideoTrackStats 接口获取当前远端的视频质量统计信息,并通过 trackID 来获取对应轨道的质量统计。获取到的质量统计内容 QNRemoteVideoTrackStats 主要包含如下信息:
属性 | 描述 |
---|---|
profile | 当前订阅的视频的质量等级,profile 说明亦可参考视频大小流文档 |
downlinkFrameRate | 本地拉取远端视频时下行的帧率,单位 fps |
downlinkBitrate | 本地拉取远端视频时下行的码率,单位 bps |
downlinkLostRate | 本地拉取远端视频时下行的丢包率,范围 [0, 100] |
uplinkRTT | 远端视频上行的网络延时,单位 ms |
uplinkLostRate | 远端视频上行的丢包率,范围 [0, 100] |
示例代码
上述已经简单介绍了质量统计信息的获取方式,相对应的示例代码可参考体验 demo。