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

View in English Always switch to English

RTCRtpScriptTransformer: writable-Eigenschaft

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.

Die writable-Schreibgeschützte Eigenschaft der RTCRtpScriptTransformer-Schnittstelle gibt eine WritableStream-Instanz zurück, die als Ziel für kodierte Medienrahmen verwendet werden kann, die in die entsprechende RTCRtpScriptTransformer.readable eingereiht sind.

Wenn der entsprechende RTCRtpScriptTransform in die WebRTC-Sender- und Empfänger-Pipelines eingefügt wird, können kodierte Medienrahmen (RTCEncodedVideoFrame oder RTCEncodedAudioFrame) in die RTCRtpScriptTransformer.readable eingereiht werden. Eine WebRTC-kodierte Transformation kann die Rahmen von readable lesen, sie nach Bedarf ändern und dann zurück in die WebRTC-Pipeline senden, indem sie sie in dieses writable sendet. Eine übliche Methode, um diese Operation auszuführen, besteht darin, die Rahmen durch einen TransformStream zu leiten.

Wert

Ein WritableStream.

Beispiele

Das folgende Beispiel zeigt, wie RTCRtpScriptTransformer.readable durch einen TransformStream zu RTCRtpScriptTransformer.writable geleitet wird.

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);
});

Der Code implementiert einen Handler für das rtctransform-Ereignis, das beim globalen Worker-Objekt ausgelöst wird, wenn der entsprechende RTCRtpScriptTransform erstellt wird und wenn neue Rahmen zur Verarbeitung eingereiht werden. event.transformer ist der RTCRtpScriptTransformer, der die Eigenschaften writable und readable hat.

Ein unterschiedlicher TransformStream wird erstellt, um ausgehende und eingehende Rahmen zu verarbeiten, wobei createSenderTransform() oder createReceiverTransform() verwendet wird (Implementierungen nicht gezeigt). Der Ereignishandler wählt den korrekten Transformationsstrom basierend auf den durch den RTCRtpScriptTransform-Konstruktor übergebenen Optionen aus und weist ihn transform zu.

Der Code ruft ReadableStream.pipeThrough() auf dem readable auf, um kodierte Rahmen durch den ausgewählten TransformStream zu leiten, und dann ReadableStream.pipeTo(), um sie zu RTCRtpScriptTransformer.writable zu leiten.

Spezifikationen

Specification
WebRTC Encoded Transform
# dom-rtcrtpscripttransformer-writable

Browser-Kompatibilität