RTCEncodedVideoFrame: type-Eigenschaft
Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.
Die type
schreibgeschützte Eigenschaft des RTCEncodedVideoFrame
-Interfaces gibt an, ob dieser Frame ein Schlüsselbild (key frame), ein Delta-Bild oder ein leerer Frame ist.
Wert
Der Typ kann einen der folgenden Werte haben:
key
-
Dies ist ein "Schlüsselbild", das alle Informationen enthält, die zum Rendern eines Bildes erforderlich sind. Es kann dekodiert werden, ohne dass auf andere Frames verwiesen wird.
delta
-
Dies ist ein "Delta-Bild", das Änderungen an einem Bild relativ zu einem vorherigen Frame enthält. Der Frame kann nicht dekodiert werden, ohne Zugriff auf den/die referenzierten Frame(s).
empty
-
Dieser Frame enthält keine Daten. Dieser Wert ist unerwartet und kann darauf hinweisen, dass die Transformation einen Verweis auf Frames hält, nachdem sie transformiert und an
RTCRtpScriptTransformer.writable
weitergeleitet wurden (nachdem sie zurück zur Hauptthread-WebRTC-Pipeline transferiert wurden, wird das Frame-Objekt der Workerseite keine Daten enthalten).
Beispiele
Die Implementierung einer transform()
-Funktion in einem WebRTC Encoded Transform kann den type
überprüfen und den Transformationscode anpassen, je nachdem, 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