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 des RTCRtpSender Schnittstelle gibt ein Objekt zurück, das die aktuelle Konfiguration dafür 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 anzeigt.

encodings

Ein Array von Objekten, von denen jedes die Parameter und Einstellungen für einen einzelnen Codec spezifiziert, der zur Kodierung des Medieninhalts der Spur verwendet werden könnte. Zu den Eigenschaften der Objekte gehören:

active

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

codec Optional

Wählt den Mediacodec aus, der für diesen Kodierungs-RTP-Stream verwendet wird. Wenn nicht festgelegt, kann der Benutzeragent jeden für das Senden ausgehandelten Codec auswählen.

channels Optional

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

clockRate

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

mimeType

Ein String, der den MIME-Medientyp und Subtyp des Codecs angibt, der als String in der Form "type/subtype" spezifiziert ist. 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 formatspezifischen Parameter angibt, die von der lokalen Beschreibung bereitgestellt werden.

dtx Veraltet Nicht standardisiert

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

maxBitrate

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

Der Wert wird mithilfe des standardmäßigen Transportunabhängigen Anwendungspezifischen Maximums (TIAS) Bandbreite berechnet, wie definiert in RFC 3890, Abschnitt 6.2.2; dies ist die maximale benötigte Bandbreite, ohne die Protokollüberköpfe von IP, TCP oder UDP und so weiter zu berücksichtigen.

Beachten Sie, dass die Bitrate auf verschiedene Arten erreicht werden kann, abhängig von den Medien und der Kodierung. Zum Beispiel könnte für Video eine niedrige Bitrate erreicht werden, indem Frames ausgelassen werden (eine Bitrate von null könnte erlauben, nur einen Frame zu senden), während für Audio die Spur möglicherweise aufhören muss zu spielen, wenn die Bitrate zu niedrig ist, um gesendet zu werden.

maxFramerate

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

priority

Ein String, der die Priorität des RTCRtpSender angibt, die möglicherweise bestimmt, wie der Benutzeragent die Bandbreite zwischen Sendern aufteilt. Erlaubte Werte sind very-low, low (Standard), medium, high.

rid

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

scaleResolutionDownBy

Wird nur für Sender verwendet, deren Spur's kind video ist, dies ist ein Gleitkommawert, der einen Faktor angibt, um den das Video während der Kodierung verkleinert werden soll. Der Standardwert, 1.0, bedeutet, dass das Video in seiner Originalgröße kodiert wird. Ein Wert von 2.0 verkleinert die Video-Frames um den Faktor 2 in jeder Dimension, was zu einem Video führt, das 1/4 der ursprünglichen Größe hat. Der Wert darf nicht kleiner als 1.0 sein (der Versuch, das Video auf eine größere Größe zu skalieren, führt zu einem RangeError).

transactionId

Ein String, der eine eindeutige ID enthält. Dieser Wert wird verwendet, um sicherzustellen, dass setParameters() nur aufgerufen werden kann, um die Parameter zu ändern, die durch einen bestimmten vorherigen Aufruf von getParameters() zurückgegeben wurden. Dieser Parameter kann nicht vom Aufrufer geändert werden.

codecs

Ein Array von Objekten, das die Mediacodecs beschreibt, die der Sender als aktiviert festgelegt hat und die bereit sind, verwendet zu werden. Dieser Parameter kann nicht geändert werden, sobald er initial festgelegt 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 gibt bei Audiocodecs ein Wert von 1 monauralen Klang an, während 2 Stereo bedeutet.

clockRate

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

mimeType

Ein String, der den MIME-Medientyp und Subtyp des Codecs angibt, der als String in der Form "type/subtype" spezifiziert ist. 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 Nutzlasttyp, der zur Identifizierung dieses Codecs verwendet wird.

sdpFmtpLine Optional

Ein String, der die formatspezifischen Parameter angibt, die von der lokalen Beschreibung bereitgestellt werden.

headerExtensions

Ein Array von Null oder mehr RTP-Header-Erweiterungen, von denen jede eine Erweiterung identifiziert, die vom Sender oder Empfänger unterstützt wird. Header-Erweiterungen werden in RFC 3550, Abschnitt 5.3.1 beschrieben. Dieser Parameter kann nicht geändert werden, sobald er initial festgelegt 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 Boolean, das True ist, wenn reduziertes Größe-RTCP konfiguriert ist (RFC 5506), und False, wenn zusammengesetztes RTCP spezifiziert ist (RFC 3550).

degradationPreference

Gibt die bevorzugte Weise an, wie die WebRTC-Schicht die Leistung in Situationen mit eingeschränkter Bandbreite optimieren soll. Die möglichen Werte sind:

balanced

Der Standardwert. Der Browser wird die Verschlechterung von Framerate und Auflösung ausgleichen.

maintain-framerate

Der Browser wird die Auflösung herabsetzen, um die Framerate aufrechtzuerhalten.

maintain-resolution

Der Browser wird die Framerate herabsetzen, um die Auflösung aufrechtzuerhalten.

maintain-framerate-and-resolution

Der Browser wird Framerate und Auflösung unabhängig von der Videoqualität aufrechterhalten, was dazu führen kann, dass Frames vor der Kodierung verworfen werden, wenn nötig, um Netzwerk- und Ressourcen des Kodierers nicht zu überlasten. Diese Einstellung ist nützlich für Anwendungen, die ihren eigenen Mechanismus zur Optimierung der Video-Kodierungsqualität und -leistung implementieren und nicht möchten, dass der interne Mechanismus des Browsers dieses beeinträchtigt.

Beispiele

Dieses Beispiel erhält die aktuelle Transaktions-ID des Senders; die Transaktions-ID identifiziert die aktuelle Menge der Parameter eindeutig, um sicherzustellen, dass Aufrufe an setParameters() immer in der richtigen Reihenfolge behandelt werden, um zu vermeiden, dass Parameter versehentlich mit älteren Parametern überschrieben werden.

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

  return parameters.transactionId;
}

Auf dieselbe 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
MediaStreamTrack Content Hints
# dom-rtcdegradationpreference

Browser-Kompatibilität

Siehe auch