通话数据统计
以下示例代码中的
room
指加入房间成功后获取到的实例。
import { ILivePusherNetStatus, ILivePlayerNetStatus, IResourceNetStatus } from '@rongcloud/plugin-wechat-rtc'
room.registerReportListener((report: IResourceNetStatus) => {
/**
* 小程序发布流的网络数据
*/
const senders: ILivePusherNetStatus = report.senders
/**
* 小程序所有订阅流的网络数据
* msid 为订阅资源的唯一标识
*/
const receivers: { [msid: string]: ILivePlayerNetStatus } = report.receivers
})
/**
* 小程序发布流的网络数据接口定义
*/
export interface ILivePusherNetStatus {
/**
* 当前视频编/码器输出的比特率,单位 kbps
*/
videoBitrate: number
/**
* 当前音频编/码器输出的比特率,单位 kbps
*/
audioBitrate: number
/**
* 当前视频帧率
*/
videoFPS: number
/**
* 当前视频 GOP,也就是每 两个关键帧(I帧)间隔时长,单位 s
*/
videoGOP: number
/**
* 当前的发送/接收速度
*/
netSpeed: number
/**
* 网络抖动情况,抖动越大,网络越不稳定
*/
netJitter: number
/**
* 网络质量
* 0:未定义 1:最好 2:好 3:一般 4:差 5:很差 6:不可用
*/
netQualityLevel: number
/**
* 视频画面的宽度
*/
videoWidth: number
/**
* 视频画面的高度
*/
videoHeight: number
/**
* 主播端堆积的视频帧数
*/
videoCache: number
/**
* 主播端堆积的音频帧数
*/
audioCache: number
}
/**
* 小程序订阅流的网络数据接口定义
*/
export interface ILivePlayerNetStatus extends ILivePusherNetStatus {
/**
* 解码器中缓存的视频帧数 (Android 端硬解码时存在)
*/
vDecCacheSize: number
/**
* 缓冲的总视频帧数,该数值越大,播放延迟越高
*/
vSumCacheSize: number
/**
* 音画同步错位时间(播放),单位 ms,此数值越小,音画同步越好
*/
avPlayInterval: number
/**
* 音画同步错位时间(网络),单位 ms,此数值越小,音画同步越好
*/
avRecvInterval: number
/**
* 音频缓冲时长阈值,缓冲超过该阈值后,播放器会开始调控延时
*/
audioCacheThreshold: number
}