diff --git a/webrtc-stats.html b/webrtc-stats.html index 4ba83cdd..8da1a409 100644 --- a/webrtc-stats.html +++ b/webrtc-stats.html @@ -452,7 +452,9 @@

"local-candidate", "remote-candidate", "certificate", -"stunserverconnection" +"ice-server", +"encoding-parameters" + };

@@ -670,12 +672,21 @@

- stunserverconnection + ice-server +
+
+

+ Information about the connection to an ICE server (e.g. STUN or TURN). It is accessed by the + RTCIceServerStats. +

+
+
+ encoding-parameters

- Information about the connection to a STUN or TURN server. It is accessed by the - RTCStunServerConnectionStats. + Information about RTP encodings of media. It is accessed by the + RTCEncodingParameterStats.

@@ -693,6 +704,12 @@

The dictionaries for RTP statistics are structured as a hierarchy, so that those stats that make sense in many different contexts are represented just once in IDL.

+

+ The metrics exposed here correspond to local measurements and those reported by RTCP packets. + Compound RTCP packets contain multiple RTCP report blocks, such as Sender Report (SR) and + Receiver Report (RR). Wheras, a non-compound RTCP packets may contain just a single + RTCP SR or RR block. +

The lifetime of all RTP monitored objects starts when the RTP stream is first used: When the first RTP packet is sent or received on the SSRC it represents, or when @@ -712,7 +729,7 @@

RTCReceivedRtpStreamStats: Stats measured at the receiving end of an RTP stream, known either because they're measured locally or transmitted via an RTCP - Receiver Report (RR) or Extended Report (XR). + Receiver Report (RR) or Extended Report (XR) block.

@@ -818,7 +835,7 @@

dictionary RTCCodecStats : RTCStats {
-             unsigned long payloadType;
+             octet payloadType;
              RTCCodecType  codecType;
              DOMString     transportId;
              DOMString     mimeType;
@@ -833,8 +850,7 @@ 

- payloadType of type unsigned - long + payloadType of type octet

@@ -965,6 +981,9 @@

double burstDiscardRate; double gapLossRate; double gapDiscardRate; + unsigned long framesDropped; + unsigned long partialFramesLost; + unsigned long fullFramesLost; };

@@ -1115,6 +1134,42 @@

[[!RFC7004]], however, the actual value is reported without multiplying by 32768.

+
+ framesDropped of type unsigned + long +
+
+

+ Only valid for video. The total number of frames dropped prior to decode or dropped + because the frame missed its display deadline for this receiver's track. The measurement + begins when the receiver is created and is a cumulative metric as defined in + Appendix A (g) of [[!RFC7004]]. +

+
+
+ partialFramesLost of type unsigned long +
+
+

+ Only valid for video. The cumulative number of partial frames lost. The measurement + begins when the receiver is created and is a cumulative metric as defined in + Appendix A (j) of [[!RFC7004]]. This metric is incremented when the frame is sent + to the decoder. If the partial frame is received and recovered via retransmission + or FEC before decoding, the framesReceived counter is incremented. +

+
+
+ fullFramesLost of type unsigned + long +
+
+

+ Only valid for video. The cumulative number of full frames lost. The measurement + begins when the receiver is created and is a cumulative metric as defined in + Appendix A (i) of [[!RFC7004]]. +

+

@@ -1166,9 +1221,6 @@

double totalAudioEnergy; double totalSamplesDuration; unsigned long framesReceived; - unsigned long framesDropped; - unsigned long partialFramesLost; - unsigned long fullFramesLost; DOMString decoderImplementation; };
@@ -1322,7 +1374,7 @@

The average RTCP interval between two consecutive compound RTCP packets. This is calculated by the sending endpoint when sending compound RTCP reports. Compound - packets must contain at least a RTCP RR or SR packet and an SDES packet with the + packets must contain at least a RTCP RR or SR block and an SDES packet with the CNAME item.

@@ -1646,39 +1698,6 @@

this RTP stream. This metric is incremented when the complete frame is received.

-
- framesDropped of type unsigned - long -
-
-

- Only valid for video. The total number of frames dropped prior to decode or dropped - because the frame missed its display deadline for this receiver's track. As defined - in Appendix A (g) of [[!RFC7004]]. -

-
-
- partialFramesLost of type unsigned long -
-
-

- Only valid for video. The cumulative number of partial frames lost, as defined in - Appendix A (j) of [[!RFC7004]]. This metric is incremented when the frame is sent - to the decoder. If the partial frame is received and recovered via retransmission - or FEC before decoding, the framesReceived counter is incremented. -

