demo · v131

multi-monitor mosaic dashboard

The motivating UI for contact centers and trading desks: every monitor on the device rendered as a tile in one frame. Click capture, pick a grid layout, and the page paints one <video> per MediaStreamTrack. The labels match the track.label the OS reports.

policy Needs the MultiScreenCaptureAllowedForUrls enterprise policy + an Isolated Web App context. Without those getAllScreensMedia() rejects with NotAllowedError.
click capture to populate

snapshot

capture a screen before taking a snapshot

the api

const streams = await navigator.mediaDevices.getAllScreensMedia();
for (const stream of streams) {
  const [t] = stream.getVideoTracks();
  const v = document.createElement("video");
  v.srcObject = stream;
  v.autoplay = true; v.muted = true;
  grid.appendChild(v);
}

see also