TRTCStatistics
Copyright (c) 2021 Tencent. All rights reserved.
Module: TRTC audio/video metrics (read-only)
Function: the TRTC SDK reports to you the current real-time audio/video metrics (frame rate, bitrate, lag, etc.) once every two seconds
TRTCStatistics
StructType
FuncList  | DESC  | 
Local audio/video metrics.  | |
Remote audio/video metrics.  | |
Network and performance metrics.  | 
TRTCLocalStatistics
TRTCLocalStatistics
Local audio/video metrics.
EnumType  | DESC  | 
audioBitrate  | Field description: local audio bitrate in Kbps, i.e., how much audio data is generated per second  | 
audioCaptureState  | Field description:Audio equipment collection status( 0:Normal;1:Long silence detected;2:Broken sound detected;3:Abnormal intermittent sound detected;)  | 
audioSampleRate  | Field description: local audio sample rate (Hz)  | 
frameRate  | Field description: local video frame rate in fps, i.e., how many video frames there are per second  | 
height  | Field description: local video height in px  | 
streamType  | Field description: video stream type (HD big image | smooth small image | substream image)  | 
videoBitrate  | Field description: local video bitrate in Kbps, i.e., how much video data is generated per second  | 
width  | Field description: local video width in px  | 
TRTCRemoteStatistics
TRTCRemoteStatistics
Remote audio/video metrics.
EnumType  | DESC  | 
audioBitrate  | Field description: local audio bitrate (Kbps)  | 
audioBlockRate  | Field description: audio playback lag rate (%) Audio playback lag rate (audioBlockRate) = cumulative audio playback lag duration (audioTotalBlockTime)/total audio playback duration  | 
audioPacketLoss  | Field description: total packet loss rate (%) of the audio stream  audioPacketLoss  represents the packet loss rate eventually calculated on the audience side after the audio/video stream goes through the complete transfer linkage of "anchor -> cloud -> audience".The smaller the   audioPacketLoss , the better. The packet loss rate of 0 indicates that all data of the audio stream has entirely reached the audience.If   downLoss  is  0  but  audioPacketLoss  isn't, there is no packet loss on the linkage of "cloud -> audience" for the audiostream, but there are unrecoverable packet losses on the linkage of "anchor -> cloud". | 
audioSampleRate  | Field description: local audio sample rate (Hz)  | 
audioTotalBlockTime  | Field description: cumulative audio playback lag duration (ms)  | 
finalLoss  | Field description: total packet loss rate (%) of the audio/video stream Deprecated, please use audioPacketLoss and videoPacketLoss instead.  | 
frameRate  | Field description: remote video frame rate (fps)  | 
height  | Field description: remote video height in px  | 
jitterBufferDelay  | Field description: playback delay (ms) In order to avoid audio/video lags caused by network jitters and network packet disorders, TRTC maintains a playback buffer on the playback side to organize the received network data packets. The size of the buffer is adaptively adjusted according to the current network quality and converted to the length of time in milliseconds, i.e.,   jitterBufferDelay . | 
point2PointDelay  | Field description: end-to-end delay (ms)  point2PointDelay  represents the delay of "anchor -> cloud -> audience". To be more precise, it represents the delay of the entire linkage of "collection -> encoding -> network transfer -> receiving -> buffering -> decoding -> playback". point2PointDelay  works only if both the local and remote SDKs are on version 8.5 or above. If the remote SDK is on a version below 8.5, this value will always be 0 and thus meaningless. | 
remoteNetworkRTT  | Field description: round-trip delay (ms) from the SDK to cloud This value represents the total time it takes to send a network packet from the SDK to the cloud and then send a network packet back from the cloud to the SDK, i.e., the total time it takes for a network packet to go through the linkage of "SDK -> cloud -> SDK". The smaller the value, the better. If   remoteNetworkRTT  is below 50 ms, it means a short audio/video call delay; if  remoteNetworkRTT  is above 200 ms, it means a long audio/video call delay.It should be explained that   remoteNetworkRTT  represents the total time spent on the linkage of "SDK -> cloud -> SDK"; therefore, there is no need to distinguish between  remoteNetworkUpRTT  and  remoteNetworkDownRTT . | 
remoteNetworkUplinkLoss  | Field description: upstream packet loss rate (%) from the SDK to cloud The smaller the value, the better. If   remoteNetworkUplinkLoss  is  0% , the upstream network quality is very good, and the data packets uploaded to the cloud are basically not lost.If   remoteNetworkUplinkLoss  is  30% , 30% of the audio/video data packets sent to the cloud by the SDK are lost on the transfer linkage. | 
streamType  | Field description: video stream type (HD big image | smooth small image | substream image)  | 
userId  | Field description: user ID  | 
videoBitrate  | Field description: remote video bitrate (Kbps)  | 
videoBlockRate  | Field description: video playback lag rate (%) Video playback lag rate (videoBlockRate) = cumulative video playback lag duration (videoTotalBlockTime)/total video playback duration  | 
videoPacketLoss  | Field description: total packet loss rate (%) of the video stream  videoPacketLoss  represents the packet loss rate eventually calculated on the audience side after the audio/video stream goes through the complete transfer linkage of "anchor -> cloud -> audience".The smaller the   videoPacketLoss , the better. The packet loss rate of 0 indicates that all data of the video stream has entirely reached the audience.If   downLoss  is  0  but  videoPacketLoss  isn't, there is no packet loss on the linkage of "cloud -> audience" for the video stream, but there are unrecoverable packet losses on the linkage of "anchor -> cloud". | 
videoTotalBlockTime  | Field description: cumulative video playback lag duration (ms)  | 
width  | Field description: remote video width in px  | 
TRTCStatistics
TRTCStatistics
Network and performance metrics.
EnumType  | DESC  | 
appCpu  | Field description: CPU utilization (%) of the current application, Android 8.0 and above systems are not supported  | 
downLoss  | Field description: downstream packet loss rate (%) from cloud to the SDK The smaller the value, the better. If   downLoss  is  0% , the downstream network quality is very good, and the data packets received from the cloud are basically not lost.If   downLoss  is  30% , 30% of the audio/video data packets sent to the SDK by the cloud are lost on the transfer linkage. | 
gatewayRtt  | Field description: round-trip delay (ms) from the SDK to gateway This value represents the total time it takes to send a network packet from the SDK to the gateway and then send a network packet back from the gateway to the SDK, i.e., the total time it takes for a network packet to go through the linkage of "SDK -> gateway -> SDK". The smaller the value, the better. If   gatewayRtt  is below 50 ms, it means a short audio/video call delay; if  gatewayRtt  is above 200 ms, it means a long audio/video call delay.It should be explained that   gatewayRtt  is invalid for cellular network. | 
localStatistics  | Field description: local audio/video statistics As there may be three local audio/video streams (i.e., HD big image, smooth small image, and substream image), the local audio/video statistics are an array.  | 
receivedBytes  | Field description: total number of received bytes (including signaling data and audio/video data)  | 
remoteStatistics  | Field description: remote audio/video statistics As there may be multiple concurrent remote users, and each of them may have multiple concurrent audio/video streams (i.e., HD big image, smooth small image, and substream image), the remote audio/video statistics are an array.  | 
rtt  | Field description: round-trip delay (ms) from the SDK to cloud This value represents the total time it takes to send a network packet from the SDK to the cloud and then send a network packet back from the cloud to the SDK, i.e., the total time it takes for a network packet to go through the linkage of "SDK -> cloud -> SDK". The smaller the value, the better. If   rtt  is below 50 ms, it means a short audio/video call delay; if  rtt  is above 200 ms, it means a long audio/video call delay.It should be explained that   rtt  represents the total time spent on the linkage of "SDK -> cloud -> SDK"; therefore, there is no need to distinguish between  upRtt  and  downRtt . | 
sentBytes  | Field description: total number of sent bytes (including signaling data and audio/video data)  | 
systemCpu  | Field description: CPU utilization (%) of the current system, Android 8.0 and above systems are not supported  | 
upLoss  | Field description: upstream packet loss rate (%) from the SDK to cloud The smaller the value, the better. If   upLoss  is  0% , the upstream network quality is very good, and the data packets uploaded to the cloud are basically not lost.If   upLoss  is  30% , 30% of the audio/video data packets sent to the cloud by the SDK are lost on the transfer linkage. |