-
-
- fullFramesLost of type unsigned - long -
-
-

- Only valid for video. The cumulative number of full frames lost, as defined in - Appendix A (i) of [[!RFC7004]]. -

-
decoderImplementation of type DOMString @@ -1762,10 +1781,7 @@

dictionary RTCSentRtpStreamStats : RTCRtpStreamStats {
              unsigned long      packetsSent;
-             unsigned long      packetsDiscardedOnSend;
-             unsigned long      fecPacketsSent;
              unsigned long long bytesSent;
-             unsigned long long bytesDiscardedOnSend;
 };

@@ -1783,29 +1799,6 @@

[[!RFC3550]] section 6.4.1.

-
- packetsDiscardedOnSend of type unsigned long -
-
-

- Total number of RTP packets for this SSRC that have been discarded due to socket - errors, i.e. a socket error occured when handing the packets to the socket. This - might happen due to various reasons, including full buffer or no available - memory. -

-
-
- fecPacketsSent of type unsigned - long -
-
-

- Total number of RTP FEC packets sent for this SSRC. This counter can also be - incremented when sending FEC packets in-band with media packets (e.g., with - Opus). -

-
bytesSent of type unsigned long long @@ -1816,18 +1809,6 @@

section 6.4.1.

-
- bytesDiscardedOnSend of type unsigned long long -
-
-

- Total number of bytes for this SSRC that have been discarded due to socket - errors, i.e. a socket error occured when handing the packets containing the bytes - to the socket. This might happen due to various reasons, including full buffer or - no available memory. Calculated as defined in [[!RFC3550]] section 6.4.1. -

-

@@ -1848,6 +1829,9 @@

DOMString senderId; DOMString remoteId; DOMHighResTimeStamp lastPacketSentTimestamp; + unsigned long packetsDiscardedOnSend; + unsigned long long bytesDiscardedOnSend; + unsigned long fecPacketsSent; unsigned long long retransmittedPacketsSent; unsigned long long retransmittedBytesSent; double targetBitrate; @@ -1859,6 +1843,7 @@

unsigned long hugeFramesSent; unsigned long framesEncoded; unsigned long keyFramesEncoded; + unsigned long framesDiscardedOnSend; unsigned long long qpSum; unsigned long long totalSamplesSent; boolean voiceActivityFlag; @@ -1929,6 +1914,41 @@

statistics were generated by the local endpoint.

+
+ packetsDiscardedOnSend of type unsigned long +
+
+

+ Total number of RTP packets for this SSRC that have been discarded due to socket + errors, i.e. a socket error occured when handing the packets to the socket. This + might happen due to various reasons, including full buffer or no available + memory. +

+
+
+ bytesDiscardedOnSend of type unsigned long long +
+
+

+ Total number of bytes for this SSRC that have been discarded due to socket + errors, i.e. a socket error occured when handing the packets containing the bytes + to the socket. This might happen due to various reasons, including full buffer or + no available memory. Calculated as defined in [[!RFC3550]] section 6.4.1. +

+
+
+ fecPacketsSent of type unsigned + long +
+
+

+ Total number of RTP FEC packets sent for this SSRC. This counter can also be + incremented when sending FEC packets in-band with media packets (e.g., with + Opus). +

+
retransmittedPacketsSent of type unsigned long long @@ -2059,6 +2079,18 @@

you the number of delta frames encoded.

+
+ framesDiscardedOnSend of type unsigned long +
+
+

+ Total number of video frames that have been discarded for this SSRC due to socket + errors, i.e. a socket error occured when handing the packets to the socket. This + might happen due to various reasons, including full buffer or no available + memory. +

+
qpSum of type unsigned long long @@ -2135,7 +2167,7 @@

The average RTCP interval between two consecutive compound RTCP packets. This is calculated by the sending endpoint when sending compound RTCP reports. Compound - packets must contain at least a RTCP RR or SR packet and an SDES packet with the + packets must contain at least a RTCP RR or SR block and an SDES packet with the CNAME item.

@@ -3671,6 +3703,8 @@

unsigned long long retransmissionsSent; unsigned long long consentRequestsSent; DOMHighResTimeStamp consentExpiredTimestamp; + unsigned long packetsDiscardedOnSend; + unsigned long long bytesDiscardedOnSend; };

@@ -3983,6 +4017,30 @@

expired this value must be undefined.

+
+ packetsDiscardedOnSend of type unsigned long +
+
+

