Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCRtpSender: getParameters() Methode

Baseline Widely available *

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

* Some parts of this feature may have varying levels of support.

Die getParameters() Methode der RTCRtpSender Schnittstelle gibt ein Objekt zurück, das die aktuelle Konfiguration beschreibt, wie die track des Senders kodiert und an einen entfernten RTCRtpReceiver übertragen wird.

Syntax

js
getParameters()

Parameter

Keine.

Rückgabewert

Ein Objekt, das die aktuelle Konfiguration des Senders angibt.

encodings

Ein Array von Objekten, die jeweils die Parameter und Einstellungen für einen einzelnen Codec angeben, der verwendet werden könnte, um die Medien der Spur zu kodieren. Die Eigenschaften der Objekte umfassen:

active

true (der Standardwert), wenn die Kodierung gesendet wird, false, wenn sie nicht gesendet oder verwendet wird.

codec Optional

Wählt den Mediacodec aus, der für den RTP-Stream dieser Kodierung verwendet wird. Wenn nicht gesetzt, kann der Benutzeragent jeden verhandelten Codec zum Senden auswählen.

channels Optional

Eine positive ganze Zahl, die die Anzahl der vom Codec unterstützten Kanäle angibt. Zum Beispiel spezifiziert für Audiocodecs ein Wert von 1 monauralen Klang, während 2 Stereo angibt.

clockRate

Eine positive ganze Zahl, die die Taktfrequenz des Codecs in Hertz (Hz) angibt. Die Taktfrequenz ist die Rate, mit der sich der RTP-Zeitstempel des Codecs fortschreitet. Die meisten Codecs haben bestimmte Werte oder Wertebereiche, die sie zulassen. Die IANA führt eine Liste der Codecs und ihrer Parameter, einschließlich ihrer Taktfrequenzen.

mimeType

Ein String, der den MIME-Medientyp und Subtyp des Codecs angibt, angegeben als ein String der Form "type/subtype". Die MIME-Typ-Strings, die von RTP verwendet werden, unterscheiden sich von denen, die anderswo verwendet werden. Die IANA führt ein Register gültiger MIME-Typen. Siehe auch Codecs verwendet von WebRTC für Details zu potenziellen Codecs, die hier referenziert werden könnten.

sdpFmtpLine Optional

Ein String, der die format-spezifischen Parameter angibt, die von der lokalen Beschreibung bereitgestellt werden.

dtx Veraltet Nicht standardisiert

Wird nur für einen RTCRtpSender verwendet, dessen kind audio ist, und gibt an, ob diskontinuierliche Übertragung verwendet wird (eine Funktion, bei der ein Telefon ausgeschaltet oder das Mikrofon automatisch stummgeschaltet wird, wenn keine Sprachaktivität stattfindet). Der Wert ist entweder enabled oder disabled.

maxBitrate

Eine positive ganze Zahl, die die maximale Anzahl von Bits pro Sekunde angibt, die dem Benutzeragenten gewährt werden darf, um Spuren mit dieser Kodierung zu kodieren. Andere Parameter können die Bitrate weiter einschränken, wie der Wert von maxFramerate oder die verfügbare Bandbreite für den Transport oder das physische Netzwerk.

Der Wert wird mit der Standard Transport Independent Application Specific Maximum (TIAS) Bandbreite berechnet, wie in RFC 3890, Abschnitt 6.2.2 definiert; dies ist die maximale benötigte Bandbreite, ohne den Protokoll-Overhead von IP, TCP oder UDP etc. zu berücksichtigen.

Beachten Sie, dass die Bitrate auf verschiedene Weise erreicht werden kann, je nach Medien und Kodierung. Zum Beispiel könnte bei Video eine niedrige Bitrate durch das Auslassen von Frames erreicht werden (eine Bitrate von Null könnte nur einen Frame erlauben), während bei Audio die Spur möglicherweise aufhören muss zu spielen, wenn die Bitrate zu niedrig ist, um sie zu senden.

maxFramerate

Ein Wert, der die maximale Anzahl von Frames pro Sekunde festlegt, die für diese Kodierung erlaubt ist.

priority

Ein String, der die Priorität des RTCRtpSender angibt, was bestimmen kann, wie der Benutzeragent die Bandbreite zwischen den Sendern zuweist. Erlaubte Werte sind very-low, low (Standard), medium, high.

rid

Ein String, welcher, falls gesetzt, eine RTP-Stream-ID (RID) angibt, die unter Verwendung der RID-Header-Erweiterung gesendet werden soll. Dieser Parameter kann nicht mit setParameters() modifiziert werden. Sein Wert kann nur gesetzt werden, wenn der Transceiver erstmals erstellt wird.

scaleResolutionDownBy

