DedicatedWorkerGlobalScope: rtctransform Ereignis
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.
Hinweis: Diese Funktion ist nur in Dedicated Web Workers verfügbar.
Das rtctransform-Ereignis wird bei einem DedicatedWorkerGlobalScope-Objekt eines Workers ausgelöst, wenn ein codiertes Video- oder Audio-Frame zur Verarbeitung in einer WebRTC Encoded Transform in die Warteschlange gestellt wurde.
Die transformer-Eigenschaft des Ereignisses gibt einen RTCRtpScriptTransformer zurück, welcher den ReadableStream bereitstellt, auf dem das Frame in die Warteschlange gestellt wird, und einen WritableStream, in den das Frame geschrieben werden kann, um es wieder in die WebRTC-Pipeline einzubringen.
Dieses Ereignis kann nicht abgebrochen werden und propagiert nicht.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("rtctransform", (event) => { })
onrtctransform = (event) => { }
Ereignistyp
Ein RTCTransformEvent. Erbt von Event.
Beispiel
Das folgende Code-Snippet zeigt einen Handler für das rtctransform-Ereignis im Worker, der dem globalen Scope mit addEventListener() hinzugefügt wird. Der event.transformer ist ein RTCRtpScriptTransformer, das Pendant auf der Worker-Seite zu RTCRtpScriptTransform.
addEventListener("rtctransform", (event) => {
let transform;
// Select a transform based on passed options
if (event.transformer.options.name === "senderTransform")
transform = createSenderTransform(); // A TransformStream
else if (event.transformer.options.name === "receiverTransform")
transform = createReceiverTransform(); // A TransformStream
else return;
// Pipe frames from the readable to writeable through TransformStream
event.transformer.readable
.pipeThrough(transform)
.pipeTo(event.transformer.writable);
});
Das rtctransform-Ereignis wird ausgelöst, wenn ein codiertes Frame in die Warteschlange des RTCRtpScriptTransformer gestellt wird und einmal, wenn der entsprechende RTCRtpScriptTransformer konstruiert wird. Der Code bestimmt zuerst, welche Transformation angewendet werden soll, indem er den in den Optionen übergebenen name-Wert verwendet (dies ermöglicht, dass RTCRtpScriptTransform-Instanzen, die zu den eingehenden und ausgehenden WebRTC-Pipelines hinzugefügt werden, einen einzigen Worker teilen können). Codierte Bilder werden dann vom lesbaren Stream durch den ausgewählten Transformations-TransformStream](/de/docs/Web/API/TransformStream) zu einem beschreibbaren Stream geleitet. Der eigentliche Transformationscode wird nicht gezeigt.
Beachten Sie, dass dieser Code Teil eines umfassenderen Beispiels ist, das unter Using WebRTC Encoded Transforms bereitgestellt wird.
Spezifikationen
| Spezifikation |
|---|
| WebRTC Encoded Transform> # dom-dedicatedworkerglobalscope-onrtctransform> |