please select
RTC Engine
  • Overview
  • Web
    • Run Sample Demo
    • Integration
    • Basic Features
      • Screen Sharing
      • Live Streaming
      • Media Device
      • Audio Volume
      • Set Encoding Profile
      • Detect Network Quality
      • Detect Capabilities
    • Advance Features
      • Enable AI Denoiser
      • Enable Audio Mixer
      • Enable Watermark
      • Enable Virtual Background
      • Enable Beauty and Effects
      • Data Messages
      • Custom Capturing and Rendering
    • API List
    • Released Notes
    • Supported Platforms
    • Web FAQs
      • Optimize Multi-Person Video Calls
      • Handle Autoplay Restriction
      • Handle Firewall Restriction
      • Others
  • Android
    • Run Sample Code
    • Integration
    • Basic Features
      • Sensing Network Quality
      • Enabling Screen Sharing
      • Setting Video Quality
      • Rotating Videos
    • Advanced Features
      • Testing Newwork Quality
      • Custom Capturing and Rendering
      • Custom Audio Capturing and Playback
    • Client APIs
      • Overview
      • TRTCCloud
      • TRTCStatistics
      • TRTCCloudListener
      • TXAudioEffectManager
      • TXBeautyManager
      • TXDeviceManager
      • Type Definition
      • Deprecated Interface
      • Error Codes
    • Solution
      • Real-Time Chorus (TUIKaraoke)
        • Quick Integration
        • Implementation Steps
        • Song Synchronization
        • Lyric Synchronization
        • Vocal Synchronization
        • Mixing Stream Solution
        • TRTCKaraoke APIs
        • FAQs
    • Release Notes
  • iOS
    • Run Sample Code
    • Integration
    • Basic Features
      • Sensing Network Quality
      • Enabling Screen Sharing
      • Setting Video Quality
      • Rotating Videos
    • Advanced Features
      • Testing Network Quality
      • Custom Capturing and Rendering
      • Custom Audio Capturing and Playback
    • Client APIs
      • Overview
      • TRTCCloud
      • TRTCCloudDelegate
      • TRTCStatistics
      • TXAudioEffectManager
      • TXBeautyManager
      • TXDeviceManager
      • Type Definition
      • Deprecated Interface
      • ErrorCode
    • Solution
      • Quick Integration
      • Implementation Steps
      • Song Synchronization
      • Lyric Synchronization
      • Vocal Synchronization
      • Mixing Stream Solution
      • TRTCKaraoke APIs
      • FAQs
    • Release Notes
  • macOS
    • Run Sample Code
    • Integration
    • Basic Features
      • Sensing Network Quality
      • Enabling Screen Sharing
      • Sharing Computer Audio
      • Setting Video Quality
      • Rotating Videos
    • Advanced Features
      • Testing Hardware Devices
      • Testing Network Quality
      • Custom Capturing and Rendering
      • Custom Audio Capturing and Playback
    • Client APIs
      • Overview
      • TRTCCloud
      • TRTCCloudDelegate
      • TRTCStatistics
      • TXAudioEffectManager
      • TXBeautyManager
      • TXDeviceManager
      • Type Definition
      • Deprecated Interface
      • ErrorCode
      • Release Notes
    • Release Notes
  • Windows
    • Run Sample Code
    • Integration
    • Basic Features
      • Sensing Network Quality
      • Enabling Screen Sharing
      • Setting Video Quality
      • Rotating Videos
    • Advanced Features
      • Testing Hardware Devices
      • Testing Network Quality
      • Custom Capturing and Rendering
      • Custom Audio Capturing and Playback
    • Client APIs
      • Overview
      • ITRTCCloud
      • ITRTCStatistics
      • TRTCCloudCallback
      • ITXAudioEffectManager
      • ITXDeviceManager
      • Type Definition
      • Deprecated Interface
      • Error Codes
    • Release Notes
  • Electron
    • Integration
      • 1.API Examples
      • 2.Importing the SDK
      • 3.Entering a Room
      • 4.Subscribing to Audio/Video Streams
      • 5.Publish Audio/Video Streams
      • 6.Exiting a Room
      • 7.Sensing Network Quality
      • 8.Enabling Screen Sharing
      • 9.Sharing Computer Audio
      • 10.Setting Video Quality
      • 11.Rotating Videos
    • Client APIs
      • Overview
      • Error Codes
  • Flutter
    • Integration
      • 1.API Examples
      • 2.Importing the SDK
      • 3.Entering a Room
      • 4.Subscribing to Audio/Video Streams
      • 5.Publish Audio/Video Streams
      • 6.Exiting a Room
      • 7.Sensing Network Quality
      • 8.Enabling Screen Sharing
      • 9.Sharing Computer Audio
      • 10.Setting Video Quality
      • 11.Rotating Videos
    • Client APIs
      • Overview
      • Error Codes
  • Unity
    • Integration
      • 1.API Examples
      • 2Importing the SDK
    • Client APIs
      • Overview
      • Error Codes
  • Qt
    • Integration
      • 1.Importing the SDK
  • Overview
    • Overview
  • Concepts
  • Features
  • Performance Statistics
  • Pricing
    • Free Minutes
    • RTC-Engine Monthly Packages
    • Billing Explanation for Subscription Package Duration
    • Pay-as-you-go
      • Billing of Audio and Video Duration
      • Billing of On-Cloud Recording and Recording Delivery
      • Billing of MixTranscoding and Relay to CDN
  • FAQs
    • FAQs for Beginners
    • Migration Guide
      • Twilio Video to Tencent RTC
      • Billing
      • Features
      • UserSig
      • Firewall Restrictions
      • How to Downsize Installation Package
      • TRTCCalling for Web
      • Audio and Video Quality
      • Others
RTC Engine

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.