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
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, dessenkind
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 entwederenabled
oderdisabled
. 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 sindvery-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 Spur
kind
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 einenRangeError
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 vongetParameters()
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), undFalse
, 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
oderbalanced
. Der Standardwert istbalanced
.
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.
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.
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
Loading…