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

View in English Always switch to English

RTCRtpReceiver: transform-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 transform-Eigenschaft des RTCRtpReceiver-Objekts wird verwendet, um einen Transform-Stream (TransformStream), der in einem Worker-Thread läuft, in die Empfangspipeline einzufügen. Dadurch können Transformationsprozesse auf codierte Video- und Audio-Frames angewendet werden, sobald sie vom Paketizer ankommen (bevor sie abgespielt/gerendert werden).

Die hinzuzufügende Transformation wird mithilfe eines RTCRtpScriptTransform und des zugehörigen Worker definiert. Wenn die Transformation im Handler des track-Ereignisses der Peer-Verbindung gesetzt wird, erhält der Transform-Stream das erste vollständige eingehende Frame für den Track.

Wert

Ein RTCRtpScriptTransform oder null, wenn der Empfänger keinen zugehörigen Transform-Stream hat.

Beispiel

Beachten Sie, dass dies Teil eines größeren Beispiels im Leitfaden-Thema Verwendung von WebRTC codierten Transformationen ist.

Hinzufügen einer Transformation für eingehende Frames

Dieses Beispiel zeigt, wie Sie eine WebRTC-codierte Transformation hinzufügen, um einen eingehenden Stream zu modifizieren. Der Code geht davon aus, dass es eine RTCPeerConnection namens peerConnection gibt, die bereits mit einem entfernten Peer verbunden ist.

Um einen Transform-Stream in die Pipeline für eingehende Frames einzufügen, müssen wir ein RTCRtpScriptTransform konstruieren und es der transform-Eigenschaft des Empfängers zuweisen. Dies können wir im track-Ereignis-Handler wie gezeigt tun. Dieses Ereignis wird auf der Peer-Verbindung ausgelöst, wenn das entfernte Ende einen Track sendet. Die event.receiver-Eigenschaft ist ein RTCRtpReceiver.

js
const worker = new Worker("worker.js");
peerConnection.ontrack = (event) => {
  event.receiver.transform = new RTCRtpScriptTransform(worker, {
    someOption: "receiverTransform",
  });
};

Da die Transformation unmittelbar nach der Erstellung des RTCRtpReceiver konstruiert wird, wird sie das erste eingehende Frame empfangen. Das Objekt, das als zweiter Parameter im Konstruktor des RTCRtpScriptTransform übergeben wird, wird an den Worker-Thread gesendet und kann von Workercode verwendet werden, um eine andere Transformation für die eingehenden Frames bereitzustellen als für die ausgehenden Frames verwendet wird.

Spezifikationen

Specification
WebRTC Encoded Transform
# dom-rtcrtpsender-transform

Browser-Kompatibilität

Siehe auch