Spec-Zone.ru › Web APIs

RTCRemoteInboundRtpStreamStats

Базовая Широко поддерживается *

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

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

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

Словарь RTCRemoteInboundRtpStreamStats API WebRTC используется для отчётности о статистике удалённого узла относительно конкретного входящего RTP потока. Эти значения соответствуют исходящему RTP потоку на локальном конце RTCPeerConnection.

Статистику можно получить, проитерировав RTCStatsReport, возвращаемый методом RTCPeerConnection.getStats() или RTCRtpReceiver.getStats(), пока не будет найден отчёт с type remote-inbound-rtp.

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

Статистика, специфичная для входящего удалённого потока

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

Число, указывающее на долю потерянных пакетов для данного SSRC с момента последнего отчёта отправителя или получателя.

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

Строка, используемая для поиска локального объекта RTCOutboundRtpStreamStats, который разделяет тот же идентификатор источника синхронизации (SSRC).

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

Число, обозначающее оценённое время прохождения (RTT) для данного SSRC в секундах. Это свойство не будет существовать до получения действительных данных RTT.

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

Положительное целое число, обозначающее общее количество полученных корректных измерений времени прохождения для данного источника синхронизации (SSRC).

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

Число, обозначающее сумму всех измерений времени прохождения с начала сессии в секундах. Среднее время прохождения можно вычислить, разделив totalRoundTripTime на roundTripTimeMeasurements.

Статистика полученного RTP потока

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

Число, обозначающее задержку пакетов для данного источника синхронизации в секундах.

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

Целое число, обозначающее общее количество потерянных RTP пакетов для данного SSRC, измеренное на удалённом узле. Это значение может быть отрицательным, если были получены дублирующиеся пакеты.

packetsReceived Необязательно Экспериментально

Положительное целое число, указывающее общее количество полученных RTP пакетов для данного SSRC, включая повторные передачи.

Общая статистика RTP потока

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

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

kind

Строка, указывающая, является ли MediaStreamTrack, связанный с потоком, аудио- или видео-треком.

ssrc

Положительное целое число, идентифицирующее SSRC RTP пакетов в данном потоке.

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

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

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

Следующие свойства общие для всех объектов статистики WebRTC.

id

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

timestamp

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

type

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

Примеры

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

const stats = await myPeerConnection.getStats();

stats.forEach((report) => {
  if (report.type === "remote-inbound-rtp") {
    console.log("Remote Inbound RTP Stream Stats:");
    console.log(`id: ${report.id}`);
    console.log(`timestamp: ${report.timestamp}`);
    console.log(`transportId: ${report.transportId}`);
    console.log(`ssrc: ${report.ssrc}`);
    console.log(`kind: ${report.kind}`);
    console.log(`codecId: ${report.codecId}`);
    console.log(`packetsReceived: ${report.packetsReceived}`);
    console.log(`packetsLost: ${report.packetsLost}`);
    console.log(`jitter: ${report.jitter}`);
    console.log(`totalRoundTripTime: ${report.totalRoundTripTime}`);
    console.log(
      `roundTripTimeMeasurements: ${report.roundTripTimeMeasurements}`,
    );
    console.log(`roundTripTime: ${report.roundTripTime}`);
    console.log(`localId: ${report.localId}`);
    console.log(`fractionLost: ${report.fractionLost}`);
  }
});

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

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

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

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
RTCRemoteInboundRtpStreamStats 80 80 27 67 11 80 27 57 11 13.0 80
codecId 80 80 98 67 11 80 98 57 11 13.0 80
fractionLost 91 91 106 77 No 91 106 64 No 16.0 91
id 80 80 72 67 14.1 80 79 57 14.5 13.0 80
jitter 80 80 72 67 No 80 79 57 No 13.0 80
kind 80 80 63 67 14 80 63 57 14 13.0 80
localId 80 80 72 67 14.1 80 79 57 14.5 13.0 80
packetsLost 80 80 72 67 No 80 79 57 No 13.0 80
packetsReceived No No 72 No No No 79 No No No No
roundTripTime 80 80 96 67 14.1 80 96 57 14.5 13.0 80
roundTripTimeMeasurements 91 91 106 77 No 91 106 64 No 16.0 91
ssrc 80 80 27 67 11 80 27 57 11 13.0 80
timestamp 80 80 72 67 14.1 80 79 57 14.5 13.0 80
totalRoundTripTime 91 91 106 77 No 91 106 64 No 16.0 91
transportId 80 80 No 67 11 80 No 57 11 13.0 80
type 80 80 72 67 14.1 80 79 57 14.5 13.0 80

См. также

  • RTCStatsReport

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

Spec-Zone.ru

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