RTCOutboundRtpStreamStats: qualityLimitationDurations-Eigenschaft
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die qualityLimitationDurations
-Eigenschaft des RTCOutboundRtpStreamStats
-Wörterbuchs ist eine Karte der Gründe, warum die Qualität eines Medienstroms während der Kodierung durch einen Codec reduziert wurde, sowie der Zeit, in der die Qualität aus jedem Grund reduziert wurde.
Diese Qualitätsreduzierung kann Änderungen wie eine reduzierte Bildrate oder Auflösung oder eine Erhöhung des Kompressionsfaktors umfassen. Die Informationen können verwendet werden, um Durchsatzprobleme zu diagnostizieren und die Leistung zu optimieren.
Hinweis: Diese Eigenschaft existiert nur für Videomedien.
Wert
Eine Map
von Qualitätsbegrenzungsgründen zu einer Zahl, die die Zeit in Sekunden darstellt, während der der Stream aus diesem Grund qualitätsbegrenzt war.
Die zulässigen Werte für Qualitätsbegrenzungsgründe sind die Zeichenfolgen:
none
-
Die Qualität ist nicht begrenzt.
cpu
-
Die Qualität ist hauptsächlich aufgrund der CPU-Auslastung begrenzt.
bandwidth
-
Die Qualität ist hauptsächlich aufgrund von Überlastungsindikatoren während der Bandbreitenschätzung begrenzt, wie z.B. Interarrivalzeit und Round-Trip-Zeit.
other
-
Die Qualität ist hauptsächlich aus einem anderen Grund als den oben genannten begrenzt.
Beispiele
Gesamte Zeit ermitteln, in der der Stream qualitätsbegrenzt war
Die Summe aller Einträge außer qualityLimitationDurations["none"]
ergibt die gesamte Zeit, die der Stream begrenzt wurde.
// 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}`);
}
}
});
});
Spezifikationen
Specification |
---|
Identifiers for WebRTC's Statistics API # dom-rtcoutboundrtpstreamstats-qualitylimitationdurations |