Spec-Zone.ru › Web APIs

RTCOutboundRtpStreamStats: свойство qpSum

Свойство qpSum словаря RTCOutboundRtpStreamStats — это значение, полученное путем суммирования значений параметра квантования (QP) для каждого кадра, который данный отправитель сгенерировал до настоящего момента на видеодорожке, соответствующей этому объекту RTCOutboundRtpStreamStats.

В общем случае, чем больше это число, тем сильнее сжаты данные видео.

Значение

Целое число без знака 64-битное, которое указывает сумму значений параметра квантования (QP) для каждого отправленного кадра на дорожке, описанной объектом RTCOutboundRtpStreamStats. Поскольку значение QP обычно больше для обозначения более высоких коэффициентов сжатия, чем больше эта сумма, тем сильнее сжатие потока в целом.

Примечание: Это значение доступно только для видеомедиа.

Примечания по использованию

Квантование — это процесс применения сжатия с потерями к диапазону значений, приводящий к единому квантовому значению. Это значение заменяет диапазон значений, тем самым уменьшая количество различных значений в общем наборе данных, что делает данные более сжимаемыми. Процесс квантования и количество сжатия могут контролироваться одним или несколькими параметрами.

Важно помнить, что значение QP может периодически меняться — даже каждый кадр — поэтому трудно точно определить, насколько существенно сжатие. Лучшее, что вы можете сделать, это оценить. Вы можете использовать значение RTCSentRtpStreamStats.framesEncoded для получения количества закодированных кадров до настоящего момента и вычислить среднее значение. См. Вычисление среднего квантования ниже для функции, которая это делает.

Кроме того, точный смысл значения QP зависит от используемого кодека. Например, для кодека VP8 значение QP может быть в диапазоне от 1 до 127 и находится в элементе заголовка кадра "y_ac_qi", значение которого определено в RFC 6386, раздел 19.2. H.264 использует QP в диапазоне от 0 до 51; в этом случае это индекс, используемый для вывода матрицы масштабирования, используемой во время процесса квантования. Кроме того, QP, вероятно, не единственный параметр, используемый кодеком для регулировки сжатия. См. индивидуальные спецификации кодеков для получения подробностей.

Примеры

Вычисление среднего квантования

Функция calculateAverageQP() ниже вычисляет среднее значение QP для объекта, содержащего статистику потока 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;
}

Спецификации

Спецификация
Идентификаторы API статистики WebRTC
# dom-rtcoutboundrtpstreamstats-qpsum

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
qpSum 80 80 ≤73 67 Нет 80 ≤79 57 Нет 13.0 80

© 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/RTCOutboundRtpStreamStats/qpSum

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API