VideoFrame: flip property

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Note: This feature is available in Dedicated Web Workers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The flip property of the VideoFrame interface returns a boolean that indicates whether the VideoFrame is horizontally mirrored.

Value

A boolean. If true, horizontal mirroring is applied. Defaults to false.

Examples

Detecting when a camera video is flipped

Given a stream of video frames from a camera, obtained using a MediaStreamTrackProcessor, you can check the flip property on the VideoFrame objects to see whether or not the frames are flipped.

js
const stream = await navigator.mediaDevices.getUserMedia({ video: true });
const track = stream.getTracks()[0];

const trackProcessor = new MediaStreamTrackProcessor(track);

const reader = trackProcessor.readable.getReader();
while (true) {
  const result = await reader.read();
  if (result.done) break;
  const frameFromCamera = result.value;
  // Returns `true` if the frame is horizontally flipped
  console.log(frameFromCamera.flip);
}

Specifications

Specification
WebCodecs
# dom-videoframe-flip

Browser compatibility