Spec-Zone.ru › Web APIs

RTCCodecStats

Базовая Широко доступная *

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.

* Некоторые части этой функции могут иметь различный уровень поддержки.

  • Узнать больше
  • Подробнее о совместимости
  • Отправить отзыв

Словарь RTCCodecStats API WebRTC предоставляет статистику о кодеке, используемом RTP-потоками, которые отправляются или принимаются связанным объектом RTCPeerConnection.

Эту статистику можно получить, итерируя объект RTCStatsReport, возвращаемый методом RTCPeerConnection.getStats(), пока не будет найден элемент с типом type codec.

Статистику кодеков можно сопоставить со статистикой входящих или исходящих потоков (локальных и удалённых), сопоставив их свойство codecId с id кодека. Например, если RTCInboundRtpStreamStats.codecId совпадает с RTCCodecStats.id в том же отчёте, то мы знаем, что кодек используется для входящего потока этого соединения. Если ни один поток codecId не ссылается на статистику кодека, то этот объект статистики кодека удаляется — если кодек снова используется, объект статистики будет воссоздан с тем же id.

Объекты кодеков могут быть ссылаться несколькими RTP-потоками в секциях медиа с использованием одного и того же транспорта. Фактически, предполагается, что пользовательские агенты объединяют информацию в один элемент "codec" на тип полезной нагрузки на транспорт (если sdpFmtpLine отличается при отправке или приёме, то для кодирования и декодирования потребуются разные кодеки). Обратите внимание, что другие транспорты будут использовать свои собственные уникальные объекты RTCCodecStats.

Свойства экземпляра

channels Необязательно

Положительное число, указывающее количество каналов, поддерживаемых кодеком.

clockRate Необязательно

Положительное число, содержащее частоту дискретизации медиа.

mimeType

Строка, содержащая тип MIME медиа, например, video/VP8.

payloadType

Положительное целое число в диапазоне от 0 до 127, указывающее тип полезной нагрузки, используемой в RTP-кодировании или декодировании.

sdpFmtpLine Необязательно

Строка, содержащая параметры, специфичные для формата, строки "a=fmtp" в SDP кодека (если присутствует).

transportId

Строка, содержащая уникальный идентификатор транспорта, на котором используется этот кодек. Это может быть использовано для сопоставления с соответствующим объектом RTCTransportStats.

Общие свойства экземпляра

Следующие свойства общие для всех объектов статистики WebRTC (подробнее см. RTCStatsReport):

id

Строка, уникально идентифицирующая объект, который отслеживается для получения этого набора статистики.

timestamp

Объект DOMHighResTimeStamp, указывающий время, в которое был получен образец для этого объекта статистики.

type

Строка со значением "codec", указывающая тип статистики, содержащейся в объекте.

Примеры

Учитывая переменную myPeerConnection, которая является экземпляром RTCPeerConnection, код ниже использует await для ожидания отчёта о статистике, а затем итерирует его с помощью RTCStatsReport.forEach(). Затем он фильтрует словари, выбирая только те отчёты, тип которых codec, и выводит результат.

const stats = await myPeerConnection.getStats();

stats.forEach((report) => {
  if (report.type === "codec") {
    // Log the codec information
    console.log(report);
  }
});

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

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

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
RTCCodecStats 80 80 98 67 13.1 80 98 57 13.4 13.0 80
channels 83 83 98 69 14.1 83 98 59 14.5 13.0 83
clockRate 80 80 98 67 13.1 80 98 57 13.4 13.0 80
id 80 80 98 67 13.1 80 98 57 13.4 13.0 80
mimeType 80 80 98 67 13.1 80 98 57 13.4 13.0 80
payloadType 80 80 98 67 13.1 80 98 57 13.4 13.0 80
sdpFmtpLine 83 83 98 69 14 83 98 59 14.5 13.0 83
timestamp 80 80 98 67 13.1 80 98 57 13.4 13.0 80
transportId 89 89 98 75 Нет 89 98 63 Нет 15.0 89
type 80 80 98 67 13.1 80 98 57 13.4 13.0 80

См. также

  • RTCStatsReport
  • codecs параметр, передаваемый в RTCRtpTransceiver.setCodecPreferences() и RTCRtpSender.setParameters()().
  • codecs свойство в объекте, возвращаемом RTCRtpSender.getParameters() и RTCRtpReceiver.getParameters().

© 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/RTCCodecStats

Spec-Zone.ru

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