qualityLimitationDurations

outbound-rtpoutboundvideo

The total time, in seconds, that this stream has spent in each quality limitation state.

Description

Object {"bandwidth"|"cpu"|"other"|"none": number}

MUST NOT exist for audio (this is video only).

A record of the total time, in seconds, that this stream has spent in each quality limitation state. The record includes a mapping for all RTCQualityLimitationReason types ("none", "cpu", "bandwidth", "other").

The sum of all entries minus qualityLimitationDurations["none"] gives the total time that the stream has been limited.

See also

Notes

  • In general, our preference is for “none” to be the resulting value at all times
  • Too much “cpu” time means the CPU was too busy and the encoder had to limit the bitrate it produces in order to work properly
  • Too much “bandwidth” time means that the network was constrained and while we wanted to send a higher video bitrate (=better media quality), we had to limit ourselves to a lower bitrate due to the network condition
  • “other” usually means that both “cpu” and “bandwidth” had an issue…