demo · v134

Double-blur warning

The chromestatus explainer leads with one scenario: the user enabled OS-level background blur (macOS Continuity, Windows Studio Effects, ChromeOS), forgot, and is now also asking the meeting app to blur their background — pinning the CPU and producing a worse-looking result. With the new VideoFrameMetadata.backgroundBlur read-only state, the app can detect this and suggest skipping its own blur pass. Below is the actual detection paired with a fake video stream.

probing VideoFrame metadata for backgroundBlur…

Try it

Click start camera (or use the simulated stream if the camera is unavailable), then toggle the app-side blur. The banner reads the OS-side state from track.getCapabilities() / VideoFrameMetadata.backgroundBlur and decides whether double-blur is happening.

click start camera (or the simulator)
backgroundBlur (OS): unknown

Detection only reads existing tracks — the app cannot enable or disable the OS-level blur. The motivation is purely awareness: stop doing redundant work, stop confusing the user.

The code

const track = stream.getVideoTracks()[0];

// One-shot capability check
const caps = track.getCapabilities();
if ('backgroundBlur' in caps) {
  const settings = track.getSettings();
  const blurredByOS = settings.backgroundBlur;
  // ...
}

// Per-frame, via Insertable Streams or requestVideoFrameCallback
videoEl.requestVideoFrameCallback((now, meta) => {
  if (meta.backgroundBlur === true) suggestSkippingAppBlur();
});

see also