RTCInboundRtpStreamStats: свойство qpSum
Свойство qpSum словаря RTCInboundRtpStreamStats представляет собой значение, полученное путём суммирования значений параметра квантования (QP) для каждой кадра, отправленного или полученного до настоящего момента на видеодорожке, соответствующей этому объекту RTCInboundRtpStreamStats.
В общем случае, чем выше это число, тем сильнее сжаты данные видео.
Значение
Значение целочисленного беззнакового 64-битного типа, которое указывает сумму значений параметра квантования (QP) для каждого кадра, отправленного или полученного до настоящего момента на дорожке, описанной объектом RTCInboundRtpStreamStats. Поскольку значение QP обычно больше для обозначения более высоких коэффициентов сжатия, чем больше эта сумма, тем сильнее сжатие потока в целом.
Примечание: Это значение доступно только для видеомедиа.
Примечания по использованию
Квантование — это процесс применения сжатия с потерями к диапазону значений, приводящий к единому значению кванта. Это значение заменяет диапазон значений, тем самым уменьшая количество различных значений в общем наборе данных, что делает данные более сжимаемыми. Процесс квантования и степень сжатия могут контролироваться одним или несколькими параметрами.
Важно помнить, что значение QP может периодически изменяться — даже в каждом кадре — поэтому сложно точно определить степень сжатия. Лучше всего можно сделать оценку. Например, можно использовать значение RTCReceivedRtpStreamStats.framesDecoded, если медиа принимается, или RTCSentRtpStreamStats.framesEncoded, если оно отправляется, чтобы получить количество обработаных кадров до настоящего момента, и вычислить среднее значение оттуда. См. Вычисление среднего значения квантования ниже для функции, выполняющей это.
Кроме того, точное значение QP зависит от используемого кодека. Например, для кодека VP8 значение QP может изменяться от 1 до 127 и находится в элементе заголовка кадра "y_ac_qi", значение которого определено в RFC 6386, раздел 19.2. H.264 использует QP в диапазоне от 0 до 51; в этом случае это индекс, используемый для вывода матрицы масштабирования, используемой во время процесса квантования. Кроме того, QP, скорее всего, не является единственным параметром, который использует кодек для регулировки сжатия. Для получения подробностей см. индивидуальные спецификации кодеков.
Примеры
Вычисление среднего значения квантования
Функция calculateAverageQP() ниже вычисляет среднее значение QP для заданного объекта RTCStatsReport, содержащего статистику потока RTP, возвращая 0, если объект не описывает поток RTP.
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;
}
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
qpSum |
79 | 79 | 106 | 66 | Нет | 79 | 106 | 57 | Нет | 12.0 | 79 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCInboundRtpStreamStats/qpSum