This feature is well established and works across many devices and browser versions. It’s been available across browsers since February 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.
active Experimental
A boolean that indicates whether this RTP stream is configured to be sent, or is disabled.
frameHeightAn integer indicating the height of the last encoded frame, in pixels. Undefined for audio streams.
frameWidthAn integer indicating the width of the last encoded frame, in pixels. Undefined for audio streams.
framesEncodedThe number of frames that have been successfully encoded so far for sending on this RTP stream. Undefined for audio streams.
framesPerSecondA number that represents the encoded frames sent in the last second. Undefined for audio streams.
framesSentA positive integer that represents the total number of encoded frames sent on this RTP stream. Undefined for audio streams.
headerBytesSentA 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.
mediaSourceIdA string that represents the id of the stats object of the track currently attached to the sender of this stream.
midA 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.
nackCountAn integer value indicating the total number of Negative ACKnowledgement (NACK) packets this RTCRtpSender has received from the remote RTCRtpReceiver. This locally-computed value provides an indication of the error resiliency of the connection.
qpSumA 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, or other. Undefined for audio streams.
remoteIdA string which identifies the RTCRemoteInboundRtpStreamStats object that provides statistics for the remote peer for this same SSRC. This ID is stable across multiple calls to getStats().
retransmittedBytesSentA positive integer that represents the total number of payload bytes retransmitted for the source associated with this stream.
retransmittedPacketsSentA positive integer that represents the total number of packets retransmitted for the source associated with this stream.
ridA 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.
targetBitrateA number that represents the bit rate that the RTCRtpSender's codec is currently attempting to achieve for the stream.
totalEncodeTimeA 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.
totalPacketSendDelayA number that represents the total time in seconds that packets have spent buffered locally before being transmitted.
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.
codecId Optional
A string that uniquely identifies the object that was inspected to produce the RTCCodecStats object associated with this RTP stream.
kindA string indicating whether the MediaStreamTrack associated with the stream is an audio or a video track.
ssrcA 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.
The following properties are common to all WebRTC statistics objects.
idA string that uniquely identifies the object that is being monitored to produce this set of statistics.
timestampA DOMHighResTimeStamp object indicating the time at which the sample was taken for this statistics object.
typeA string with the value "outbound-rtp", indicating the type of statistics that the object contains.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
RTCOutboundRtpStreamStats |
80 | 80 | 27 | 67 | 11 | 80 | 27 | 57 | 11 | 13.0 | 80 | 11 |
active |
106 | 106 | No | 92 | No | 106 | No | 72 | No | 20.0 | 106 | No |
bytesSent |
80 | 80 | 72 | 67 | 13.1 | 80 | 79 | 57 | 13.4 | 13.0 | 80 | 13.4 |
codecId |
80 | 80 | 98 | 67 | 11 | 80 | 98 | 57 | 11 | 13.0 | 80 | 11 |
frameHeight |
84 | 84 | 101 | 70 | No | 84 | 101 | 60 | No | 14.0 | 84 | No |
frameWidth |
84 | 84 | 101 | 70 | No | 84 | 101 | 60 | No | 14.0 | 84 | No |
framesEncoded |
80 | 80 | 55 | 67 | 11–15.1 | 80 | 55 | 57 | 11–15.1 | 13.0 | 80 | 11–15.1 |
framesPerSecond |
84 | 84 | 115 | 70 | No | 84 | 115 | 60 | No | 14.0 | 84 | No |
framesSent |
84 | 84 | 101 | 70 | No | 84 | 101 | 60 | No | 14.0 | 84 | No |
headerBytesSent |
80 | 80 | 100 | 67 | 14.1 | 80 | 100 | 57 | 14.5 | 13.0 | 80 | 14.5 |
id |
80 | 80 | 72 | 67 | 13.1 | 80 | 79 | 57 | 13.4 | 13.0 | 80 | 13.4 |
keyFramesEncoded |
80 | 80 | No | 67 | No | 80 | No | 57 | No | 13.0 | 80 | No |
kind |
80 | 80 | 63 | 67 | 14 | 80 | 63 | 57 | 14 | 13.0 | 80 | 14 |
mediaSourceId |
80 | 80 | No | 67 | 14.1 | 80 | No | 57 | 14.5 | 13.0 | 80 | 14.5 |
mid |
105 | 105 | 135 | 91 | No | 105 | 135 | 72 | No | 20.0 | 105 | No |
nackCount |
93 | 93 | 55 | 79 | 15.4 | 93 | 55 | 66 | 15.4 | 17.0 | 93 | 15.4 |
packetsSent |
80 | 80 | 27 | 67 | 13.1 | 80 | 27 | 57 | 13.4 | 13.0 | 80 | 13.4 |
qpSum |
80 | 80 | 66 | 67 | No | 80 | 66 | 57 | No | 13.0 | 80 | No |
qualityLimitationDurations |
93 | 93 | No | 79 | No | 93 | No | 66 | No | 17.0 | 93 | No |
qualityLimitationReason |
80 | 80 | No | 67 | No | 80 | No | 57 | No | 13.0 | 80 | No |
remoteId |
81 | 81 | 27 | 68 | 15.3–15.4 | 81 | No | 58 | No | 13.0 | 81 | No |
retransmittedBytesSent |
80 | 80 | 100 | 67 | 14.1 | 80 | 100 | 57 | 14.5 | 13.0 | 80 | 14.5 |
retransmittedPacketsSent |
80 | 80 | 100 | 67 | 14.1 | 80 | 100 | 57 | 14.5 | 13.0 | 80 | 14.5 |
rid |
105 | 105 | 135 | 91 | No | 105 | 135 | 72 | No | 20.0 | 105 | No |
scalabilityMode |
110 | 110 | No | 96 | No | 110 | No | 74 | No | 21.0 | 110 | No |
ssrc |
80 | 80 | 27 | 67 | 11 | 80 | 27 | 57 | 11 | 13.0 | 80 | 11 |
targetBitrate |
98 | 98 | No | 84 | 16.4 | 98 | No | 68 | 16.4 | 18.0 | 98 | 16.4 |
timestamp |
80 | 80 | 72 | 67 | 13.1 | 80 | 79 | 57 | 13.4 | 13.0 | 80 | 13.4 |
totalEncodeTime |
80 | 80 | 102 | 67 | No | 80 | 102 | 57 | No | 13.0 | 80 | No |
totalEncodedBytesTarget |
80–84 | 80–84 | 102 | 67–70 | No | 80–84 | 102 | 57–60 | No | 13.0–14.0 | 80–84 | No |
totalPacketSendDelay |
80 | 80 | No | 67 | No | 80 | No | 57 | No | 13.0 | 80 | No |
transportId |
80 | 80 | No | 67 | 11 | 80 | No | 57 | 11 | 13.0 | 80 | 11 |
type |
80 | 80 | 72 | 67 | 13.1 | 80 | 79 | 57 | 13.4 | 13.0 | 80 | 13.4 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCOutboundRtpStreamStats