RTCOutboundRtpStreamStats
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
* Some parts of this feature may have varying levels of support.
The RTCOutboundRtpStreamStats
dictionary of the WebRTC API is used to report metrics and statistics related to an outbound RTP stream being sent by an RTCRtpSender
.
The statistics can be obtained by iterating the RTCStatsReport
returned by RTCPeerConnection.getStats()
or RTCRtpSender.getStats()
until you find a report with the type
of outbound-rtp
.
Instance properties
active
Experimental-
A boolean that indicates whether this RTP stream is configured to be sent, or is disabled.
frameHeight
-
An integer indicating the height of the last encoded frame, in pixels. Undefined for audio streams.
frameWidth
-
An integer indicating the width of the last encoded frame, in pixels. Undefined for audio streams.
framesEncoded
-
The number of frames that have been successfully encoded so far for sending on this RTP stream. Undefined for audio streams.
framesPerSecond
-
A number that represents the encoded frames sent in the last second. Undefined for audio streams.
framesSent
-
A positive integer that represents the total number of encoded frames sent on this RTP stream. Undefined for audio streams.
headerBytesSent
-
A positive integer that represents the total number of RTP header and padding bytes sent for this SSRC.
keyFramesEncoded
Experimental-
A positive integer that represents the total number of key frames successfully encoded in this RTP media stream. Undefined for audio streams.
mediaSourceId
-
A string that represents the id of the stats object of the track currently attached to the sender of this stream.
mid
-
A string that uniquely identifies the pairing of source and destination of the transceiver's stream. This is the value of the corresponding
RTCRtpTransceiver.mid
unless that is null, in which case the statistic property is not present. nackCount
-
An integer value indicating the total number of Negative ACKnowledgement (NACK) packets this
RTCRtpSender
has received from the remoteRTCRtpReceiver
. This locally-computed value provides an indication of the error resiliency of the connection. qpSum
-
A 64-bit value containing the sum of the QP values for every frame encoded by this
RTCRtpSender
. This locally-computed value provides an indication of how heavily compressed the data is. Undefined for audio streams. qualityLimitationDurations
Experimental-
A map of the reasons that a media stream's resolution or framerate has been reduced, and the time that the quality was reduced for each reason. Undefined for audio streams.
qualityLimitationReason
Experimental-
A string indicating the reason why the stream is being quality-limited. One of:
none
,cpu
,bandwidth
, orother
. Undefined for audio streams. remoteId
-
A string which identifies the
RTCRemoteInboundRtpStreamStats
object that provides statistics for the remote peer for this same SSRC. This ID is stable across multiple calls togetStats()
. retransmittedBytesSent
-
A positive integer that represents the total number of payload bytes retransmitted for the source associated with this stream.
retransmittedPacketsSent
-
A positive integer that represents the total number of packets retransmitted for the source associated with this stream.
rid
-
A string that indicates the RTP stream ID for a corresponding video stream.
scalabilityMode
Experimental-
A string that represents the scalability mode for the RTP stream, if one has been configured.
targetBitrate
-
A number that represents the bit rate that the
RTCRtpSender
's codec is currently attempting to achieve for the stream. totalEncodeTime
-
A number that represents the total number of seconds that have been spent encoding the frames encoded for this stream
RTCRtpSender
. Undefined for audio streams. totalEncodedBytesTarget
Experimental-
A cumulative sum of the target frame sizes for all of the frames encoded so far. This will likely differ from the total of the actual frame sizes. Undefined for audio streams.
totalPacketSendDelay
-
A number that represents the total time in seconds that packets have spent buffered locally before being transmitted.
Sent RTP stream statistics
bytesSent
Optional-
A positive integer indicating the total number of bytes sent for this SSRC, including retransmissions.
packetsSent
Optional-
A positive integer indicating the total number of RTP packets sent for this SSRC, including retransmissions.
Common RTP stream statistics
codecId
Optional-
A string that uniquely identifies the object that was inspected to produce the
RTCCodecStats
object associated with this RTP stream. kind
-
A string indicating whether the
MediaStreamTrack
associated with the stream is an audio or a video track. ssrc
-
A positive integer that identifies the SSRC of the RTP packets in this stream.
transportId
Optional-
A string that uniquely identifies the object which was inspected to produce the
RTCTransportStats
object associated with this RTP stream.
Common instance properties
The following properties are common to all WebRTC statistics objects.
id
-
A string that uniquely identifies the object that is being monitored to produce this set of statistics.
timestamp
-
A
DOMHighResTimeStamp
object indicating the time at which the sample was taken for this statistics object. type
-
A string with the value
"outbound-rtp"
, indicating the type of statistics that the object contains.
Examples
Specifications
Specification |
---|
Identifiers for WebRTC's Statistics API # dom-rtcstatstype-outbound-rtp |
Browser compatibility
BCD tables only load in the browser