RTCRtpStreamStats: qpSum-Eigenschaft
Die qpSum
-Eigenschaft des
RTCRtpStreamStats
-Wörterbuchs ist ein Wert, der durch die Addition der
Quantisierungsparameter (QP)-Werte für jeden bisher gesendeten oder empfangenen Frame auf der Videospur, die diesem
RTCRtpStreamStats
-Objekt entspricht, erzeugt wird.
Im Allgemeinen gilt: Je höher dieser Wert ist, desto stärker komprimiert sind die Videodaten.
Wert
Ein vorzeichenloser 64-Bit-Integer-Wert, der die Summe der Quantisierungsparameter
(QP)-Werte für jeden bisher auf der vom
RTCRtpStreamStats
beschriebenen Spur gesendeten oder empfangenen Frame anzeigt. Da der QP-Wert typischerweise größer wird, um höhere Kompressionsfaktoren anzuzeigen, gilt, je größer diese Summe ist, desto stärker wurde der Stream im Allgemeinen komprimiert.
Hinweis: Dieser Wert ist nur für Videomedien verfügbar.
Verwendungshinweise
Quantisierung ist der Prozess der Anwendung verlustbehafteter Kompression auf einen Wertebereich, was zu einem einzelnen Quantwert führt. Dieser Wert ersetzt den Wertebereich, wodurch die Anzahl der verschiedenen Werte, die im gesamten Datensatz erscheinen, verringert wird und die Daten besser komprimierbar werden. Der Quantisierungsprozess und der Grad der Kompression können durch ein oder mehrere Parameter gesteuert werden.
Es ist wichtig zu beachten, dass der Wert von QP sich regelmäßig ändern kann - sogar bei jedem Frame -, weshalb es schwierig ist, genau zu wissen, wie bedeutend die Kompression ist. Das Beste, was Sie tun können, ist eine Schätzung. Sie können beispielsweise den Wert von
RTCReceivedRtpStreamStats.framesDecoded
verwenden, wenn Sie die Medien empfangen, oder
RTCSentRtpStreamStats.framesEncoded
, wenn Sie diese senden, um die Anzahl der bisher verarbeiteten Frames zu erhalten und daraus einen Durchschnitt zu berechnen. Siehe Berechnung der durchschnittlichen Quantisierung unten für eine Funktion, die dies erledigt.
Außerdem hängt die genaue Bedeutung des QP-Werts vom verwendeten Codec ab. Zum Beispiel kann der QP-Wert für den VP8-Codec von 1 bis 127 reichen und befindet sich im Frame-Header-Element "y_ac_qi"
, dessen Wert in
RFC 6386, Abschnitt 19.2 definiert ist. H.264 verwendet ein QP, das von 0 bis 51 reicht; in diesem Fall ist es ein Index, der zur Ableitung einer Skalierungsmatrix verwendet wird, die während des Quantisierungsprozesses verwendet wird. Zusätzlich ist QP wahrscheinlich nicht der einzige Parameter, den der Codec zur Anpassung der Kompression verwendet. Einzelheiten finden Sie in den einzelnen Codec-Spezifikationen.
Beispiele
Berechnung der durchschnittlichen Quantisierung
Die unten gezeigte calculateAverageQP()
-Funktion berechnet den durchschnittlichen QP für
das gegebene RTCRtpStreamStats
-Objekt und gibt 0 zurück, wenn das Objekt keinen RTP-Stream beschreibt.
function calculateAverageQP(stats) {
let frameCount = 0;
switch (stats.type) {
case "inbound-rtp":
case "remote-inbound-rtp":
frameCount = stats.framesDecoded;
break;
case "outbound-rtp":
case "remote-outbound-rtp":
frameCount = stats.framesEncoded;
break;
default:
return 0;
}
return status.qpSum / frameCount;
}
Spezifikationen
No specification found
No specification data found for api.RTCRtpStreamStats.qpSum
.
Check for problems with this page or contribute a missing spec_url
to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.
Browser-Kompatibilität
BCD tables only load in the browser