export interface StatsReport { pctype: "recv" | "send"; videoBitrate: number; audioBitrate: number; videoPacketLossRate: number; audioPacketLossRate: number; videoBytes: number; videoPackets: number; videoPacketLoss: number; audioBytes: number; audioPackets: number; audioPacketLoss: number; timestamp: number; } export interface TrackStatsReport { id: string; kind: "audio" | "video"; bitrate: number; bytes: number; packets: number; packetLoss: number; packetLossRate: number; frameRate: number; rtt: number; timestamp: number; width?: number; height?: number; networkGrade: NetworkGrade; } export interface AudioExtraStats { track_audio_volume: number; jitter_buffer_delay: number; bytes_sent: number; bytes_received: number; } export interface VideoExtraStats { nack_count: number; fir_count: number; pli_count: number; width: number; height: number; jitter_buffer_delay: number; bytes_sent: number; frame_encoded: number; bytes_received: number; frame_decoded: number; } export interface CalculationStats { frames_sent: number; frames_received: number; timestamp: number; packets_lost: number; packets_received: number; packets_sent: number; bytes_sent: number; bytes_received: number; } export interface MediaStatisticStatsReport { id: string; track_id: string; kind: "audio" | "video"; kbps: number; framerate: number; packet_lost_rate: number; rtt: number; extra_stats: AudioExtraStats | VideoExtraStats | null; } export interface MediaStatisticStatsWithCalculationReport extends MediaStatisticStatsReport { calculation_stats: CalculationStats; } export interface RemoteTrackStat { userId: string; networkGrade: NetworkGrade; kind: string; trackId: string; packetLossRate: number; rtt: number; } /** * 网络质量等级枚举 */ export declare enum NetworkGrade { /** * 网络等级还未获取 */ INVALID = -1, /** * 网络优 */ EXCELLENT = 1, /** * 网络良 */ GOOD = 2, /** * 网络一般 */ FAIR = 3, /** * 网络较差 */ POOR = 4 } export interface QosWsMessageQosTrackQos { kind: string; lostRate: number; rtt: number; track: string; } export interface QosWsMessageQos { networkGrade: NetworkGrade; tracks_qos: QosWsMessageQosTrackQos[]; }