RTCEncodedVideoFrame: type-Eigenschaft
Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.
Die schreibgeschützte type
-Eigenschaft des RTCEncodedVideoFrame
-Interfaces gibt an, ob dieser Frame ein Schlüsselbild, ein Delta-Frame oder ein leerer Frame ist.
Wert
Der Typ kann einen der folgenden Werte annehmen:
key
-
Dies ist ein "Schlüsselbild", das alle Informationen enthält, die zur Darstellung eines Bildes benötigt werden. Es kann ohne Bezugnahme auf andere Frames dekodiert werden.
delta
-
Dies ist ein "Delta-Frame", der Änderungen an einem Bild im Vergleich zu einem vorherigen Frame enthält. Der Frame kann nicht dekodiert werden, ohne Zugriff auf die referenzierten Frames zu haben.
empty
-
Dieser Frame enthält keine Daten. Dieser Wert ist unerwartet und kann darauf hindeuten, dass die Transformation eine Referenz auf Frames hält, nachdem sie transformiert und an
RTCRtpScriptTransformer.writable
übergeben wurden (nachdem das Frame-Objekt zur Haupt-Thread-WebRTC-Pipeline zurückgeschickt wurde, werden keine Daten mehr vorhanden sein).
Beispiele
Die Implementierung einer transform()
-Funktion in einem WebRTC Encoded Transform kann den type
betrachten und den Transformationscode basierend darauf ändern, ob es sich um ein Schlüsselbild oder einen Delta-Frame handelt:
const transformer = new TransformStream({
transform: async (encodedFrame, controller) => {
if (encodedFrame.type === "key") {
// Apply key frame transformation
} else if (encodedFrame.type === "delta") {
// Apply delta frame transformation
} else {
// Empty
// Check transform is not holding reference to frames after processing!
}
controller.enqueue(encodedFrame);
},
});
Spezifikationen
Specification |
---|
WebRTC Encoded Transform # dom-rtcencodedvideoframe-type |
Browser-Kompatibilität
BCD tables only load in the browser