Skip to content
← All posts
Editing · 7 min read ·

How to remove dead air from a screen recording without cutting what people need to read

A still screen isn't automatically wasted time. Here is how to shorten the waits in a screen recording while keeping the consent screens, results and text that viewers actually need.

You recorded the flow in one go, and it's eight minutes long. Most of that is waiting: a page loading, you reading a dialog before clicking, a spinner, a pause while you found the next button. You want it under four minutes. But if you cut too hard, the viewer never sees the screen that proves the thing worked, or the dialog they were supposed to read.

This post covers how to find dead air in a screen recording, how much of it to keep, and the three rules that stop you from cutting the parts people need. The advice works with any editor. At the end we show how DemoTake's footage review does it, with a real example: a Google OAuth review recording cut from 8:02 to 3:58.

Why silence detection doesn't work for screen recordings

Most "remove pauses" features were built for talking-head video. They listen for silence and cut it. A screen recording often has no narration at all, or has narration over a screen that is busy. Silence tells you nothing about whether the picture matters.

The better signal is the picture itself: stretches where the screen doesn't change and nobody clicks, types or scrolls. But that signal has a trap. The screens that don't change for a while are often the important ones:

  • a consent or permission screen the viewer has to read;
  • a confirmation like "You're booked" that proves the flow worked;
  • a settings page with a paragraph of explanation;
  • the final state of a step, which the next step depends on.

So the working rule is this: a static frame is a candidate to inspect, not automatically dead air. Find the still stretches, then decide for each one what it shows before you cut.

How to find the dead air

Scrub the recording at double speed and note every stretch longer than about four seconds where nothing moves. For each one, write down three things: where it starts, where the next change happens, and what is on screen. A spinner, a blank page and a cursor blinking in an empty field are plain waits. Anything with words on it gets a second look.

Watch out for "quiet" stretches too. A spinner, a blinking caret or a clock in the menu bar changes a few pixels, so the screen isn't technically still, but nothing meaningful happens. Treat those like still screens.

Three rules for cutting pauses

1. Shorten, don't delete

Deleting a wait outright makes the video lie a little: the page appears to load instantly, and the viewer loses the moment where the screen changed. Instead, keep the first few seconds of the stretch so the change registers, and keep about a second right before the next change so the transition reads naturally. Remove only the middle.

BEFORE
Delete the whole stretch
  • The page seems to load instantly
  • The viewer misses what changed
  • A cut can land on a screen someone needed to read
AFTER
Shorten it
  • The first seconds play, so the change registers
  • About a second stays before the next change
  • Only the middle is removed
Shortening keeps both edges of a wait. The video stays honest and still gets much shorter.

2. Scale reading time with the text

A screen with a heading and a button needs a few seconds. A screen with a paragraph needs more. A practical rule: allow about two seconds for the viewer to find their place, plus skimming time for the words on screen. Don't count window chrome such as browser tabs and toolbars; nobody reads those. And if the same text-heavy screen shows up a second time, the viewer doesn't need to read it again.

3. Never cut across a result

The moment right after a click that proves something (a success banner, a new row in a list, a passed check) is the payoff of the whole step. Never cut into it, never cut across it, and let the last state of each step stay on screen for a beat before the next one starts. If you're recording for a reviewer, a cut across a result can look like you're hiding something.

What's on screen How much to keep Why
Spinner, blank page, idle cursor A few seconds: the start plus a second before the change Shows that something loaded without making the viewer wait
A lot of text Orientation time plus skimming time People need to read it
Consent or permission screen The most reading time of all Viewers and reviewers need to read the app name and what it asks for
Success or result state Several seconds, never cut into It's the proof the flow worked
End of a step The last moment, untouched The next step starts from it

The real example: 8:02 → 3:58

Here is a Google OAuth review recording made with DemoTake: signing in, Google's consent screen, and the app using the access it asked for. The raw recording was 8:02. Footage review suggested 31 cuts, all 31 were accepted, and the result was 3:58, with every consent screen still on screen long enough to read.

0:002:004:006:008:02
Before · 8:02
LoadingConsentSyncResult
After · 3:58
ConsentResult
ActionSuggested cutKept: reading timeProtected
8:02 → 3:58 · 31 cuts · 0 consent screens lost
Schematic of the same recording before and after. Orange stretches were suggested cuts. Green stretches kept their reading time, and protected moments stayed untouched.

More than half the video was waiting. The consent screens survived because the review treats them as consent screens: it keeps extra reading time for them and flags them for a person to check before anything is accepted.

How DemoTake's footage review works

Footage review looks at four things in each scene: how much of the picture changes (frame differences, measured in quarter-second steps), your clicks, typing and scrolls, the events logged while recording (waits, assertions, checkpoints), and the text on screen. It then applies the three rules above.

  • Candidates. A stretch is a candidate only when the screen barely changes and nobody interacts. A spinner, caret or clock counts as a "waiting screen". Clicks and typing block a short window around them, so a cut never lands on an action.
  • Shorten, not delete. Each suggestion shortens a stretch to keep_seconds (4 seconds by default): the first 3 seconds play, then the last second before the next change (context, 1 second). Only stretches longer than what they would keep are suggested (min_static, 4 seconds by default).
  • Reading time. Text-heavy screens get about 2 seconds plus skimming time for their words, up to 5 seconds with the defaults. Lines that appear on most screens, like browser tabs and sidebars, don't count. A text screen shown again gets no extra time.
  • Protected screens. Consent screens keep 6 to 8 seconds, result screens keep 5, and the last 1.5 seconds of every scene stay. Nothing is cut across an assertion, a checkpoint or a result.
  • needs_review. Consent and result screens, and any suggestion DemoTake is unsure about, are flagged so a person looks first. If the pointer moves during a stretch, the reason says so, in case you were pointing something out.

Reviewing in the editor

Open the Review tab in the editor and click Find Pauses under Tighten Pauses. Each suggestion shows what it found ("Consent screen", "Screen with text", "Waiting screen"), the reason in plain words, how much it saves and how long it keeps. Readable screens carry an eye icon: take a look before accepting. Click Accept or reject each one, or use Accept All, which first tells you the new length ("The cut goes from … to …"). Kept on screen lists the consent screens, results, assertions and checkpoints that stay. Nothing changes until you accept, and every decision can be undone.

For stretches the review didn't flag, drag across the Review lane of the timeline to select a range. Ripple Delete removes it and closes the gap (with Keep context on, half a second stays at each edge). Shorten to keeps the start and the last second and removes the middle. More in Footage review and Pacing and waits.

Letting your agent do it

Agents get the same review through edit_suggest_cuts, and apply the decisions atomically with edit_apply. The call returns an edit_id that edit_revert undoes.

edit_apply
{
  "take_id": "take_01j…",
  "operations": [
    { "op": "accept_suggestions", "ids": ["cut_a1…", "cut_b2…"] },
    { "op": "reject_suggestions", "ids": ["cut_c3…"] }
  ]
}

Accepted cuts are disclosed in the take's proof manifest, so a reviewer can see that unchanged screens were shortened and that each kept its start.

A quick checklist

  • Find stretches over about four seconds where nothing changes and nobody interacts.
  • Read what's on screen before cutting anything.
  • Shorten waits to their first seconds plus a second before the change.
  • Give text time in proportion to its length, and consent screens the most.
  • Never cut into or across a result or the end of a step.
  • Watch the result once at full speed.

If you want to try this on one of your own recordings, download DemoTake and run Find Pauses on a take. Nothing changes until you accept.