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: readable-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 schreibgeschützte readable-Eigenschaft der RTCRtpScriptTransformer-Schnittstelle gibt eine ReadableStream-Instanz zurück, die eine Quelle für kodierte Medienframes ist.

Wenn die entsprechende RTCRtpScriptTransform in die WebRTC-Sender- und Empfänger-Pipelines eingefügt ist, kann dieser Stream mit ausgehenden oder eingehenden kodierten Medienframes (RTCEncodedVideoFrame oder RTCEncodedAudioFrame) befüllt werden. Ein WebRTC-kodiertes Transform kann die Frames lesen, nach Bedarf ändern und dann durch Schreiben in RTCRtpScriptTransformer.writable zurück in die WebRTC-Pipeline senden. Eine übliche Methode, um diese Operation auszuführen, besteht darin, die Frames durch einen TransformStream zu leiten.

Wert

Ein ReadableStream.

Beispiele

Das folgende Beispiel zeigt, wie 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 die entsprechende RTCRtpScriptTransform erstellt wird, und wenn neue Frames zur Verarbeitung eingefügt werden. event.transformer ist der RTCRtpScriptTransformer, der über die Eigenschaften readable und writable verfügt.

Ein anderer TransformStream wird erstellt, um ausgehende und eingehende Frames zu verarbeiten, indem entweder createSenderTransform() oder createReceiverTransform() verwendet wird (Implementierungen nicht gezeigt). Der Ereignishandler wählt den korrekten Transform-Stream basierend auf den Optionen, die über den Konstruktor von RTCRtpScriptTransform übergeben werden, aus und ordnet ihn transform zu.

Der Code ruft ReadableStream.pipeThrough() für readable auf, um kodierte Frames 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-readable

Browser-Kompatibilität

Siehe auch