+ Total number of packets for this candidate pair that have been discarded due to socket + errors, i.e. a socket error occured when handing the packets to the socket. This + might happen due to various reasons, including full buffer or no available + memory. +

+
+
+ bytesDiscardedOnSend of type unsigned long long +
+
+

+ Total number of bytes for this candidate pair that have been discarded due to socket + errors, i.e. a socket error occured when handing the packets containing the bytes + to the socket. This might happen due to various reasons, including full buffer or + no available memory. Calculated as defined in [[!RFC3550]] section 6.4.1. +

+

@@ -4122,12 +4180,12 @@

-
+

- RTCStunServerConnectionStats dictionary + RTCIceServerStats dictionary

-
dictionary RTCStunServerConnectionStats : RTCStats {
+          
dictionary RTCIceServerStats : RTCStats {
              DOMString url;
              long port;
              DOMString protocol;
@@ -4138,16 +4196,16 @@ 

};

- Dictionary RTCStunServerConnectionStats Members + Dictionary RTCIceServerStats Members

-
+
url of type DOMString

- The URL of the TURN or STUN server. + The URL of the ICE server (e.g. TURN or STUN server).

@@ -4209,6 +4267,331 @@

+
+

+ RTCEncodingParameterStats dictionary +

+
+
dictionary RTCEncodingParameterStats : RTCStats {
+             DOMString rid;
+             octet payloadType;
+             boolean active;
+             unsigned long ptime;
+             unsigned long maxBitrate;
+             double maxFramerate;
+             double scaleResolutionDownBy;
+             sequence<DOMString> scalabilityModes;
+  };
+
+

+ Dictionary RTCEncodingParameterStats Members +

+
+
+ rid of type DOMString +
+
+

+ Restriction Identifier(rid) of the encoding. +

+
+
+ payloadType of type octet +
+
+

+ Payload type as used in RTP encoding. +

+
+
+ active of type boolean +
+
+

+ Indicates that this encoding is actively being sent or not sent. +

+
+
+ ptime of type unsigned long +
+
+

+ Indicates the preferred duration of media represented by a packet in milliseconds for this encoding. + Typically, this is only relevant for audio encoding. +

+
+
+ maxBitrate of type unsigned long +
+
+

+ Indicates the maximum bitrate that can be used by this encoding. +

+
+
+ maxFramerate of type double +
+
+

+ Indicates the maximum framerate that can be used by this encoding. +

+
+
+ scaleResolutionDownBy of type double +
+
+

+ The video's resolution will be scaled down in each dimension by the given value. +

+
+
+ scalabilityModes of type DOMString +
+
+

Scalability mode identifiers and characteristics are indicated in the table below, which is based + on the pre-defined scalability modes in [[AV1]] Section 6.7.5.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Scalability ModeSpatial LayersResolution RatioTemporal LayersInter-layer dependency
L1T212
L1T313
L2T122:11Yes
L2T222:12Yes
L2T322:13Yes
L3T132:11Yes
L3T232:12Yes
L3T332:13Yes
L2T1h21.5:11Yes
L2T2h21.5:12Yes
L2T3h21.5:13Yes
S2T122:11No
S2T222:12No
S2T322:13No
S2T1h21.5:11No
S2T2h21.5:12No
S2T3h21.5:13No
S3T132:11No
S3T232:12No
S3T332:13No
S3T1h31.5:11No
S3T2h31.5:12No
S3T3h31.5:13No
L3T2_KEY32:12Yes
L3T3_KEY32:13Yes
L4T5_KEY42:15Yes
L4T7_KEY42:17Yes
L3T2_KEY_SHIFT32:12Yes
L3T3_KEY_SHIFT32:13Yes
L4T5_KEY_SHIFT42:15Yes
L4T7_KEY_SHIFT42:17Yes
+
+
+
+
+

diff --git a/webrtc-stats.js b/webrtc-stats.js index 1e205437..e6176425 100644 --- a/webrtc-stats.js +++ b/webrtc-stats.js @@ -111,6 +111,16 @@ var respecConfig = { status: "Internet Draft", publisher: "IETF" }, + "AV1": { + "title": "AV1 Bitstream and Decoding Process Specification", + "href": "https://aomediacodec.github.io/av1-spec/av1-spec.pdf", + "authors": [ + "Peter de Rivaz", + "Jack Haughton" + ], + "status": "January 9, 2019", + "publisher": "Alliance for Open Media" + }, "JSEP": { "authors":["Justin Uberti","Cullen Jennings","Eric Rescorla"], "href": "http://datatracker.ietf.org/doc/draft-ietf-rtcweb-jsep/",