Wird nur für Sender verwendet, deren Spurkind video ist, dies ist ein Gleitkommawert, der einen Faktor angibt, um den das Video während der Kodierung verkleinert wird. Der Standardwert, 1.0, bedeutet, dass das Video in seiner ursprünglichen Größe kodiert wird. Ein Wert von 2.0 verkleinert die Videobilder in jede Dimension um einen Faktor von 2, was ein Video 1/4 der Größe des Originals ergibt. Der Wert darf nicht kleiner als 1.0 sein (der Versuch, das Video auf eine größere Größe zu skalieren, wird einen RangeError auslösen).

transactionId

Ein String, der eine eindeutige ID enthält. Dieser Wert wird verwendet, um sicherzustellen, dass setParameters() nur dazu aufgerufen werden kann, die von einem bestimmten vorhergehenden Aufruf von getParameters() zurückgegebenen Parameter zu ändern. Dieser Parameter kann nicht durch den Anrufer geändert werden.

codecs

Ein Array von Objekten, die die Mediacodecs beschreiben, die der Sender als aktiviert festgelegt hat und zu verwenden bereit ist. Dieser Parameter kann nicht mehr geändert werden, sobald er ursprünglich gesetzt wurde.

Jedes Codec-Objekt im Array kann die folgenden Eigenschaften haben:

channels Optional

Eine positive ganze Zahl, die die Anzahl der vom Codec unterstützten Kanäle angibt. Zum Beispiel spezifiziert für Audiocodecs ein Wert von 1 monauralen Klang, während 2 Stereo angibt.

clockRate

Eine positive ganze Zahl, die die Taktfrequenz des Codecs in Hertz (Hz) angibt. Die Taktfrequenz ist die Rate, mit der sich der RTP-Zeitstempel des Codecs fortschreitet. Die meisten Codecs haben bestimmte Werte oder Wertebereiche, die sie zulassen. Die IANA führt eine Liste der Codecs und ihrer Parameter, einschließlich ihrer Taktfrequenzen.

mimeType

Ein String, der den MIME-Medientyp und Subtyp des Codecs angibt, angegeben als ein String der Form "type/subtype". Die MIME-Typ-Strings, die von RTP verwendet werden, unterscheiden sich von denen, die anderswo verwendet werden. Die IANA führt ein Register gültiger MIME-Typen. Siehe auch Codecs verwendet von WebRTC für Details zu potenziellen Codecs, die hier referenziert werden könnten.

payloadType

Der RTP-Payload-Typ, der verwendet wird, um diesen Codec zu identifizieren.

sdpFmtpLine Optional

Ein String, der die format-spezifischen Parameter angibt, die von der lokalen Beschreibung bereitgestellt werden.

headerExtensions

Ein Array von null oder mehr RTP-Header-Erweiterungen, die jeweils eine vom Sender oder Empfänger unterstützte Erweiterung identifizieren. Header-Erweiterungen werden in RFC 3550, Abschnitt 5.3.1 beschrieben. Dieser Parameter kann nicht mehr geändert werden, sobald er ursprünglich gesetzt wurde.

rtcp

Ein Objekt, das die Konfigurationsparameter bereitstellt, die für RTCP auf dem Sender verwendet werden. Dieser Parameter kann nicht geändert werden.

Das Objekt kann die folgenden Eigenschaften haben:

cname

Ein schreibgeschützter String, der den kanonischen Namen (CNAME) angibt, der von RTCP verwendet wird (z. B. in SDES-Nachrichten).

reducedSize

Ein schreibgeschütztes boolesches Element, das True ist, wenn reduzierte Größe RTCP konfiguriert ist (RFC 5506), und False, wenn zusammengesetztes RTCP festgelegt ist (RFC 3550).

degradationPreference Veraltet Optional

Gibt an, auf welche Weise die WebRTC-Schicht die Optimierung der Bandbreite gegenüber der Qualität in Situationen mit begrenzter Bandbreite bevorzugen sollte. Die möglichen Werte sind maintain-framerate, maintain-resolution oder balanced. Der Standardwert ist balanced.

Beispiele

Dieses Beispiel erhält die aktuelle Transaktions-ID des Senders; die Transaktions-ID identifiziert eindeutig den aktuellen Parametersatz, um sicherzustellen, dass Aufrufe von setParameters() immer in der richtigen Reihenfolge behandelt werden, um ein versehentliches Überschreiben von Parametern mit älteren Parametern zu vermeiden.

js
function getSenderTransactionID(sender) {
  let parameters = sender.getParameters();

  return parameters.transactionId;
}

Auf die gleiche Weise erhält dieser Code den kanonischen Namen (CNAME), der für RTCP auf einem RTCRtpSender verwendet wird.

js
function getRtpCNAME(sender) {
  let parameters = sender.getParameters();

  return parameters.rtcp.cname;
}

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcrtpsender-getparameters

Browser-Kompatibilität

Siehe auch