RTCInboundRtpStreamStats
Das RTCInboundRtpStreamStats
-Wörterbuch der WebRTC API wird verwendet, um Statistiken im Zusammenhang mit der Empfangsseite eines RTP-Streams am lokalen Ende der RTCPeerConnection
zu melden.
Die Statistiken können erhalten werden, indem Sie den RTCStatsReport
durchlaufen, der von RTCPeerConnection.getStats()
oder RTCRtpReceiver.getStats()
zurückgegeben wird, bis Sie einen Bericht mit dem type
von inbound-rtp
finden.
Instanz-Eigenschaften
averageRtcpInterval
-
Ein Gleitkommawert, der das durchschnittliche RTCP-Intervall zwischen zwei aufeinanderfolgenden zusammengesetzten RTCP-Paketen angibt.
bytesReceived
-
Ein 64-Bit-Integer, der die Gesamtzahl der bisher für diese Medienquelle empfangenen Bytes angibt.
fecPacketsDiscarded
-
Ein Integer-Wert, der die Anzahl der RTP-Fehlerkorrekturpakete (FEC) angibt, die für diese Quelle empfangen wurden, bei denen die Fehlerkorrektur-Nutzlast verworfen wurde.
fecPacketsReceived
-
Ein Integer-Wert, der die Gesamtzahl der empfangenen RTP-Fehlerkorrekturpakete (FEC) für diese Quelle angibt. Dieser Zähler kann auch erhöht werden, wenn FEC-Pakete im Band mit Medieninhalten ankommen; dies kann zum Beispiel mit Opus passieren.
firCount
-
Ein Integer-Wert, der die Gesamtzahl der vollständigen Intra-Request (FIR)-Pakete angibt, die dieser Empfänger an den Sender gesendet hat. Dies ist ein Indikator dafür, wie oft der Stream zurückgeblieben ist und Frames übersprungen werden mussten, um aufzuholen. Dieser Wert ist nur für Videostreams verfügbar.
framesDecoded
-
Ein Long-Integer-Wert, der die Gesamtzahl der bisher korrekt decodierten Videoframes für diese Medienquelle angibt. Dies ist die Anzahl der Frames, die gerendert worden wären, wenn keine davon fallen gelassen worden wären. Nur gültig für Videostreams.
lastPacketReceivedTimestamp
-
Ein
DOMHighResTimeStamp
, der die Uhrzeit angibt, zu der das letzte Paket für diese Quelle empfangen wurde. Dietimestamp
-Eigenschaft hingegen gibt die Zeit an, zu der das Statistikobjekt erstellt wurde. nackCount
-
Ein Integer-Wert, der die Gesamtzahl der negativen Bestätigungsnachricht-Pakete (NACK) angibt, die dieser Empfänger gesendet hat.
packetsDuplicated
-
Ein Integer-Wert, der die Gesamtzahl der Pakete angibt, die verworfen wurden, weil sie Duplikate waren. Diese Pakete werden nicht von
packetsDiscarded
gezählt. packetsFailedDecryption
-
Ein Integer, der die Gesamtzahl der RTP-Pakete angibt, die nicht entschlüsselt werden konnten. Diese Pakete werden nicht von
packetsDiscarded
gezählt. perDscpPacketsReceived
-
Ein Datensatz von Schlüssel-Wert-Paaren mit Strings als Schlüsseln, die auf 32-Bit-Integer-Werte abgebildet sind, von denen jeder die Gesamtzahl der Pakete angibt, die dieser Empfänger auf diesem RTP-Stream von dieser Quelle für jeden Differentiated Services Code Point (DSCP) erhalten hat.
pliCount
-
Ein Integer, der angibt, wie oft der Empfänger den Sender informiert hat, dass eine gewisse Menge an codierten Videodaten für einen oder mehrere Frames verloren gegangen ist, unter Verwendung von Picture Loss Indication (PLI)-Paketen. Dies ist nur für Videostreams verfügbar.
qpSum
-
Ein 64-Bit-Wert, der die Summe der QP-Werte für jeden von diesem RTP-Empfänger decodierten Frame enthält. Sie können den durchschnittlichen QP pro Frame berechnen, indem Sie diesen Wert durch
framesDecoded
teilen. Nur gültig für Videostreams. receiverId
-
Eine Zeichenkette, die das
RTCAudioReceiverStats
oderRTCVideoReceiverStats
-Objekt identifiziert, das mit dem Empfänger des Streams verbunden ist. Diese ID ist stabil über mehrere Aufrufe vongetStats()
. remoteId
-
Eine Zeichenkette, die das
RTCRemoteOutboundRtpStreamStats
-Objekt identifiziert, das Statistiken für den Remote-Peer für diese gleiche SSRC bereitstellt. Diese ID ist stabil über mehrere Aufrufe vongetStats()
. sliCount
-
Ein Integer, der angibt, wie oft der Empfänger einen Slice Loss Indication (SLI)-Frame an den Sender gesendet hat, um ihm mitzuteilen, dass ein oder mehrere aufeinanderfolgende (in Scan-Reihenfolge) Videomakroblöcke verloren gegangen oder beschädigt sind. Nur für Videostreams verfügbar.
trackIdentifier
-
Eine Zeichenkette, die den
id
-Wert desMediaStreamTrack
enthält, der mit dem eingehenden Stream verbunden ist. trackId
Veraltet-
Eine Zeichenkette, die das Statistikobjekt identifiziert, das den Empfangstrack darstellt; dieses Objekt ist eines von zwei Typen:
RTCReceiverAudioTrackAttachmentStats
oderRTCReceiverVideoTrackAttachmentStats
. Diese ID ist stabil über mehrere Aufrufe vongetStats()
.
Statistiken, gemessen am Empfänger eines RTP-Streams
Diese Statistiken werden am empfangenden Ende eines RTP-Streams gemessen, unabhängig davon, ob es lokal oder remote ist.
packetsReceived
-
Die Gesamtanzahl der RTP-Pakete, die für diese synchronisierende Quelle empfangen wurden, einschließlich erneuter Übertragungen.
packetsLost
-
Die Gesamtanzahl der RTP-Pakete, die für diese synchronisierende Quelle verloren gegangen sind. Beachten Sie, dass dies negativ sein kann, wenn mehr Pakete empfangen als gesendet werden.
jitter
-
Paket-Jitter für diese synchronisierende Quelle, gemessen in Sekunden.
Standardfelder, die für alle Medientypen enthalten sind
codecId
-
Eine Zeichenkette, die das Objekt eindeutig identifiziert, das untersucht wurde, um das
RTCCodecStats
-Objekt zu erstellen, das mit diesem RTP-Stream verbunden ist. kind
-
Eine Zeichenkette, deren Wert
"audio"
ist, wenn der assoziierteMediaStreamTrack
nur Audio enthält oder"video"
, wenn der Track Video enthält. Dieser Wert stimmt mit dem des Medientyps überein, der durchRTCCodecStats.codec
angezeigt wird, sowie mit derkind
-Eigenschaft des Tracks. FrühermediaType
genannt. ssrc
-
Der 32-Bit-Integer, der die Quelle der RTP-Pakete identifiziert, die dieses
RTCRtpStreamStats
-Objekt abdeckt. Dieser Wert wird gemäß der RFC 3550-Spezifikation generiert. trackId
-
Eine Zeichenkette, die das
RTCMediaStreamTrackStats
-Objekt eindeutig identifiziert, das den zugehörigenMediaStreamTrack
darstellt. Dies ist nicht dasselbe wie der Wert vonMediaStreamTrack.id
. transportId
-
Eine Zeichenkette, die das Objekt eindeutig identifiziert, das untersucht wurde, um das
RTCTransportStats
-Objekt zu erstellen, das mit diesem RTP-Stream verbunden ist.
Nur lokal gemessene Messungen
Diese Eigenschaften werden lokal berechnet und sind nur dem Gerät verfügbar, das den Medienstrom empfängt. Ihr Hauptzweck ist die Untersuchung der Fehlerresistenz der Verbindung, da sie Informationen über verlorene Pakete, verlorene Frames und den Grad der Datenkomprimierung liefern.
firCount
-
Ein Zähler der Gesamtzahl der Full Intra Request (FIR)-Pakete, die vom Sender empfangen wurden. Diese Statistik ist nur für das Gerät verfügbar, das den Stream empfängt, und ist nur für Videospuren verfügbar. Ein FIR-Paket wird vom empfangenden Ende des Streams gesendet, wenn es hinterherhinkt oder Pakete verloren hat und den Stream nicht weiter decodieren kann; das sendende Ende des Streams empfängt das FIR-Paket und antwortet, indem es ein vollständiges Frame anstelle eines Delta-Frames sendet, wodurch der Empfänger "aufholen" kann. Je höher dieser Wert ist, desto häufiger trat ein Problem dieser Art auf, was ein Zeichen für Netzwerkkongestion oder ein überlastetes Empfangsgerät sein kann.
nackCount
-
Die Anzahl der Male, die der Empfänger den Sender darüber informiert hat, dass ein oder mehrere RTP-Pakete verloren gegangen sind, indem ein Negative ACKnowledgement (NACK, auch "Generic NACK" genannt)-Paket an den Sender gesendet wurde. Dieser Wert ist nur für den Empfänger verfügbar.
pliCount
-
Die Anzahl der Male, die das empfangende Ende des Streams ein Picture Loss Indication (PLI)-Paket an den Sender gesendet hat, um anzugeben, dass ein gewisser Umfang an codierten Videodaten für einen oder mehrere Frames verloren gegangen ist. Nur der Empfänger hat diesen Wert, und er ist nur für Videospuren gültig.
qpSum
-
Die Summe der Quantisierungsparameter (QP)-Werte, die jedem Frame zugeordnet sind, der bisher auf der Videospur empfangen wurde, die von diesem
RTCRtpStreamStats
-Objekt beschrieben wird. Im Allgemeinen, je höher dieser Wert ist, desto stärker war die Videospur komprimiert. Kombiniert mitRTCReceivedRtpStreamStats.framesDecoded
oderRTCInboundRtpStreamStats.framesEncoded
können Sie den durchschnittlichen QP über diese Frames approximieren, wobei Sie beachten müssen, dass Codecs oft die Quantisiererwerte sogar innerhalb von Frames variieren. Beachten Sie auch, dass die Werte von QP je nach Codec variieren können, daher ist dieser Wert nur potenziell nützlich, wenn er mit demselben Codec verglichen wird.
Gemeinsame Instanzeigenschaften
Die folgenden Eigenschaften sind allen WebRTC-Statistikobjekten gemeinsam.
id
-
Eine Zeichenkette, die das Objekt, das überwacht wird, um diesen Satz von Statistiken zu erzeugen, eindeutig identifiziert.
timestamp
-
Ein
DOMHighResTimeStamp
-Objekt, das die Uhrzeit anzeigt, zu der das Sample für dieses Statistikobjekt entnommen wurde. type
-
Eine Zeichenkette mit dem Wert
"inbound-rtp"
, die den Typ der Statistiken angibt, die das Objekt enthält.
Beispiele
Spezifikationen
Specification |
---|
Identifiers for WebRTC's Statistics API # dom-rtcstatstype-inbound-rtp |
Browser-Kompatibilität
BCD tables only load in the browser