RTCRemoteInboundRtpStreamStats

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Das RTCRemoteInboundRtpStreamStats-Wörterbuch der WebRTC API wird verwendet, um Statistiken vom entfernten Endpunkt über einen bestimmten eingehenden RTP-Stream zu melden. Diese entsprechen einem ausgehenden RTP-Stream am lokalen Ende der RTCPeerConnection.

Die Statistiken können abgerufen werden, indem man durch den RTCStatsReport iteriert, der von RTCPeerConnection.getStats() oder RTCRtpReceiver.getStats() zurückgegeben wird, bis Sie einen Bericht mit dem type von remote-inbound-rtp finden.

Instanzeigenschaften

Spezifische Statistiken für eingehende Remote-Daten

fractionLost Optional

Eine Zahl, die den Anteil der für diesen SSRC verlorenen Pakete seit dem letzten Sender- oder Empfängerbericht angibt.

localId Optional

Ein String, der verwendet wird, um das lokale RTCOutboundRtpStreamStats-Objekt zu finden, das die gleiche Synchronisierungsquelle (SSRC) teilt.

roundTripTime Optional

Eine Zahl, die die geschätzte Round-Trip-Zeit (RTT) für diesen SSRC in Sekunden angibt. Diese Eigenschaft existiert nicht, bis gültige RTT-Daten empfangen wurden.

roundTripTimeMeasurements Optional

Eine positive Ganzzahl, die die Gesamtzahl der gültigen Messungen der Round-Trip-Zeit anzeigt, die für diese Synchronisierungsquelle (SSRC) empfangen wurden.

totalRoundTripTime Optional

Eine Zahl, die die kumulative Summe aller Round-Trip-Zeit-Messungen seit Beginn der Sitzung in Sekunden angibt. Die durchschnittliche Round-Trip-Zeit kann berechnet werden, indem totalRoundTripTime durch roundTripTimeMeasurements geteilt wird.

Statistiken des empfangenen RTP-Streams

jitter Optional

Eine Zahl, die die Paket-Jitter für diese Synchronisierungsquelle in Sekunden angibt.

packetsLost Optional

Eine Ganzzahl, die die Gesamtzahl der verlorenen RTP-Pakete für diesen SSRC angibt, gemessen am entfernten Endpunkt. Dieser Wert kann negativ sein, wenn doppelte Pakete empfangen wurden.

packetsReceived Optional Experimentell

Eine positive Ganzzahl, die die Gesamtzahl der empfangenen RTP-Pakete für diesen SSRC anzeigt, einschließlich erneuter Übertragungen.

Allgemeine RTP-Stream-Statistiken

codecId Optional

Ein String, der das Objekt eindeutig identifiziert, das untersucht wurde, um das RTCCodecStats-Objekt zu erstellen, das mit diesem RTP-Stream verknüpft ist.

kind

Ein String, der angibt, ob der mit dem Stream verbundene MediaStreamTrack ein Audio- oder Videotrack ist.

ssrc

Eine positive Ganzzahl, die den SSRC der RTP-Pakete in diesem Stream identifiziert.

transportId Optional

Ein String, der das Objekt eindeutig identifiziert, das untersucht wurde, um das RTCTransportStats-Objekt zu erstellen, das mit diesem RTP-Stream verknüpft ist.

Allgemeine Instanzeigenschaften

Die folgenden Eigenschaften sind allen WebRTC-Statistikobjekten gemeinsam.

id

Ein String, der das Objekt eindeutig identifiziert, das überwacht wird, um diese Satz von Statistiken zu erstellen.

timestamp

Ein DOMHighResTimeStamp-Objekt, das die Zeit angibt, zu der die Stichprobe für dieses Statistikobjekt genommen wurde.

type

Ein String mit dem Wert "inbound-rtp", der den Typ der Statistiken angibt, die das Objekt enthält.

Beispiele

Gegeben sei eine Variable peerConnection, die eine Instanz einer RTCPeerConnection ist. Der folgende Code verwendet await, um auf den Statistikbericht zu warten, und durchläuft ihn dann mit RTCStatsReport.forEach(). Er filtert die Wörterbücher nach nur jenen Berichten, deren Typ remote-inbound-rtp ist, und protokolliert das Ergebnis.

js
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}`);
  }
});

Spezifikationen

Specification
Identifiers for WebRTC's Statistics API
# dom-rtcstatstype-remote-inbound-rtp

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch