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 Oktober 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 am DedicatedWorkerGlobalScope-Objekt eines Workers ausgelöst, wenn ein codierter Video- oder Audioframe zur Verarbeitung durch eine WebRTC Encoded Transform in die Warteschlange gestellt wurde.

Die transformer-Eigenschaft des Ereignisses gibt einen RTCRtpScriptTransformer zurück. Dieser stellt den ReadableStream bereit, in dessen Warteschlange sich der Frame befindet, sowie einen WritableStream, in den der Frame geschrieben werden kann, um ihn wieder in die WebRTC-Verarbeitungskette einzuspeisen.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergereicht.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

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

Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:

js
onrtctransform = (event) => { }

Ereignistyp

Ein RTCTransformEvent. Erbt von Event.

Event RTCTransformEvent

Beispiel

Der folgende Codeausschnitt zeigt einen Handler für das rtctransform-Ereignis im Worker, der mit addEventListener() zum globalen Gültigkeitsbereich hinzugefügt wird. event.transformer ist ein RTCRtpScriptTransformer, das Gegenstück zu RTCRtpScriptTransform auf Worker-Seite.

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 codierter Frame beim RTCRtpScriptTransformer in die Warteschlange gestellt wird, und zwar nur einmal, wenn der zum Transformer gehörende RTCRtpScriptTransformer erstellt wird. Der Code bestimmt zunächst anhand des in den Optionen übergebenen Werts name, welche Transformation angewendet werden soll. Dadurch können RTCRtpScriptTransform-Instanzen, die zur eingehenden und ausgehenden WebRTC-Verarbeitungskette hinzugefügt wurden, denselben Worker verwenden. Anschließend werden die codierten Frames vom lesbaren Stream durch den ausgewählten TransformStream zum beschreibbaren Stream geleitet. Der eigentliche Transformationscode wird nicht gezeigt.

Beachten Sie, dass dieser Code Teil eines ausführlicheren Beispiels unter WebRTC Encoded Transforms verwenden ist.

Spezifikationen

Spezifikation
WebRTC Encoded Transform
# dom-dedicatedworkerglobalscope-onrtctransform

Browser-Kompatibilität

Siehe auch