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
.
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
BCD tables only load in the browser