RTCOutboundRtpStreamStats
Базовая Широкодоступная *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с января 2020 года.
* Некоторые части этой функции могут иметь разный уровень поддержки.
Словарь RTCOutboundRtpStreamStats API WebRTC используется для отчета о метриках и статистике, связанных с исходящим потоком RTP, отправляемым RTCRtpSender.
Статистику можно получить, перебирая RTCStatsReport, возвращаемый RTCPeerConnection.getStats() или RTCRtpSender.getStats(), пока не будет найден отчет с type outbound-rtp.
Свойства экземпляра
averageRtcpInterval-
Значение с плавающей точкой, указывающее средний интервал RTCP между двумя последовательными составными пакетами RTCP.
framesEncoded-
Количество кадров, успешно закодированных для отправки по этому потоку RTP. Только для видеопотоков.
perDscpPacketsSent-
Запись пар ключ-значение, где ключами являются строки, а значениями — 32-битные целые числа, каждое из которых указывает общее количество пакетов, переданных этим
RTCRtpSenderдля этого источника для каждого значения DSCP (Differentiated Services Code Point). -
qualityLimitationDurationsЭкспериментальная -
Запись, сопоставляющая каждый из причин ограничения качества в перечислении
RTCRemoteInboundRtpStreamStatsсо значением с плавающей точкой, указывающим количество секунд, в течение которых качество потока ограничивалось по этой причине. -
qualityLimitationReasonЭкспериментальная -
Одна из строк
none,cpu,bandwidth, илиother, объясняющая, почему разрешение и/или частота кадров ограничены для этого потока RTP. Применимо только для видеопотоков. remoteId-
Строка, идентифицирующая объект
RTCRemoteInboundRtpStreamStats, предоставляющий статистику для удаленного узла для этого же SSRC. Этот идентификатор сохраняется при многократных вызовахgetStats(). retransmittedBytesSent-
Общее количество байтов, повторно переданных для этого источника на момент взятия статистики. Эти повторно переданные байты включают пакеты, указанные в значении, возвращаемом
retransmittedPacketsSent. retransmittedPacketsSent-
Общее количество пакетов, которые потребовалось повторно передать для этого источника на момент взятия статистики. Эти повторно переданные пакеты включены в значение, возвращаемое
packetsSent. senderId-
Идентификатор
idобъектаRTCAudioSenderStatsилиRTCVideoSenderStats, содержащего статистику оRTCRtpSenderэтого потока. sliCount-
Целое число, указывающее количество раз, когда этот отправитель получил кадр индикации потери фрагмента (SLI) от удаленного узла, указывающее, что один или несколько последовательных видеомакроблоков были потеряны или повреждены. Доступно только для видеопотоков.
targetBitrate-
Значение, указывающее битрейт, который кодек
RTCRtpSenderнастроен на достижение в выходных медиаданных. -
totalEncodedBytesTargetЭкспериментальная -
Кумулятивная сумма целевых размеров кадров (максимальный целевой размер кадра в байтах при запросе сжатия кодеком) для всех закодированных кадров. Вероятно, будет отличаться от суммы фактических размеров кадров.
totalEncodeTime-
Значение с плавающей точкой, указывающее общее время в секундах, потраченное на кодирование кадров, закодированных этим
RTCRtpSender. trackId-
Идентификатор
idобъектаRTCSenderAudioTrackAttachmentStatsилиRTCSenderVideoTrackAttachmentStats, содержащего текущую привязку трека кRTCRtpSender, ответственному за этот поток.
Локальные измерения
Эти свойства вычисляются локально и доступны только устройству, принимающему медиапоток. Их основное назначение — анализ отказоустойчивости соединения, так как они предоставляют информацию о потерянных пакетах, потерянных кадрах и степени сжатия данных.
nackCount-
Целое значение, указывающее общее количество пакетов Negative ACKnowledgement (NACK), полученных этим
RTCRtpSenderот удаленногоRTCRtpReceiver. qpSum-
64-битовое значение, содержащее сумму значений QP для каждого кадра, закодированного этим
RTCRtpSender. Применимо только для видеопотоков.
Общие статистические данные потока RTP
-
codecIdНеобязательно -
Строка, которая однозначно идентифицирует объект, который был проверен для получения объекта
RTCCodecStats, связанного с этим потоком RTP. kind-
Строка, указывающая, является ли
MediaStreamTrack, связанный с потоком, аудио- или видеотреком. ssrc-
Положительное целое число, идентифицирующее SSRC пакетов RTP в этом потоке.
-
transportIdНеобязательно -
Строка, которая однозначно идентифицирует объект, который был проверен для получения объекта
RTCTransportStats, связанного с этим потоком RTP.
Общие свойства экземпляра
Следующие свойства являются общими для всех объектов статистики WebRTC.
id-
Строка, которая однозначно идентифицирует объект, за которым ведется наблюдение для получения этого набора статистики.
timestamp-
Объект
DOMHighResTimeStamp, указывающий время, в которое была взята выборка для этого объекта статистики. type-
Строка со значением
"outbound-rtp", указывающая тип статистики, содержащейся в объекте.
Примеры
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | |
RTCOutboundRtpStreamStats |
80 | 80 | 27 | 67 | 11 | 80 | 27 | 57 | 11 | 13.0 | 80 |
|---|---|---|---|---|---|---|---|---|---|---|---|
active |
106 | 106 | Нет | 92 | Нет | 106 | Нет | 72 | Нет | 20.0 | 106 |
bytesSent |
80 | 80 | 72 | 67 | 13.1 | 80 | 79 | 57 | 13.4 | 13.0 | 80 |
codecId |
80 | 80 | 98 | 67 | 11 | 80 | 98 | 57 | 11 | 13.0 | 80 |
frameHeight |
84 | 84 | 101 | 70 | Нет | 84 | 101 | 60 | Нет | 14.0 | 84 |
frameWidth |
84 | 84 | 101 | 70 | Нет | 84 | 101 | 60 | Нет | 14.0 | 84 |
framesEncoded |
80 | 80 | ≤73 | 67 | ≤13.1–15.1 | 80 | ≤79 | 57 | ≤13.4–15.1 | 13.0 | 80 |
framesPerSecond |
84 | 84 | 115 | 70 | Нет | 84 | 115 | 60 | Нет | 14.0 | 84 |
framesSent |
84 | 84 | 101 | 70 | Нет | 84 | 101 | 60 | Нет | 14.0 | 84 |
headerBytesSent |
80 | 80 | 100 | 67 | 14.1 | 80 | 100 | 57 | 14.5 | 13.0 | 80 |
id |
80 | 80 | 72 | 67 | 13.1 | 80 | 79 | 57 | 13.4 | 13.0 | 80 |
keyFramesEncoded |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | 80 |
kind |
80 | 80 | 63 | 67 | 14 | 80 | 63 | 57 | 14 | 13.0 | 80 |
mediaSourceId |
80 | 80 | Нет | 67 | 14.1 | 80 | Нет | 57 | 14.5 | 13.0 | 80 |
mid |
105 | 105 | 135 | 91 | Нет | 105 | 135 | 72 | Нет | 20.0 | 105 |
nackCount |
93 | 93 | 55 | 79 | 15.4 | 93 | 55 | 66 | 15.4 | 17.0 | 93 |
packetsSent |
80 | 80 | 27 | 67 | 13.1 | 80 | 27 | 57 | 13.4 | 13.0 | 80 |
qpSum |
80 | 80 | ≤73 | 67 | Нет | 80 | ≤79 | 57 | Нет | 13.0 | 80 |
qualityLimitationDurations |
93 | 93 | Нет | 79 | Нет | 93 | Нет | 66 | Нет | 17.0 | 93 |
qualityLimitationReason |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | 80 |
remoteId |
81 | 81 | 27 | 68 | 15.3–15.4 | 81 | Нет | 58 | Нет | 13.0 | 81 |
retransmittedBytesSent |
80 | 80 | 100 | 67 | 14.1 | 80 | 100 | 57 | 14.5 | 13.0 | 80 |
retransmittedPacketsSent |
80 | 80 | 100 | 67 | 14.1 | 80 | 100 | 57 | 14.5 | 13.0 | 80 |
rid |
105 | 105 | 135 | 91 | Нет | 105 | 135 | 72 | Нет | 20.0 | 105 |
scalabilityMode |
110 | 110 | Нет | 96 | Нет | 110 | Нет | 74 | Нет | 21.0 | 110 |
ssrc |
80 | 80 | 27 | 67 | 11 | 80 | 27 | 57 | 11 | 13.0 | 80 |
targetBitrate |
98 | 98 | Нет | 84 | 16.4 | 98 | Нет | 68 | 16.4 | 18.0 | 98 |
|---|---|---|---|---|---|---|---|---|---|---|---|
timestamp |
80 | 80 | 72 | 67 | 13.1 | 80 | 79 | 57 | 13.4 | 13.0 | 80 |
totalEncodeTime |
80 | 80 | 102 | 67 | Нет | 80 | 102 | 57 | Нет | 13.0 | 80 |
totalEncodedBytesTarget |
80–84 | 80–84 | 102 | 67–70 | Нет | 80–84 | 102 | 57–60 | Нет | 13.0–14.0 | 80–84 |
totalPacketSendDelay |
80 | 80 | Нет | 67 | Нет | 80 | Нет | 57 | Нет | 13.0 | 80 |
transportId |
80 | 80 | Нет | 67 | 11 | 80 | Нет | 57 | 11 | 13.0 | 80 |
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/RTCOutboundRtpStreamStats