Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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.

js
addEventListener("rtctransform", (event) => { })

onrtctransform = (event) => { }

Ereignistyp

Ein RTCTransformEvent. Erbt von Event.

Event RTCTransformEvent

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.

js
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

Browser-Kompatibilität

Siehe auch