Start free
Blog · Browser Screen Capture Explained

Browser screen capture, explained without the W3C tax.

Every modern browser can record the screen using a built-in API. That has been true since 2016, but most "screen recording" products still ship a Chrome extension or a desktop app for no good reason. Here is what is actually under the hood.

The Screen Capture API

`navigator.mediaDevices.getDisplayMedia({ video: true, audio: true })` returns a `MediaStream` representing whatever the user picked — a screen, a window, or a tab. Permission is per-session and explicit; the browser, not the page, asks the user. There is no way to default the surface choice.

MediaRecorder

Pipe the `MediaStream` into a `new MediaRecorder(stream, { mimeType, timeslice })` and listen for `dataavailable`. Each event fires with a `Blob` chunk of encoded video. With `timeslice = 2000`, you get a chunk every two seconds — small enough to upload incrementally so a long recording starts uploading before it finishes.

Why no extension is required

Both APIs are first-party browser features. There is no privileged DOM access needed; the user picks the source explicitly. An extension only adds value if you need to capture across origins, which most products do not need.

Or skip recording entirely and upload

Not every video starts in the browser. Screendog also accepts uploaded video files (WebM, MP4, MOV) and runs the same transcription and AI notes on them — useful for footage captured on a phone or another tool.

Frequently asked

Why do most products still ship a desktop app?

Mostly inertia from a pre-2017 era when browser support was weaker. The browser path is now strictly better for any product whose recording does not need fancy native effects.

Try Screendog free.

5 recordings on the free trial. Automatic transcripts, AI notes, folders, and shareable links. No credit card.

Start a workspace — free