This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
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.
This quality reduction may include changes such as reduced frame rate or resolution, or an increase in compression factor. The information can be used to diagnose throughput issues and optimize performance.
Note: This property only exists for video media.
A Map of quality limitation reasons to a number which represents the time in seconds that the stream has been quality limited for that reason.
The allowed quality limitation reason values are the strings:
noneThe quality is not limited.
cpuThe quality is primarily limited due to CPU load.
bandwidthThe quality is primarily limited due to congestion cues during bandwidth estimation, such as inter-arrival time and round-trip time.
otherThe quality is primarily limited for a reason other than the above.
The sum of all entries except qualityLimitationDurations["none"] gives the total time that the stream has been limited.
// Get the outbound RTP stream stats
pc.getStats().then((stats) => {
stats.forEach((report) => {
if (report.type === "outbound-rtp") {
const qualityLimitations = report.qualityLimitationDurations;
if (qualityLimitations) {
let totalTimeLimited = 0;
console.log("Quality Limitations:");
qualityLimitations.forEach((duration, reason) => {
console.log(`- ${reason}: ${duration} seconds`);
if (reason !== "none") {
totalTimeLimited += duration;
}
});
console.log(`Total time limited: ${totalTimeLimited}`);
}
}
});
});
| Specification |
|---|
| Identifiers for WebRTC's Statistics API> # dom-rtcoutboundrtpstreamstats-qualitylimitationdurations> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
qualityLimitationDurations |
93 | 93 | No | 79 | No | 93 | No | 66 | No | 17.0 | 93 | No |
© 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/qualityLimitationDurations