RTCRtpScriptTransform: RTCRtpScriptTransform() Konstruktor
Baseline
2025
Newly available
Since October 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
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
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).
// 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.
// 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
| Specification |
|---|
| WebRTC Encoded Transform> # dom-rtcrtpscripttransform-rtcrtpscripttransform> |