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 January 2020.
Die getParameters()
-Methode des RTCRtpSender
-Interfaces gibt ein Objekt zurück, das die aktuelle Konfiguration beschreibt, wie der Sender's track
codiert und an einen entfernten RTCRtpReceiver
gesendet wird.
Syntax
getParameters()
Parameter
Keine.
Rückgabewert
Ein Objekt, das die aktuelle Konfiguration des Senders angibt.
encodings
-
Ein Array von Objekten, das jeweils die Parameter und Einstellungen für einen einzelnen Codec spezifiert, der zur Codierung der Medien der Spur verwendet werden könnte. Die Eigenschaften der Objekte umfassen:
active
-
true
(Standard) wenn die Codierung gesendet wird,false
wenn sie nicht gesendet oder verwendet wird. dtx
Veraltet Nicht standardisiert-
Wird nur für einen
RTCRtpSender
verwendet, dessenkind
audio
ist, und zeigt an, ob die diskontinuierliche Übertragung verwendet wird (eine Funktion, bei der ein Telefon ausgeschaltet oder das Mikrofon automatisch stummgeschaltet wird, wenn keine Sprachaktivität vorliegt). Der Wert ist entwederenabled
oderdisabled
. maxBitrate
-
Eine positive Ganzzahl, die die maximale Anzahl von Bits pro Sekunde angibt, die dem Benutzeragenten für mit dieser Codierung kodierte Spuren gewährt werden darf. Andere Parameter können die Bitrate weiter einschränken, wie z.B. der Wert von
maxFramerate
oder die für den Transport oder das physische Netzwerk verfügbare Bandbreite.Der Wert wird mit der Standard Transport Independent Application Specific Maximum (TIAS) Bandbreite berechnet, wie definiert durch RFC 3890, Abschnitt 6.2.2; dies ist die maximale benötigte Bandbreite, ohne Protokoll-Overheads von IP, TCP oder UDP usw. zu berücksichtigen.
Beachten Sie, dass die Bitrate auf verschiedene Arten erreicht werden kann, abhängig vom Medium und der Codierung. Für Video könnte beispielsweise eine niedrige Bitrate durch das Auslassen von Frames erreicht werden (eine Bitrate von null könnte es erlauben, nur einen Frame zu senden), während für Audio die Spur möglicherweise nicht mehr abgespielt wird, wenn die Bitrate zu niedrig ist, um gesendet zu werden.
maxFramerate
-
Ein Wert, der die maximale Anzahl von Bildern pro Sekunde angibt, die für diese Codierung erlaubt sind.
priority
-
Ein String, der die Priorität des
RTCRtpSender
angibt, was bestimmen kann, wie der Benutzeragent die Bandbreite zwischen Sendern aufteilt. Erlaubte Werte sindvery-low
,low
(Standard),medium
,high
. rid
-
Ein String, der, falls gesetzt, eine RTP stream ID (RID) angibt, die mit der RID-Header-Erweiterung gesendet wird. 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, und ist ein Gleitkommawert, der einen Faktor angibt, um den das Video während der Codierung verkleinert wird. Der Standardwert 1.0 bedeutet, dass das Video in seiner Originalgröße codiert wird. Ein Wert von 2.0 verkleinert die Video-Frames um einen Faktor von 2 in jeder Dimension, was ein Video in der Größe 1/4 des Originals ergibt. Der Wert darf nicht kleiner als 1.0 sein (der Versuch, das Video zu vergrößern, führt zu einemRangeError
).
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 modifizieren, die durch einen bestimmten vorherigen Aufruf vongetParameters()
zurückgegeben wurden. Dieser Parameter kann nicht vom Anrufer geändert werden. codecs
-
Ein Array von Objekten, das die Medien-Codecs beschreibt, die der Sender als aktiviert festgelegt hat und zu verwenden bereit ist. Dieser Parameter kann nicht geändert werden, nachdem er initial eingestellt wurde.
Jedes Codec-Objekt im Array kann folgende Eigenschaften haben:
channels
Optional-
Eine positive Ganzzahl, die die Anzahl der vom Codec unterstützten Kanäle angibt. Zum Beispiel gibt bei Audio-Codecs ein Wert von 1 Mono-Sound an, während 2 Stereo bedeutet.
clockRate
-
Eine positive Ganzzahl, die die Taktfrequenz des Codecs in Hertz (Hz) angibt. Die Taktfrequenz ist die Rate, mit der der RTP-Zeitstempel des Codecs fortschreitet. Die meisten Codecs haben spezifische Werte oder Wertebereiche, die sie zulassen. Die IANA pflegt eine Liste von Codecs und deren Parameter, einschließlich ihrer Taktfrequenzen.
mimeType
-
Ein String, der den MIME-Mediatyp und -Untertyp des Codecs angibt, angegeben als String der Form
"type/subtype"
. Die von RTP verwendeten MIME-Typen unterscheiden sich von denen, die anderswo verwendet werden. Die IANA führt ein Register gültiger MIME-Typen. Siehe auch Codecs, die von WebRTC verwendet werden für Details über potenzielle 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 formatspezifischen Parameter angibt, die in 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 sind in RFC 3550, Abschnitt 5.3.1 beschrieben. Dieser Parameter kann nicht geändert werden, nachdem er initial eingestellt wurde.
rtcp
-
Ein
RTCRtcpParameters
-Objekt, das die Konfigurationsparameter bereitstellt, die für RTCP auf dem Sender oder Empfänger verwendet werden. Dieser Parameter kann nicht geändert werden, nachdem er initial eingestellt wurde. degradationPreference
Veraltet Optional-
Gibt die bevorzugte Vorgehensweise an, wie die WebRTC-Schicht die Bandbreitenoptimierung gegenüber der Qualität in Situationen mit eingeschränkter Bandbreite handhaben sollte. Die möglichen Werte sind
maintain-framerate
,maintain-resolution
oderbalanced
. Der Standardwert istbalanced
.
Beispiele
Dieses Beispiel holt die aktuelle Transaktions-ID des Senders; die Transaktions-ID identifiziert den aktuellen Parametersatz eindeutig, um sicherzustellen, dass Aufrufe von setParameters()
immer in der richtigen Reihenfolge bearbeitet werden und das unbeabsichtigte Überschreiben von Parametern mit älteren Parametern vermieden wird.
function getSenderTransactionID(sender) {
let parameters = sender.getParameters();
return parameters.transactionId;
}
Ähnlich dazu holt dieser Code den kanonischen Namen (CNAME), der für RTCP auf einem RTCRtpSender
verwendet wird.
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
BCD tables only load in the browser