WebRTC statistics
The getStats() method of the RTCPeerConnection interface returns a promise which resolves with data providing statistics about either the overall connection or about the specified MediaStreamTrack.
Browser support
| Feature | Desktop | Mobile | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 58 | 79 | 27 | 11 | 58 | 11 | |
| The getStats() method of the RTCPeerConnection interface returns a promise which resolves with data providing statistics about either the overall connection or about the specified MediaStreamTrack. | 24 | 15 | 27 | 11 | 25 | 11 |
getStats (returns promise) Returns a `Promise` | 58 | 79 | 37 | 11 | 58 | 11 |
getStats (selector parameter) `selector` parameter | 67 | 79 | 27 | 11 | 67 | 11 |
| The RTCRtpReceiver method getStats() asynchronously requests an RTCStatsReport object which provides statistics about incoming traffic on the owning RTCPeerConnection, returning a Promise whose fulfillment handler will be called once the results are available. | 67 | 13 | 55 | 12.1 | 67 | 12.2 |
| The RTCRtpSender method getStats() asynchronously requests an RTCStatsReport object which provides statistics about outgoing traffic on the RTCPeerConnection which owns the sender, returning a Promise which is fulfilled when the results are available. | 67 | 13 | 55 | 12.1 | 67 | 12.2 |
| The [Symbol.iterator]() method of the RTCStatsReport interface implements the iterable protocol and allows statistics reports to be consumed by most syntaxes expecting iterables, such as the spread syntax and Statements/for...of loops. It returns an iterator object that yields the key-value pairs of the report in insertion order. | 58 | 79 | 48 | 11 | 58 | 11 |
| The entries() method of the RTCStatsReport interface returns a new iterator object that can be used to iterate through the key/value pairs for each element in the RTCStatsReport object, in insertion order. | 58 | 79 | 48 | 11 | 58 | 11 |
| The forEach() method of the RTCStatsReport interface executes a provided function once for each key/value pair in the RTCStatsReport object, in insertion order. | 58 | 79 | 27 | 11 | 58 | 11 |
| The get() method of the RTCStatsReport interface returns a specified element from an RTCStatsReport. | 58 | 79 | 27 | 11 | 58 | 11 |
| The has() method of the RTCStatsReport interface returns a boolean indicating whether a report contains a statistics dictionary with the specified id. | 58 | 79 | 27 | 11 | 58 | 11 |
| The keys() method of the RTCStatsReport interface returns a new iterator object that can be used to iterate through the keys for each element in the RTCStatsReport object, in insertion order. | 58 | 79 | 48 | 11 | 58 | 11 |
| The size read-only property of the RTCStatsReport interface returns the number of items in the current report. | 59 | 79 | 48 | 11 | 59 | 11 |
type_candidate-pair `candidate-pair` stats | 58 | 79 | 29 | 11 | 58 | 11 |
| The availableOutgoingBitrate property of the RTCIceCandidatePairStats dictionary indicates the available outbound capacity of the network connection represented by the candidate pair. The higher the value, the more bandwidth you can assume is available for outgoing data. | 58 | 79 | | 11 | 58 | 11 |
type_candidate-pair (bytesDiscardedOnSend) Experimental The bytesDiscardedOnSend property of the RTCIceCandidatePairStats dictionary indicates the total number of bytes discarded due to socket errors. | 96 | 96 | | | 96 | |
| The bytesReceived property of the RTCIceCandidatePairStats dictionary indicates the total number of received payload bytes that have been received so far on the connection described by the candidate pair. | 58 | 79 | 56 | 11 | 58 | 11 |
| The bytesSent property of the RTCIceCandidatePairStats dictionary indicates the total number of payload bytes that have been sent so far on the connection described by the candidate pair. | 58 | 79 | 56 | 11 | 58 | 11 |
type_candidate-pair (consentRequestsSent) Experimental The consentRequestsSent property of the RTCIceCandidatePairStats dictionary indicates the total number of consent requests sent on this candidate pair. | 80 | 80 | | | 80 | |
| The currentRoundTripTime property of the RTCIceCandidatePairStats dictionary indicates the number of seconds it takes for data to be sent by this peer to the remote peer and back over the connection described by this pair of ICE candidates. | 71 | 79 | 142 | 11 | 71 | 11 |
| The id property of the RTCIceCandidatePairStats dictionary is a string that uniquely identifies the object for which this object provides statistics. | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
| The lastPacketReceivedTimestamp property of the RTCIceCandidatePairStats dictionary indicates the time at which the connection described by the candidate pair last received a packet. | 109 | 109 | 56 | | 109 | |
| The lastPacketSentTimestamp property of the RTCIceCandidatePairStats dictionary indicates the time at which the connection described by the candidate pair last sent a packet, not including STUN packets. | 109 | 109 | 56 | | 109 | |
| The localCandidateId property of the RTCIceCandidatePairStats dictionary is a string that uniquely identifies the local ICE candidate which was analyzed to generate the RTCIceCandidateStats used to compute the statistics for this pair of candidates. | 58 | 79 | 29 | 11 | 58 | 11 |
| The nominated property of the RTCIceCandidatePairStats dictionary specifies whether or not the candidate pair described by the underlying RTCIceCandidatePair has been nominated to be used as the configuration for the WebRTC connection. | 58 | 79 | 56 | 11 | 58 | 11 |
type_candidate-pair (packetsDiscardedOnSend) Experimental The packetsDiscardedOnSend property of the RTCIceCandidatePairStats dictionary indicates the total number of packets discarded due to socket errors | 96 | 96 | | | 96 | |
type_candidate-pair (packetsReceived) Experimental The packetsReceived property of the RTCIceCandidatePairStats dictionary indicates the total number of packets received on the candidate pair. | 96 | 96 | | | 96 | |
type_candidate-pair (packetsSent) Experimental The packetsSent property of the RTCIceCandidatePairStats dictionary indicates the total number of packets sent on the candidate pair. | 96 | 96 | | | 96 | |
| The remoteCandidateId property of the RTCIceCandidatePairStats dictionary uniquely identifies the remote ICE candidate which was analyzed to generate the RTCIceCandidateStats used to compute the statistics for this pair of candidates. | 58 | 79 | 29 | 11 | 58 | 11 |
| The requestsReceived property of the RTCIceCandidatePairStats dictionary indicates the total number of STUN connectivity check requests that have been received so far on the connection described by this pairing of candidates. | 58 | 79 | | 11 | 58 | 11 |
| The requestsSent property of the RTCIceCandidatePairStats dictionary indicates the total number of STUN connectivity check requests that have been sent so far on the connection described by this pair of candidates. | 58 | 79 | | 11 | 58 | 11 |
| The responsesReceived property of the RTCIceCandidatePairStats dictionary indicates the total number of STUN connectivity check responses that have been received on the connection described by this pair of candidates. | 58 | 79 | 142 | 11 | 58 | 11 |
| The responsesSent property of the RTCIceCandidatePairStats dictionary indicates the total number of STUN connectivity check responses that have been sent so far on the connection described by this pair of candidates. | 58 | 79 | | 11 | 58 | 11 |
| The state property of the RTCIceCandidatePairStats dictionary indicates the state of the checklist of which the candidate pair is a member. | 58 | 79 | 29 | 11 | 58 | 11 |
| The timestamp property of the RTCIceCandidatePairStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
| The totalRoundTripTime property of the RTCIceCandidatePairStats dictionary indicates the total time that has elapsed between sending STUN requests and receiving the responses, for all such requests that have been made so far on the pair of candidates described by this RTCIceCandidatePairStats object. | 71 | 79 | 142 | 11 | 71 | 11 |
| The transportId property of the RTCIceCandidatePairStats dictionary uniquely identifies the RTCIceTransport object that was inspected to obtain the transport-related statistics contained in the stats object. | 58 | 79 | 56 | 11 | 58 | 11 |
| The type property of the RTCIceCandidatePairStats dictionary is a string with the value "candidate-pair". | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
type_certificate `certificate` stats | 80 | 80 | | 13.1 | 80 | 13.4 |
| The base64Certificate property of the RTCCertificateStats dictionary is a string containing the base-64 representation of the DER-encoded certificate. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The fingerprint property of the RTCCertificateStats dictionary is a string containing the fingerprint value of the associated RTCCertificate. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The fingerprintAlgorithm property of the RTCCertificateStats dictionary is a string containing the name of the hash function used to generate the RTCCertificateStats.fingerprint value in the associated RTCCertificate. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The id property of the RTCCertificateStats dictionary is a string that uniquely identifies the object for which this object provides statistics. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The timestamp property of the RTCCertificateStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The type property of the RTCCertificateStats dictionary is a string with the value "certificate". | 80 | 80 | | 13.1 | 80 | 13.4 |
type_codec `codec` stats | 80 | 80 | 98 | 13.1 | 80 | 13.4 |
| The channels property of the RTCCodecStats dictionary is a positive number containing the number of channels supported by the codec. | 83 | 83 | 98 | 14.1 | 83 | 14.5 |
| The clockRate property of the RTCCodecStats dictionary is a positive number containing the media sampling rate in hertz (Hz). | 80 | 80 | 98 | 13.1 | 80 | 13.4 |
| The id property of the RTCCodecStats dictionary is a string that uniquely identifies the object for which this object provides statistics. | 80 | 80 | 98 | 13.1 | 80 | 13.4 |
| The mimeType property of the RTCCodecStats dictionary is a string containing the codec's MIME type and subtype. | 80 | 80 | 98 | 13.1 | 80 | 13.4 |
| The payloadType property of the RTCCodecStats dictionary is a positive integer in the range from 0 to 127 that describes the format of the RTP payload used in RTP encoding or decoding. | 80 | 80 | 98 | 13.1 | 80 | 13.4 |
| The sdpFmtpLine property of the RTCCodecStats dictionary is a string containing the format-specific parameters of the codec. | 83 | 83 | 98 | 14 | 83 | 14 |
| The timestamp property of the RTCCodecStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 80 | 80 | 98 | 13.1 | 80 | 13.4 |
| The transportId property of the RTCCodecStats dictionary is a string that contains the unique identifier of the corresponding transport on which this codec is being used. | 89 | 89 | 98 | | 89 | |
| The type property of the RTCCodecStats dictionary is a string with the value "codec". | 80 | 80 | 98 | 13.1 | 80 | 13.4 |
type_data-channel `data-channel` stats | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
| The bytesReceived property of the RTCDataChannelStats dictionary returns the total number of payload bytes received on the associated RTCDataChannel. | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
| The bytesSent property of the RTCDataChannelStats dictionary returns the total number of payload bytes sent on the associated RTCDataChannel. | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
| The dataChannelIdentifier property of the RTCDataChannelStats dictionary containing the RTCDataChannel.id of the associated RTCDataChannel providing these statistics. | 85 | 85 | 79 | | 85 | |
| The id property of the RTCDataChannelStats dictionary is a string that uniquely identifies the object for which this object provides statistics. | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
| The label property of the RTCDataChannelStats dictionary returns the RTCDataChannel.label of the associated data channel. | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
| The messagesReceived property of the RTCDataChannelStats dictionary returns the total number of message events fired for received messages on the associated RTCDataChannel. | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
| The messagesSent property of the RTCDataChannelStats dictionary returns the total number of message events fired for sent messages on the associated RTCDataChannel. | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
| The protocol property of the RTCDataChannelStats dictionary returns a string containing the RTCDataChannel.protocol of the associated data channel. | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
| The state property of the RTCDataChannelStats dictionary returns a string that indicates the RTCDataChannel.readyState of the data channel's underlying data connection: connecting, open, closing or closed. | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
| The timestamp property of the RTCDataChannelStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
| The type property of the RTCDataChannelStats dictionary is a string with the value "data-channel". | 80 | 80 | 79 | 13.1 | 80 | 13.4 |
type_inbound-rtp `inbound-rtp` stats | 79 | 79 | 27 | 11 | 79 | 11 |
| The audioLevel property of the RTCInboundRtpStreamStats dictionary indicates the audio level of the received (remote) track. | 86 | 86 | 106 | 14.1 | 86 | |
| The bytesReceived property of the RTCInboundRtpStreamStats dictionary indicates the total number of bytes received so far from this synchronization source (SSRC), not including header and padding bytes. | 79 | 79 | 27 | 13.1 | 79 | 13.4 |
| The codecId property of the RTCInboundRtpStreamStats dictionary is a string that uniquely identifies the object that was inspected to produce the data in the RTCCodecStats for the RTP stream. | 80 | 80 | 98 | 15.2 | 80 | |
| The concealedSamples property of the RTCInboundRtpStreamStats dictionary indicates the total number of concealed samples for the received audio track over the lifetime of this stats object. | 86 | 86 | 104 | 14.1 | 86 | 14.5 |
| The concealmentEvents property of the RTCInboundRtpStreamStats dictionary indicates the total number of concealment events for the received audio track over the lifetime of this stats object. | 86 | 86 | 106 | 14.1 | 86 | 14.5 |
type_inbound-rtp (estimatedPlayoutTimestamp) Experimental The estimatedPlayoutTimestamp property of the RTCInboundRtpStreamStats dictionary indicates the estimated playout time of this receiver's track. | | | 142 | | | |
| The fecPacketsDiscarded property of the RTCInboundRtpStreamStats dictionary indicates the number of RTP Forward Error Correction (FEC) packets that have been discarded. | 81 | 81 | 106 | 14.1 | 81 | 14.5 |
| The fecPacketsReceived property of the RTCInboundRtpStreamStats dictionary indicates how many Forward Error Correction (FEC) packets have been received by this RTP receiver from the remote peer. | 81 | 81 | 106 | 14.1 | 81 | 14.5 |
| The frameHeight property of the RTCInboundRtpStreamStats dictionary indicates the height of the last decoded frame, in pixels. | 86 | 86 | 101 | | 86 | |
| The framesAssembledFromMultiplePackets property of the RTCInboundRtpStreamStats dictionary indicates the total number of correctly decoded frames for this RTP stream that were assembled from more than one RTP packet. | | | 142 | | | |
| The framesDecoded property of the RTCInboundRtpStreamStats dictionary indicates the total number of video frames which have been decoded successfully for this media source. | 79 | 79 | 56 | 11 | 79 | 11 |
| The framesPerSecond property of the RTCInboundRtpStreamStats dictionary indicates the number of frames decoded in the last second. | 86 | 86 | 101 | | 86 | |
| The framesReceived property of the RTCInboundRtpStreamStats dictionary indicates the total number of complete frames received on this RTP stream over its lifetime. | 86 | 86 | 101 | | 86 | |
| The frameWidth property of the RTCInboundRtpStreamStats dictionary indicates the width of the last decoded frame, in pixels. | 86 | 86 | 101 | | 86 | |
type_inbound-rtp (freezeCount) Experimental The freezeCount property of the RTCInboundRtpStreamStats dictionary indicates the total number of video freezes experienced by this receiver. | | | 142 | | | |
| The headerBytesReceived property of the RTCInboundRtpStreamStats dictionary indicates the total number of RTP header and padding bytes received for this synchronization source (SSRC), including those sent in retransmissions. | 80 | 80 | 106 | 14.1 | 80 | 14.5 |
| The id property of the RTCInboundRtpStreamStats dictionary is a string that uniquely identifies the object for which this object provides statistics. | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
| The insertedSamplesForDeceleration property of the RTCInboundRtpStreamStats dictionary accumulates the difference between the number of samples received and the number of samples played out of the jitter while audio playout is slowed down. | 86 | 86 | 106 | 14.1 | 86 | 14.5 |
| The jitter property of the RTCInboundRtpStreamStats dictionary indicates the packet interarrival jitter for this synchronization source (SSRC), in seconds. | 80 | 80 | 27 | 13.1 | 80 | 13.4 |
| The jitterBufferDelay property of the RTCInboundRtpStreamStats dictionary indicates the accumulated time that all audio samples and complete video frames have spent in the jitter. | 86 | 86 | 104 | 14.1 | 86 | 14.5 |
| The jitterBufferEmittedCount property of the RTCInboundRtpStreamStats dictionary indicates the total number of audio samples and/or video frames that have come out of the jitter. | 86 | 86 | 104 | 14.1 | 86 | 14.5 |
| The jitterBufferMinimumDelay property of the RTCInboundRtpStreamStats dictionary indicates the minimum jitter delay that might be achieved given only the network characteristics such as jitter and packet loss. | 105 | 105 | 142 | | 105 | |
| The jitterBufferTargetDelay property of the RTCInboundRtpStreamStats dictionary indicates the accumulated target jitter delay, in seconds. | 105 | 105 | 142 | | 105 | |
| The keyFramesDecoded property of the RTCInboundRtpStreamStats dictionary represents the total number of key frames successfully decoded in this RTP media stream. This includes, for example, key frames in VP8 (6386) or IDR-frames in H.264 (6184). | 79 | 79 | 142 | | 79 | |
| The kind property of the RTCInboundRtpStreamStats dictionary is a string indicating whether the described RTP stream contains audio or video media. | 80 | 80 | 63 | 14 | 80 | 14 |
| The lastPacketReceivedTimestamp property of the RTCInboundRtpStreamStats dictionary indicates the time at which the most recently received packet arrived from this source. | 80 | 80 | 106 | 15.2 | 80 | |
| The mid property of the RTCInboundRtpStreamStats dictionary is a string that contains the media id negotiated between the local and remote peers. This uniquely identifies the pairing of source and destination for the transceiver's stream. | 105 | 105 | 135 | 17 | 105 | 17 |
| The nackCount property of the RTCInboundRtpStreamStats dictionary indicates the number of times the receiver sent a NACK packet to the sender. | 80 | 80 | 55 | | 80 | |
| The packetsDiscarded property of the RTCInboundRtpStreamStats dictionary indicates the cumulative number of RTP packets that have been discarded by the jitter due to late or early-arrival, and are hence not played out. | 94 | 94 | 96 | 15.4 | 94 | 15.4 |
| The packetsLost property of the RTCRemoteInboundRtpStreamStats dictionary returns the total number of RTP packets lost from the synchronization source (SSRC) since the beginning of reception. | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
| The packetsReceived property of the RTCInboundRtpStreamStats dictionary returns the total number of RTP packets received from the synchronization source (SSRC) of this stream, including retransmissions. | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
type_inbound-rtp (pauseCount) Experimental The pauseCount property of the RTCRemoteInboundRtpStreamStats dictionary indicates the total number of pauses experienced by this receiver. | | | 142 | | | |
type_inbound-rtp (playoutId) Experimental The playoutId property of the RTCInboundRtpStreamStats dictionary indicates the RTCAudioPlayoutStats.id of the RTCAudioPlayoutStats object that corresponds to this stream. | 111 | 111 | | | 111 | |
| The qpSum property of the RTCInboundRtpStreamStats dictionary indicates the sum of the Quantization Parameter (QP) values for every frame sent or received on the video track corresponding to this RTCInboundRtpStreamStats object. | 79 | 79 | 106 | | 79 | |
| The remoteId property of the RTCInboundRtpStreamStats dictionary specifies the RTCInboundRtpStreamStats.id of the RTCRemoteOutboundRtpStreamStats object representing the remote peer's RTCRtpSender which is sending the media to the local peer. | 91 | 91 | 68 | | 91 | |
| The removedSamplesForAcceleration property of the RTCInboundRtpStreamStats dictionary accumulates the difference between the number of samples played out of the jitter and the number of samples received while audio playout is sped up. | 86 | 86 | 106 | 14.1 | 86 | 14.5 |
| The silentConcealedSamples property of the RTCInboundRtpStreamStats dictionary indicates the total number of silent concealed samples for the received audio track over the lifetime of this stats object. | 86 | 86 | 104 | 14.1 | 86 | 14.5 |
| The ssrc property of the RTCInboundRtpStreamStats dictionary identifies the synchronization source (SSRC) of this stream of RTP packets. | 80 | 80 | 27 | 11 | 80 | 11 |
| The timestamp property of the RTCInboundRtpStreamStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
type_inbound-rtp (totalAssemblyTime) Experimental The totalAssemblyTime property of the RTCInboundRtpStreamStats dictionary indicates the total time spent assembling successfully decoded video frames that were transported in multiple RTP packets. | | | 142 | | | |
| The totalAudioEnergy property of the RTCInboundRtpStreamStats dictionary represents the total audio energy of a received audio track over the lifetime of this stats object. | 86 | 86 | 106 | 14.1 | 86 | 14.5 |
| The totalDecodeTime property of the RTCInboundRtpStreamStats dictionary indicates the total time spend decoding frames for this media source/stream, in seconds. | 79 | 79 | 106 | | 79 | |
type_inbound-rtp (totalFreezesDuration) Experimental The totalFreezesDuration property of the RTCRemoteInboundRtpStreamStats dictionary indicates the total time that the video in this stream has spent frozen, in seconds. | | | 142 | | | |
| The totalInterFrameDelay property of the RTCInboundRtpStreamStats dictionary indicates the total accumulated time between consecutively rendered frames, in seconds. It is recorded after each frame is rendered. | 79 | 79 | 106 | | 79 | |
type_inbound-rtp (totalPausesDuration) Experimental The totalPausesDuration property of the RTCRemoteInboundRtpStreamStats dictionary indicates the total time that the video in this stream has spent paused, in seconds | | | 142 | | | |
| The totalProcessingDelay property of the RTCInboundRtpStreamStats dictionary indicates the total accumulated time spent processing audio or video samples, in seconds. | 103 | 103 | 106 | | 103 | |
| The totalSamplesDuration property of the RTCRemoteInboundRtpStreamStats dictionary indicates the total duration of all audio samples that have been received. In other words, the current duration of the track. | 86 | 86 | 106 | 14.1 | 86 | 14.5 |
| The totalSamplesReceived property of the RTCInboundRtpStreamStats dictionary indicates the total number of samples received on this stream, including RTCInboundRtpStreamStats/concealedSamples. | 86 | 86 | 104 | 14.1 | 86 | 14.5 |
| The totalSquaredInterFrameDelay property of the RTCInboundRtpStreamStats dictionary indicates the sum of the square of each inter-frame delay between consecutively rendered frames. It is recorded after each frame is rendered. | 79 | 79 | 106 | | 79 | |
| The trackIdentifier property of the RTCInboundRtpStreamStats dictionary is a string that identifies the MediaStreamTrack associated with the inbound stream. | 105 | 105 | 111 | 16.4 | 105 | 16.4 |
| The transportId property of the RTCInboundRtpStreamStats dictionary is a string that uniquely identifies the associated RTCTransportStats statistics object for this RTP stream's underlying transport. | 80 | 80 | | 11 | 80 | 11 |
| The type property of the RTCInboundRtpStreamStats dictionary is a string with the value "inbound-rtp". | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
type_local-candidate `local-candidate` stats | 80 | 80 | 27 | 12.1 | 80 | 12.2 |
| The address property of the RTCIceCandidateStats dictionary indicates the address of the ICE candidate. While it's preferred that the address be specified as an IPv4 or IPv6 numeric address, a fully-qualified domain name can be used as well. | 91 | 91 | 65 | | 91 | |
| The candidateType property of the RTCIceCandidateStats dictionary is a string that indicates the type of ICE candidate the object represents. | 80 | 80 | 27 | 12.1 | 80 | 12.2 |
type_local-candidate (foundation) Experimental The foundation property of the RTCIceCandidateStats interface is a string that allows correlation of candidates from a common network path on multiple RTCIceTransport objects. | 108 | 108 | | | 108 | |
| The id property of the RTCIceCandidateStats dictionary is a string that uniquely identifies the object for which this object provides statistics. | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
| The port property of the RTCIceCandidateStats dictionary specifies the network port used by the candidate. | 80 | 80 | 72 | 12.1 | 80 | 12.2 |
| The priority property of the RTCIceCandidateStats dictionary is a positive integer value indicating the priority (or desirability) of the described candidate. | 80 | 80 | 72 | 12.1 | 80 | 12.2 |
| The protocol property of the RTCIceCandidateStats dictionary indicates the protocol the specified candidate would use for communication with the remote peer. | 80 | 80 | 64 | 12.1 | 80 | 12.2 |
| The timestamp property of the RTCIceCandidateStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
| The transportId property of the RTCIceCandidateStats dictionary is a string that uniquely identifies the transport that produced the RTCTransportStats from which information about this candidate was taken. | 80 | 80 | 31 | 12.1 | 80 | 12.2 |
| The type property of the RTCIceCandidateStats dictionary is a string with the value "local-candidate". | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
type_local-candidate (usernameFragment) Experimental The usernameFragment property of the RTCIceCandidateStats interface is a string that represents the ICE username fragment ("ice-ufrag"). | 108 | 108 | | | 108 | |
type_media-playout `media-playout` stats | 111 | 111 | | | 111 | |
type_media-playout (id) Experimental `id` in 'media-playout' stats | 111 | 111 | | | 111 | |
type_media-playout (kind) Experimental `kind` in 'media-playout' stats | 111 | 111 | | | 111 | |
type_media-playout (synthesizedSamplesDuration) Experimental `synthesizedSamplesDuration` in 'media-playout' stats | 111 | 111 | | | 111 | |
type_media-playout (synthesizedSamplesEvents) Experimental `synthesizedSamplesEvents` in 'media-playout' stats | 111 | 111 | | | 111 | |
type_media-playout (timestamp) Experimental `timestamp` in 'media-playout' stats | 111 | 111 | | | 111 | |
type_media-playout (totalPlayoutDelay) Experimental `totalPlayoutDelay` in 'media-playout' stats | 111 | 111 | | | 111 | |
type_media-playout (totalSamplesCount) Experimental `totalSamplesCount` in 'media-playout' stats | 111 | 111 | | | 111 | |
type_media-playout (totalSamplesDuration) Experimental `totalSamplesDuration` in 'media-playout' stats | 111 | 111 | | | 111 | |
type_media-playout (type) Experimental `type` in 'media-playout' stats | 111 | 111 | | | 111 | |
type_media-source `media-source` stats | 80 | 80 | 113 | 14.1 | 80 | 14.5 |
type_media-source (audioLevel) Experimental The audioLevel property of the RTCAudioSourceStats dictionary represents the audio level of the media source. | 80 | 80 | | | 80 | |
| The frames property of the RTCVideoSourceStats dictionary indicates the total number of frames originating from this video source over its lifetime. | 90 | 90 | 116 | | 90 | |
| The framesPerSecond property of the RTCVideoSourceStats dictionary indicates the number of frames originating from this video source in the last second. | 80 | 80 | 116 | | 80 | |
| The height property of the RTCVideoSourceStats dictionary indicates the height, in pixels, of the last frame originating from this source. | 80 | 80 | 116 | | 80 | |
type_media-source (id) `id` in 'media-source' stats | 80 | 80 | 113 | 14.1 | 80 | 14.5 |
type_media-source (kind) `kind` in 'media-source' stats | 80 | 80 | 113 | 14.1 | 80 | 14.5 |
type_media-source (timestamp) `timestamp` in 'media-source' stats | 80 | 80 | 113 | 14.1 | 80 | 14.5 |
type_media-source (totalAudioEnergy) Experimental The totalAudioEnergy property of the RTCAudioSourceStats dictionary represents the total audio energy of the media source over the lifetime of this stats object. | 80 | 80 | | | 80 | |
type_media-source (totalSamplesDuration) Experimental The totalSamplesDuration property of the RTCAudioSourceStats dictionary represents the combined duration of all samples produced by the media source over the lifetime of this stats object, in seconds. It does not include samples dropped before reaching this media source. <!-- Dropped samples in droppedSamplesDuration; not implemented --> | 80 | 80 | | | 80 | |
type_media-source (trackIdentifier) `trackIdentifier` in 'media-source' stats | 80 | 80 | 113 | 14.1 | 80 | 14.5 |
type_media-source (type) `type` in 'media-source' stats | 80 | 80 | 113 | 14.1 | 80 | 14.5 |
| The width property of the RTCVideoSourceStats dictionary indicates the width, in pixels, of the last frame originating from this source. | 80 | 80 | 116 | | 80 | |
type_outbound-rtp `outbound-rtp` stats | 80 | 80 | 27 | 11 | 80 | 11 |
type_outbound-rtp (active) Experimental The active property of the RTCOutboundRtpStreamStats dictionary is a boolean that indicates whether this RTP stream is configured to be sent, or is disabled. | 106 | 106 | | | 106 | |
| The bytesSent property of the RTCOutboundRtpStreamStats dictionary indicates the total number of payload bytes sent on this stream (RTCDataChannel). | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
| The codecId property of the RTCOutboundRtpStreamStats dictionary is a string that uniquely identifies the object that was inspected to produce the data in the RTCCodecStats for the RTP stream. | 80 | 80 | 98 | 11 | 80 | 11 |
| The frameHeight property of the RTCOutboundRtpStreamStats dictionary is a positive integer that indicates the height of the last encoded frame, in pixels. | 84 | 84 | 101 | | 84 | |
| The framesEncoded property of the RTCOutboundRtpStreamStats dictionary indicates the total number of frames that have been encoded by this RTCRtpSender for this media source. | 80 | 80 | 55 | 11 | 80 | 11 |
| The framesPerSecond property of the RTCOutboundRtpStreamStats dictionary indicates the number of encoded frames sent in the last second. | 84 | 84 | 115 | | 84 | |
| The framesSent property of the RTCOutboundRtpStreamStats dictionary indicates the total number of encoded frames sent on this RTP stream over its lifetime. | 84 | 84 | 101 | | 84 | |
| The frameWidth property of the RTCOutboundRtpStreamStats dictionary is a positive integer that indicates the width of the last encoded frame, in pixels. | 84 | 84 | 101 | | 84 | |
| The headerBytesSent property of the RTCOutboundRtpStreamStats dictionary indicates the total number of RTP header and padding bytes sent for this synchronization source (SSRC). | 80 | 80 | 100 | 14.1 | 80 | 14.5 |
| The id property of the RTCOutboundRtpStreamStats dictionary is a string that uniquely identifies the object for which this object provides statistics. | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
type_outbound-rtp (keyFramesEncoded) Experimental The keyFramesEncoded property of the RTCOutboundRtpStreamStats dictionary represents the total number of key frames successfully encoded in this RTP media stream. This includes, for example, key frames in VP8 (6386) or IDR-frames in H.264 (6184). | 80 | 80 | | | 80 | |
| The kind property of the RTCOutboundRtpStreamStats dictionary is a string indicating whether the described RTP stream contains audio or video media. | 80 | 80 | 63 | 14 | 80 | 14 |
| The mediaSourceId property of the RTCOutboundRtpStreamStats dictionary represents the ID of the statistics object of the track currently attached to the sender of this stream. | 80 | 80 | | 14.1 | 80 | 14.5 |
| The mid property of the RTCOutboundRtpStreamStats dictionary is a string that contains the media ID negotiated between the local and remote peers. This uniquely identifies the pairing of source and destination for the transceiver's stream. | 105 | 105 | 135 | | 105 | |
| The nackCount property of the RTCOutboundRtpStreamStats dictionary is a numeric value indicating the number of times the RTCRtpSender described by this object received a NACK packet from the remote receiver. | 93 | 93 | 55 | 15.4 | 93 | 15.4 |
| The packetsSent property of the RTCOutboundRtpStreamStats dictionary represents the total number of RTP packets sent on this stream, including retransmissions. | 80 | 80 | 27 | 13.1 | 80 | 13.4 |
| The qpSum property of the RTCOutboundRtpStreamStats dictionary is a value generated by adding the Quantization Parameter (QP) values for every frame this sender has produced to date on the video track corresponding to this RTCOutboundRtpStreamStats object. | 80 | 80 | 66 | | 80 | |
type_outbound-rtp (qualityLimitationDurations) Experimental The qualityLimitationDurations property of the RTCOutboundRtpStreamStats dictionary is a map of the reasons that a media stream's quality has been reduced by a codec during encoding, and the time during which the quality was reduced for each reason. | 93 | 93 | | | 93 | |
type_outbound-rtp (qualityLimitationReason) Experimental The qualityLimitationReason property of the RTCOutboundRtpStreamStats dictionary is a string indicating the reason why the media quality in the stream is currently being reduced by the codec during encoding, or none if no quality reduction is being performed. | 80 | 80 | | | 80 | |
| The remoteId property of the RTCOutboundRtpStreamStats dictionary specifies the RTCOutboundRtpStreamStats.id of the RTCRemoteInboundRtpStreamStats object representing the remote peer's RTCRtpReceiver which is sending the media to the local peer for this SSRC. | 81 | 81 | 27 | 15.3 | 81 | |
| The retransmittedBytesSent property of the RTCOutboundRtpStreamStats dictionary represents the total number of payload bytes retransmitted for the source associated with this stream. | 80 | 80 | 100 | 14.1 | 80 | 14.5 |
| The retransmittedPacketsSent property of the RTCOutboundRtpStreamStats dictionary represents the total number of packets retransmitted for the source associated with this stream. | 80 | 80 | 100 | 14.1 | 80 | 14.5 |
| The rid property of the RTCOutboundRtpStreamStats dictionary is a string that specifies the RTP stream ID, if defined. | 105 | 105 | 135 | | 105 | |
type_outbound-rtp (scalabilityMode) Experimental The scalabilityMode property of the RTCOutboundRtpStreamStats dictionary represents the scalability mode for the RTP stream, if one has been configured. If not configured, the property is undefined. | 110 | 110 | | | 110 | |
| The ssrc property of the RTCOutboundRtpStreamStats dictionary contains a positive integer value that identifies the synchronization source (SSRC) of this stream of RTP packets. | 80 | 80 | 27 | 11 | 80 | 11 |
| The targetBitrate property of the RTCOutboundRtpStreamStats dictionary represents the current target bitrate of the codec in use by the stream. | 98 | 98 | | 16.4 | 98 | 16.4 |
| The timestamp property of the RTCOutboundRtpStreamStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
type_outbound-rtp (totalEncodedBytesTarget) Experimental The totalEncodedBytesTarget property of the RTCOutboundRtpStreamStats dictionary represents the sum of the target frame sizes for all of the frames encoded so far. | 80 | 80 | 102 | | 80 | |
| The totalEncodeTime property of the RTCOutboundRtpStreamStats dictionary represents the total number of seconds spent encoding the RTCOutboundRtpStreamStats/framesEncoded frames for this stream (RTCRtpSender). | 80 | 80 | 102 | | 80 | |
| The totalPacketSendDelay property of the RTCOutboundRtpStreamStats dictionary represents the total time in seconds that packets have spent buffered locally before being transmitted. | 80 | 80 | | | 80 | |
| The transportId property of the RTCOutboundRtpStreamStats dictionary is a string that uniquely identifies the associated RTCTransportStats statistics object for this RTP stream's underlying transport. | 80 | 80 | | 11 | 80 | 11 |
| The type property of the RTCOutboundRtpStreamStats dictionary is a string with the value "outbound-rtp". | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
| The RTCPeerConnectionStats dictionary of the WebRTC API provides information about the high level peer connection (RTCPeerConnection). | 80 | 80 | 113 | 13.1 | 80 | 13.4 |
| The dataChannelsClosed property of the RTCPeerConnectionStats dictionary indicates the number of unique RTCDataChannel objects that have left the open state during their lifetime. | 80 | 80 | 113 | 13.1 | 80 | 13.4 |
| The dataChannelsOpened property of the RTCPeerConnectionStats dictionary indicates the number of unique RTCDataChannel objects that have entered the open state during their lifetime. | 80 | 80 | 113 | 13.1 | 80 | 13.4 |
| The id property of the RTCPeerConnectionStats dictionary is a string which uniquely identifies the object for which this object provides statistics. | 80 | 80 | 113 | 13.1 | 80 | 13.4 |
| The timestamp property of the RTCPeerConnectionStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 80 | 80 | 113 | 13.1 | 80 | 13.4 |
| The type property of the RTCPeerConnectionStats dictionary is a string with the value "peer-connection". | 80 | 80 | 113 | 13.1 | 80 | 13.4 |
type_remote-candidate `remote-candidate` stats | 80 | 80 | 27 | 12.1 | 80 | 12.2 |
type_remote-candidate (address) `address` in 'remote-candidate' stats | 91 | 91 | 65 | | 91 | |
type_remote-candidate (candidateType) `candidateType` in 'remote-candidate' stats | 80 | 80 | 27 | 12.1 | 80 | 12.2 |
type_remote-candidate (foundation) Experimental `foundation` in 'remote-candidate' stats | 108 | 108 | | | 108 | |
type_remote-candidate (id) `id` in 'remote-candidate' stats | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
type_remote-candidate (port) `port` in 'remote-candidate' stats | 80 | 80 | 72 | 12.1 | 80 | 12.2 |
type_remote-candidate (priority) `priority` in 'remote-candidate' stats | 80 | 80 | 72 | 12.1 | 80 | 12.2 |
type_remote-candidate (protocol) `protocol` in 'remote-candidate' stats | 80 | 80 | 64 | 12.1 | 80 | 12.2 |
type_remote-candidate (timestamp) `timestamp` in 'remote-candidate' stats | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
type_remote-candidate (transportId) `transportId` in 'remote-candidate' stats | 80 | 80 | 31 | 12.1 | 80 | 12.2 |
type_remote-candidate (type) `type` in 'remote-candidate' stats | 80 | 80 | 72 | 13.1 | 80 | 13.4 |
type_remote-candidate (usernameFragment) Experimental `usernameFragment` in 'remote-candidate' stats | 108 | 108 | | | 108 | |
type_remote-inbound-rtp `remote-inbound-rtp` stats | 80 | 80 | 27 | 11 | 80 | 11 |
| The codecId property of the RTCRemoteInboundRtpStreamStats dictionary is a string that uniquely identifies the object that was inspected to produce the data in the RTCCodecStats for the RTP stream. | 80 | 80 | 98 | 11 | 80 | 11 |
| The fractionLost property of the RTCRemoteInboundRtpStreamStats dictionary provides a value that can be used to determine the fraction of packets lost for this synchronization source (SSRC) in the last reporting interval. | 91 | 91 | 106 | | 91 | |
| The id property of the RTCRemoteInboundRtpStreamStats dictionary is a string that uniquely identifies the object for which this object provides statistics. | 80 | 80 | 72 | 14.1 | 80 | 14.5 |
| The jitter property of the RTCRemoteInboundRtpStreamStats dictionary returns the Jitter for the synchronization source (SSRC) as measured by the remote endpoint. | 80 | 80 | 72 | | 80 | |
| The kind property of the RTCRemoteInboundRtpStreamStats dictionary is a string indicating whether the described RTP stream contains audio or video media. | 80 | 80 | 63 | 14 | 80 | 14 |
| The RTCRemoteInboundRtpStreamStats dictionary's localId property is a string that can be used to identify the RTCOutboundRtpStreamStats object whose RTCOutboundRtpStreamStats.remoteId matches this value. | 80 | 80 | 72 | 14.1 | 80 | 14.5 |
| The packetsLost property of the RTCRemoteInboundRtpStreamStats dictionary returns the total number of RTP packets lost from the synchronization source (SSRC), as reported by the remote endpoint, since the beginning of reception. | 80 | 80 | 72 | | 80 | |
type_remote-inbound-rtp (packetsReceived) Experimental The packetsReceived property of the RTCRemoteInboundRtpStreamStats dictionary returns the total number of RTP packets received from the synchronization source (SSRC) of this stream by the remote endpoint, including retransmissions. | | | 72 | | | |
| The roundTripTime property of the RTCRemoteInboundRtpStreamStats dictionary indicates the estimated round trip time (RTT) for this synchronization source (SSRC), in seconds. | 80 | 80 | 96 | 14.1 | 80 | 14.5 |
| The roundTripTimeMeasurements property of the RTCRemoteInboundRtpStreamStats dictionary contains a positive integer value that represents the total number valid round trip time measurements received for this synchronizing source. | 91 | 91 | 106 | | 91 | |
| The ssrc property of the RTCRemoteInboundRtpStreamStats dictionary contains a positive integer value that identifies the synchronization source (SSRC) of this stream of RTP packets. | 80 | 80 | 27 | 11 | 80 | 11 |
| The timestamp property of the RTCRemoteInboundRtpStreamStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 80 | 80 | 72 | 14.1 | 80 | 14.5 |
| The totalRoundTripTime property of the RTCRemoteInboundRtpStreamStats dictionary indicates the cumulative number sum of all round trip time (RTT) measurements since the beginning of the session, in seconds. | 91 | 91 | 106 | | 91 | |
| The transportId property of the RTCRemoteInboundRtpStreamStats dictionary is a string that uniquely identifies the associated RTCTransportStats statistics object for this RTP stream's underlying transport. | 80 | 80 | | 11 | 80 | 11 |
| The type property of the RTCRemoteInboundRtpStreamStats dictionary is a string with the value "remote-inbound-rtp". | 80 | 80 | 72 | 14.1 | 80 | 14.5 |
type_remote-outbound-rtp `remote-outbound-rtp` stats | 91 | 91 | 27 | 11 | 91 | 11 |
type_remote-outbound-rtp (bytesSent) `bytesSent` in 'remote-outbound-rtp' stats | 91 | 91 | 72 | | 91 | |
| The codecId property of the RTCRemoteOutboundRtpStreamStats dictionary is a string that uniquely identifies the object that was inspected to produce the data in the RTCCodecStats for the RTP stream. | 91 | 91 | 98 | 11 | 91 | 11 |
| The id property of the RTCRemoteOutboundRtpStreamStats dictionary is a string that uniquely identifies the object for which this object provides statistics. | 91 | 91 | 72 | | 91 | |
| The kind property of the RTCRemoteOutboundRtpStreamStats dictionary is a string indicating whether the described RTP stream contains audio or video media. | 91 | 91 | 63 | 14 | 91 | 14 |
| The RTCRemoteOutboundRtpStreamStats dictionary's localId property is a string which can be used to identify the RTCInboundRtpStreamStats object whose RTCInboundRtpStreamStats.remoteId matches this value. | 91 | 91 | 68 | | 91 | |
type_remote-outbound-rtp (packetsSent) `packetsSent` in 'remote-outbound-rtp' stats | 91 | 91 | 72 | | 91 | |
| The RTCRemoteOutboundRtpStreamStats property remoteTimestamp indicates the timestamp on the remote peer at which these statistics were sent. This differs from timestamp, which indicates the time at which the statistics were generated or received locally. | 91 | 91 | 79 | | 91 | |
type_remote-outbound-rtp (reportsSent) Experimental `reportsSent` in 'remote-outbound-rtp' stats | 91 | 91 | | | 91 | |
type_remote-outbound-rtp (roundTripTimeMeasurements) Experimental The roundTripTimeMeasurements property of the RTCRemoteOutboundRtpStreamStats dictionary is a positive integer value that represents the total number valid round of trip time measurements received for this synchronizing source (SSRC). | 96 | 96 | | | 96 | |
| The ssrc property of the RTCRemoteOutboundRtpStreamStats dictionary contains a positive integer value that identifies the synchronization source (SSRC) of this stream of RTP packets. | 91 | 91 | 27 | 11 | 91 | 11 |
| The timestamp property of the RTCRemoteOutboundRtpStreamStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 91 | 91 | 72 | | 91 | |
type_remote-outbound-rtp (totalRoundTripTime) Experimental The totalRoundTripTime property of the RTCRemoteOutboundRtpStreamStats dictionary indicates the sum of all round trip time (RTT) measurements since the beginning of the session, in seconds. | 96 | 96 | | | 96 | |
| The transportId property of the RTCRemoteOutboundRtpStreamStats dictionary is a string that uniquely identifies the associated RTCTransportStats statistics object for this RTP stream's underlying transport. | 91 | 91 | | 11 | 91 | 11 |
| The type property of the RTCRemoteOutboundRtpStreamStats dictionary is a string with the value "remote-outbound-rtp". | 91 | 91 | 72 | | 91 | |
type_transport `transport` stats | 80 | 80 | | 13.1 | 80 | 13.4 |
| The bytesReceived property of the RTCTransportStats dictionary indicates the total number of payload bytes received on this transport. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The bytesSent property of the RTCTransportStats dictionary indicates the total number of payload bytes sent on this transport. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The dtlsCipher property of the RTCTransportStats dictionary is a string that indicates the descriptive name of the cipher suite used for the DTLS transport. | 80 | 80 | | 14.1 | 80 | 14.5 |
type_transport (dtlsRole) Experimental The dtlsRole property of the RTCTransportStats dictionary is a string that indicates the role of the associated RTCPeerConnection in the DTLS negotiation. | 103 | 103 | | | 103 | |
| The dtlsState property of the RTCTransportStats dictionary is a string that indicates the current state of the underlying RTCDtlsTransport. | 80 | 80 | | 14.1 | 80 | 14.5 |
type_transport (iceLocalUsernameFragment) Experimental The iceLocalUsernameFragment property of the RTCTransportStats dictionary is a string that indicates the local username fragment ("ufrag" or "ice-ufrag") that uniquely identifies the ICE interaction session managed by this transport. | 103 | 103 | | | 103 | |
type_transport (iceRole) Experimental The iceRole property of the RTCTransportStats dictionary is a string that indicates the ICE role that the transport is fulfilling: that of the controlling agent, or the agent that is being controlled. | 103 | 103 | | | 103 | |
type_transport (iceState) Experimental The iceState property of the RTCTransportStats dictionary is a string that indicates the current ICE state of the underlying RTCIceTransport. | 103 | 103 | | | 103 | |
| The id property of the RTCTransportStats dictionary is a string which uniquely identifies the object for which this object provides statistics. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The localCertificateId property of the RTCTransportStats dictionary is a string that indicates the id of the local certificate used by this RTCIceTransport. | 80 | 80 | | 13.1 | 80 | 13.4 |
type_transport (packetsReceived) Experimental The packetsReceived property of the RTCTransportStats dictionary indicates the total number of packets received on this transport. | 86 | 86 | | | 86 | |
type_transport (packetsSent) Experimental The packetsSent property of the RTCTransportStats dictionary indicates the total number of packets sent over this transport. | 86 | 86 | | | 86 | |
| The remoteCertificateId property of the RTCTransportStats dictionary is a string that indicates the id of the remote certificate used by this RTCIceTransport. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The selectedCandidatePairChanges property of the RTCTransportStats dictionary indicates the total number of times that the selected candidate pair of this transport has changed. | 80 | 80 | | | 80 | |
| The selectedCandidatePairId property of the RTCTransportStats dictionary represents the unique identifier for the candidate pair stats associated with this transport. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The srtpCipher property of the RTCTransportStats dictionary indicates the descriptive name of the protection profile used for the Secure Real-time Transport Protocol (SRTP) transport. | 80 | 80 | | 14.1 | 80 | 14.5 |
| The timestamp property of the RTCTransportStats dictionary is a DOMHighResTimeStamp object specifying the time at which the data in the object was sampled. | 80 | 80 | | 13.1 | 80 | 13.4 |
| The tlsVersion property of the RTCTransportStats dictionary indicates the negotiated TLS version of an underlying DTLS transport. | 80 | 80 | | 14.1 | 80 | 14.5 |
| The type property of the RTCTransportStats dictionary is a string with the value "transport". | 80 | 80 | | 13.1 | 80 | 13.4 |
| The values() method of the RTCStatsReport interface returns a new iterator object that can be used to iterate through the values for each element in the RTCStatsReport object, in insertion order. | 58 | 79 | 48 | 11 | 58 | 11 |
- This feature was removed in a later browser version (16.2)
- This feature was removed in a later browser version (16.2)
- Previously available under a different name: currentRtt (58)
- Previously available under a different name: currentRtt (79)
- This feature was removed in a later browser version (16.2)
- Previously available under a different name: currentRtt (58)
- This feature was removed in a later browser version (16.2)
- Previously available under a different name: totalRtt (58)
- Previously available under a different name: totalRtt (79)
- Previously available under a different name: totalRtt (58)
- Previously available under a different name: componentId (29)
- This feature was removed in a later browser version (16.3)
- This feature was removed in a later browser version (15.5)
- This feature was removed in a later browser version (15.1)
- This feature was removed in a later browser version (15.1)
- This feature was removed in a later browser version (15.5)
- Previously available under a different name: ipAddress (27)
- Previously available under a different name: portNumber (27)
- Previously available under a different name: mozLocalTransport (31)
- This feature was removed in a later browser version (15.1)
- This feature was removed in a later browser version (15.1)
- This feature was removed in a later browser version (15.4)
- This feature was removed in a later browser version (84)
- This feature was removed in a later browser version (84)
- This feature was removed in a later browser version (84)
- Previously available under a different name: ipAddress (27)
- Previously available under a different name: portNumber (27)
- Previously available under a different name: mozLocalTransport (31)
Syntax
setInterval(() => {
myPeerConnection.getStats(null).then((stats) => {
let statsOutput = "";
stats.forEach((report) => {
statsOutput +=
`<h2>Report: ${report.type}</h2>\n<strong>ID:</strong> ${report.id}<br>\n` +
`<strong>Timestamp:</strong> ${report.timestamp}<br>\n`;
// Now the statistics for this report; we intentionally drop the ones we
// sorted to the top above
Object.keys(report).forEach((statName) => {
if (
statName !== "id" &&
statName !== "timestamp" &&
statName !== "type"
) {
statsOutput += `<strong>${statName}:</strong> ${report[statName]}<br>\n`;
}
});
});
document.querySelector(".stats-box").innerHTML = statsOutput;
});
}, 1000); Use cases
-
Using WebRTC statistics
The getStats() method of the RTCPeerConnection interface returns a promise which resolves with data providing statistics about either the overall connection or about the specified MediaStreamTrack.
Cautions
- May not be supported in older browsers.
Implementation notes
- Some APIs require a secure context (HTTPS) or user activation. Check the requirements before use.