TRTCRemoteStatistics class
Remote audio/video metrics
- Annotations
-
- @JsonSerializable(explicitToJson: true, includeIfNull: false)
Constructors
- TRTCRemoteStatistics({String userId = "", int audioPacketLoss = -1, int videoPacketLoss = -1, int width = -1, int height = -1, int frameRate = -1, int videoBitrate = -1, int audioSampleRate = -1, int audioBitrate = -1, int jitterBufferDelay = -1, int point2PointDelay = -1, int audioTotalBlockTime = -1, int audioBlockRate = -1, int videoTotalBlockTime = -1, int videoBlockRate = -1, int finalLoss = -1, int remoteNetworkUplinkLoss = -1, int remoteNetworkRTT = -1, TRTCVideoStreamType streamType = TRTCVideoStreamType.big})
-
TRTCRemoteStatistics.fromJson(Map<
String, dynamic> json) -
factory
Properties
- audioBitrate ↔ int
-
- Field description: local audio bitrate (Kbps)
getter/setter pair - audioBlockRate ↔ int
-
- Field description: audio playback lag rate (%)
- Audio playback lag rate (audioBlockRate) = cumulative audio playback lag duration (audioTotalBlockTime)/total audio playback duration
getter/setter pair - audioPacketLoss ↔ int
-
- 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".
getter/setter pair - audioSampleRate ↔ int
-
- Field description: local audio sample rate (Hz)
getter/setter pair - audioTotalBlockTime ↔ int
-
- Field description: cumulative audio playback lag duration (ms)
getter/setter pair - finalLoss ↔ int
-
- Field description: total packet loss rate (%) of the audio/video stream
- Deprecated, please use audioPacketLoss and videoPacketLoss instead.
getter/setter pair - frameRate ↔ int
-
- Field description: remote video frame rate (fps)
getter/setter pair - hashCode → int
-
The hash code for this object.
no setterinherited
- height ↔ int
-
- Field description: remote video height in px
getter/setter pair - jitterBufferDelay ↔ int
-
- 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 .
getter/setter pair - point2PointDelay ↔ int
-
- 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.
getter/setter pair - remoteNetworkRTT ↔ int
-
- 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 .
getter/setter pair - remoteNetworkUplinkLoss ↔ int
-
- 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.
getter/setter pair - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- streamType ↔ TRTCVideoStreamType
-
- Field description: video stream type
getter/setter pair - userId ↔ String
-
- Field description: user ID
getter/setter pair - videoBitrate ↔ int
-
- Field description: remote video bitrate (Kbps)
getter/setter pair - videoBlockRate ↔ int
-
- Field description: video playback lag rate (%)
- Video playback lag rate (videoBlockRate) = cumulative video playback lag duration (videoTotalBlockTime)/total video playback duration
getter/setter pair - videoPacketLoss ↔ int
-
- 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".
getter/setter pair - videoTotalBlockTime ↔ int
-
- Field description: cumulative video playback lag duration (ms)
getter/setter pair - width ↔ int
-
- Field description: remote video width in px
getter/setter pair
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, dynamic> -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited