RTCEncodedVideoFrame: type property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2023.

Note: This feature is available in Dedicated Web Workers.

The type read-only property of the RTCEncodedVideoFrame interface indicates whether this frame is a key frame or a delta frame.

Value

The type can have one of the following values:

key

This is a "key frame", which contains all the information needed to render an image. It can be decoded without reference to any other frames.

delta

This is a "delta frame", which contains changes to an image relative to some previous frame. The frame cannot be decoded without access to the frame(s) that it references.

Examples

The implementation of a transform() function in a WebRTC Encoded Transform can look at the type and modify the transform code based on whether it is dealing with a key frame or delta frame:

js
const transformer = new TransformStream({
  async transform(encodedFrame, controller) {
    if (encodedFrame.type === "key") {
      // Apply key frame transformation
    } else {
      // Apply delta frame transformation
    }
    controller.enqueue(encodedFrame);
  },
});

Specifications

Specification
WebRTC Encoded Transform
# dom-rtcencodedvideoframe-type

Browser compatibility

See also