RTCRtpScriptTransform: RTCRtpScriptTransform() Konstruktor - Web-APIs | MDN
Baseline
2025
Neu verfügbar
Seit October 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Der RTCRtpScriptTransform() Konstruktor erstellt ein neues RTCRtpScriptTransform-Objekt.
Die Konstruktion des RTCRtpScriptTransform erzeugt einen entsprechenden RTCRtpScriptTransformer im angegebenen Worker, zusammen mit übergebenen Optionen (falls vorhanden). Objekte im dritten Parameter des Konstruktors werden übertragen.
Das rtctransform-Ereignis wird dann im globalen Worker-Objekt ausgelöst. Der Worker-Code kann die event.transformer-Eigenschaft verwenden, um den entsprechenden RTCRtpScriptTransformer zu erhalten, und event.transformer.options wird verwendet, um die Optionen zu erhalten.
Beachten Sie, dass die Optionen hauptsächlich verwendet werden, um den Worker darüber zu informieren, ob der Transformer eingehende oder ausgehende Frames verarbeitet, damit eine geeignete Transformation angewendet werden kann.
Syntax
js
new RTCRtpScriptTransform(worker)
new RTCRtpScriptTransform(worker, options)
new RTCRtpScriptTransform(worker, options, transfer)
Parameter
worker-
Ein
Worker, der Code für einen oder mehrere WebRTC-Transformations-Streams definiert. optionsOptional-
Ein beliebiges Objekt, das im Worker verfügbar gemacht wird. Dies wird meistens verwendet, um den Worker darüber zu informieren, ob er in die WebRTC-Sender- oder Empfänger-Pipeline eingefügt wurde und daher, welche Transformation angewendet werden sollte. Es kann jedoch auch verwendet werden, um jedes andere Objekt zu senden, wie z. B. einen
MessagePortzur dynamischen Kommunikation mit dem Transformer. transferOptional-
Ein optionales Array von übertragbaren Objekten, die an den Worker übertragen werden. Nach der Übertragung sind diese Objekte im Haupt-Thread nicht mehr verwendbar.
Ausnahmen
DataCloneErrorDOMException-
Wird ausgelöst, wenn ein Objekt in
transfernicht übertragen werden kann.
Beispiele
Das erste Beispiel unten zeigt die Konstruktion eines RTCRtpScriptTransform, das dann einem RTCRtpSender.transform zugewiesen wird.
Der Konstruktor nimmt ein optionales Objekt mit der Eigenschaft name und senderTransform.
Der Worker kann diese Option verwenden, um zu verstehen, wann er codierte Frames vom Encoder transformiert (anstatt eingehende Frames vom Paketierer).
js
// Create a worker containing a TransformStream
const worker = new Worker("worker.js");
videoSender.transform = new RTCRtpScriptTransform(worker, {
name: "senderTransform",
});
Jeder Eigenschaftenname und -wert kann in den Optionen verwendet werden, solange sie serialisierbar sind (und übertragen, wenn im letzten Konstruktorparameter spezifiziert).
Der unten stehende Code überträgt den zweiten Port eines MessageChannel an den Worker, was wir tun könnten, um den Transformationscode dynamisch mit (zum Beispiel) einem neuen Verschlüsselungsschlüssel zu aktualisieren.
js
// Create a worker containing a TransformStream
const worker = new Worker("worker.js");
const channel = new MessageChannel();
const transform = new RTCRtpScriptTransform(
worker,
{ purpose: "encrypt", port: channel.port2 },
[channel.port2],
);
Spezifikationen
| Spezifikation |
|---|
| WebRTC Encoded Transform # dom-rtcrtpscripttransform-rtcrtpscripttransform |
Browser-Kompatibilität
Siehe auch
Help improve MDN
Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.