RTCRtpReceiver: transform Eigenschaft

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Die transform-Eigenschaft des RTCRtpReceiver-Objekts wird verwendet, um einen Transformations-Stream (TransformStream), der in einem Worker-Thread läuft, in die Empfänger-Pipeline einzufügen. Dies ermöglicht es, dass Streaming-Transformationen auf kodierte Video- und Audioframes angewendet werden, sobald sie vom Paketierer eintreffen (bevor sie abgespielt/dargestellt werden).

Die Transformation, die hinzugefügt werden soll, wird unter Verwendung eines RTCRtpScriptTransform und seines zugehörigen Worker definiert. Wenn die Transformation im track event-Handler der Peerverbindung festgelegt wird, erhält der Transformationsstream die ersten vollständigen eingehenden Frames für das Track.

Wert

Ein RTCRtpScriptTransform, oder null, wenn der Empfänger keinen zugeordneten Transformationsstream hat.

Beispiel

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

Hinzufügen einer Transformation für eingehende Frames

Dieses Beispiel zeigt, wie Sie eine WebRTC-kodierte 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 Transformationsstream in die Pipeline für eingehende Frames hinzuzufügen, müssen wir ein RTCRtpScriptTransform konstruieren und es der transform-Eigenschaft des Empfängers zuweisen. Wir können dies im track event-Handler wie gezeigt tun. Dieses Ereignis wird an der Peerverbindung ausgelöst, wann immer 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",
  });
};

Weil die Transformation unmittelbar nach der Erstellung des RTCRtpReceiver konstruiert wird, erhält sie den ersten eingehenden Frame. Das Objekt, das als zweiter Parameter im Konstruktor von RTCRtpScriptTransform übergeben wird, wird an den Worker-Thread gesendet und kann durch Worker-Code 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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
transform

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Siehe auch