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:

js
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

Siehe auch