Spec-Zone.ru › Web APIs

RTCIceCandidatePairStats

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

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

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

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

Словарь RTCIceCandidatePairStats API WebRTC используется для отчётности о статистике, которая даёт представление о качестве и производительности RTCPeerConnection при подключении и конфигурации, как описано для указанной пары кандидатов ICE.

Статистику можно получить, перебирая RTCStatsReport, возвращаемый RTCPeerConnection.getStats(), пока не будет найдена запись с type "candidate-pair".

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

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

Число, представляющее доступную входящую пропускную способность сети. Оно сообщает общее количество бит в секунду, доступных для всех входящих RTP-потоков кандидатской пары. Оно не учитывает размер накладных расходов протокола Internet Protocol (IP), а также другие транспортные уровни, такие как TCP или UDP.

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

Число, представляющее приблизительную доступную исходящую пропускную способность сети. Оно сообщает общее количество бит в секунду, доступных для всех исходящих RTP-потоков кандидатской пары. Оно не учитывает размер накладных расходов IP, а также другие транспортные уровни, такие как TCP или UDP.

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

Целое число, представляющее общее количество байтов, отброшенных из-за ошибок сокета для этой пары кандидатов.

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

Целое число, представляющее общее количество байтов полезной нагрузки, полученных для этой пары кандидатов.

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

Целое число, представляющее общее количество байтов полезной нагрузки, отправленных для этой пары кандидатов (общее количество отправленных байтов без учёта заголовков, заполнения или других накладных расходов протокола).

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

Целое число, представляющее общее количество запросов согласия STUN для этой пары кандидатов.

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

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

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

Значение DOMHighResTimeStamp, указывающее время получения последнего пакета локальным узлом от удалённого узла для данной пары кандидатов. Отметки времени не сохраняются для пакетов STUN.

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

Значение DOMHighResTimeStamp, указывающее время отправки последнего пакета локальным узлом удалённому узлу для данной пары кандидатов. Отметки времени не сохраняются для пакетов STUN.

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

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

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

Логическое значение, которое, если true, указывает, что пара кандидатов, описанная этим объектом, была предложена для использования и будет (или была) использована, если её приоритет является самым высоким среди номинированных пар кандидатов. Подробнее см. RFC 5245, раздел 7.1.3.2.4.

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

Целое число, представляющее общее количество пакетов, отброшенных из-за ошибок сокета для этой пары кандидатов.

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

Целое число, представляющее общее количество полученных пакетов для этой пары кандидатов.

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

Целое число, представляющее общее количество отправленных пакетов для этой пары кандидатов.

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

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

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

Целое число, представляющее общее количество полученных запросов проверки подключения, включая повторные передачи. Это значение включает как запросы проверки подключения, так и запросы проверки согласия STUN.

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

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

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

Целое число, представляющее общее количество полученных ответов на запросы проверки подключения.

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

Целое число, представляющее общее количество отправленных ответов на запросы проверки подключения. Это включает как запросы проверки подключения, так и запросы проверки согласия STUN.

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

Строка, которая указывает состояние соединения между двумя кандидатами.

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

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

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

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

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

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

id

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

timestamp

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

type

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

Устаревшие свойства

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

priority Устаревшее Необязательно Нестандартное

Целочисленное значение, указывающее приоритет кандидата пары.

readable Устаревшее Необязательно Нестандартное

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

writable Устаревшее Необязательно Нестандартное

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

Нестандартные свойства

selected Нестандартное Необязательно

Специфичное для Firefox булево значение, которое равно true, если пара кандидатов, описанных этим объектом, является текущей в использовании. Согласованный со спецификацией способ определения выбранной пары кандидатов — это поиск объекта статистики типа transport, который является объектом RTCTransportStats. Свойство selectedCandidatePairId этого объекта указывает, используется ли указанный транспорт.

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

Текущую активную пару ICE кандидатов (если есть) можно получить, вызвав метод RTCIceTransport getSelectedCandidatePair(), который возвращает объект RTCIceCandidatePair, или null, если пара не выбрана. Активная пара кандидатов описывает текущую конфигурацию двух сторон RTCPeerConnection.

Любая пара кандидатов, не являющаяся активной парой кандидатов для транспорта, удаляется, если RTCIceTransport выполняет перезапуск ICE, в результате чего состояние state ICE-транспорта возвращается к значению new, и переговорный процесс запускается заново. Дополнительная информация содержится в разделе Перезапуск ICE.

Пример

В этом примере вычисляется среднее время, прошедшее между проверками подключения.

if (rtcStats && rtcStats.type === "candidate-pair") {
  let elapsed =
    (rtcStats.lastRequestTimestamp - rtcStats.firstRequestTimestamp) /
    rtcStats.requestsSent;

  console.log(`Average time between ICE connectivity checks: ${elapsed} ms.`);
}

Код начинает с проверки rtcStats, чтобы определить, является ли его свойство type равным candidate-pair. Если это так, то мы знаем, что rtcStats фактически является объектом RTCIceCandidatePairStats. Тогда мы можем вычислить среднее время, прошедшее между проверками STUN подключения, и вывести эту информацию.

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

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

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

Десктопные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
RTCIceCandidatePairStats 58 79 29 45 11 58 29 43 11 7.0 58
availableOutgoingBitrate 58 79 Нет 45 11–16.2 58 Нет 43 11–16.2 7.0 58
bytesDiscardedOnSend 96 96 Нет 82 Нет 96 Нет 67 Нет 17.0 96
bytesReceived 58 79 56 45 11 58 56 43 11 7.0 58
bytesSent 58 79 56 45 11 58 56 43 11 7.0 58
consentRequestsSent 80 80 Нет 67 Нет 80 Нет 57 Нет 13.0 80
currentRoundTripTime 7158 7979 Нет 5845 11–16.2 7158 Нет 5043 11–16.2 10.07.0 7158
id 80 80 72 67 13.1 80 79 57 13.4 13.0 80
lastPacketReceivedTimestamp 109 109 56 95 Нет 109 56 74 Нет 21.0 109
lastPacketSentTimestamp 109 109 56 95 Нет 109 56 74 Нет 21.0 109
localCandidateId 58 79 29 45 11 58 29 43 11 7.0 58
nominated 58 79 56 45 11 58 56 43 11 7.0 58
packetsDiscardedOnSend 96 96 Нет 82 Нет 96 Нет 67 Нет 17.0 96
packetsReceived 96 96 Нет 82 Нет 96 Нет 67 Нет 17.0 96
packetsSent 96 96 Нет 82 Нет 96 Нет 67 Нет 17.0 96
priority 58 79 4229 45 11–17 58 4229 43 11–17 7.0 58
remoteCandidateId 58 79 29 45 11 58 29 43 11 7.0 58
requestsReceived 58 79 Нет 45 11 58 Нет 43 11 7.0 58
requestsSent 58 79 Нет 45 11 58 Нет 43 11 7.0 58
responsesReceived 58 79 Нет 45 11 58 Нет 43 11 7.0 58
responsesSent 58 79 Нет 45 11 58 Нет 43 11 7.0 58
state 58 79 29 45 11 58 29 43 11 7.0 58
timestamp 80 80 72 67 13.1 80 79 57 13.4 13.0 80
totalRoundTripTime 7158 7979 Нет 5845 11 7158 Нет 5043 11 10.07.0 7158
transportId 58 79 5629 45 11 58 5629 43 11 7.0 58
type 80 80 72 67 13.1 80 79 57 13.4 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/RTCIceCandidatePairStats

Spec-Zone.ru

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