Screen-recording b-roll for app demos: what to record, size, cursor

Rules for screen captures used as cutaways in a product video: real-looking data, output-size or 2x resolution, a slow cursor, one action per clip, and what makes a recording unusable.

SCREEN-RECORDING B-ROLL, the checklist

Before recording
1. Sample data that looks real: names, dates, amounts; no 'test test 123', no lorem ipsum, no empty states unless the empty state is the point.
2. Notifications off, other windows closed, a clean desktop, the browser with no extensions and no bookmarks bar, the app in light or dark mode matching the film.
3. Window size equals the final frame or an integer multiple (1920x1080 or 3840x2160 for 16:9; a phone recorded on the device for 9:16). Non-integer scaling blurs UI text.
4. Frame rate 60 fps if the app animates (scroll, transitions); 30 is enough for static screens.

While recording
5. One action per clip, named by the action (import-tap.mov, export-done.mov). Start 1 s before the action, hold 2 s after the result appears.
6. Cursor: slow, straight lines, a pause of about 0.5 s before each click, no circling. Hide the cursor when the clip is about the result, not the action.
7. Type at a steady pace or paste; real typing with corrections reads as nervous.
8. Never scroll fast. A scroll is a camera move: slow, one direction, stop on the thing.

After
9. Crop to the region that matters (the window, not the desktop) and scale once, to the output size.
10. Check a frame at 100 percent: readable text, no moire from scaling, no private data in a tab title, menu or notification.

Unusable: a cursor that hunts, personal data on screen, a recording smaller than the output frame.

Paste into your assistant as the first message of a new chat; fill the braces first.

Steps

  1. Write the action list from the demo script (one action per row), then record each action as its own clip, in order.
  2. Trim to one second before and two seconds after with a stream copy (`ffmpeg -ss <start> -t <len> -i in.mov -c copy clip.mp4` cuts at keyframes; re-encode only if the cut must be frame-exact).
  3. Lay the clips over the narration as cutaways in silent windows; the result shot gets the longest hold.

Tips

  • On macOS a screen recording often has no audio track; `ffprobe` the file before assuming the system sound is there.
  • A phone demo recorded on the phone and left native 9:16 is the one cutaway that needs no reframing; do not crop a desktop recording to vertical.
works withBy hand: No tool needed: a checklist or a technique. · CapCut / any editor: A manual recipe for any editor. · ffmpeg: A terminal command you run yourself.
costFree. No API, no key.
statusUnverified: written from the technique, not yet run end to end by us.
licenseCC BY 4.0 for the text here; skills are MIT.
updated2026-11-01
for agentsscreen-recording-broll-rules-app-demos.md
#screen-recording#app-demo#b-roll#cursor#resolution#saas

Related

Scripts & shot lists beginner

Screen-recording demo script for an app: what to click, what to say, when

A prompt that writes a demo script where every spoken line is paired with one on-screen action, so the recording is done in one pass and the narration recorded over it afterwards.

Claude CodeClaudeChatGPT
B-roll beginner

A mentioned object must be seen, ideally just before the line about it

The rule that turns 'X is mentioned, never shown' from a viewer complaint into a check you run on the transcript: every named thing gets a shot, placed just before or on the line.

Claude CodeBy handCapCut / any editor
B-roll beginner

From a sentence to five search queries and one generation prompt

A prompt that turns each line needing a cutaway into five queries for your own footage or a stock site, ordered from literal to loose, plus one generation prompt as the fallback when nothing is found.

Claude CodeClaudeChatGPT
B-roll beginner

B-roll shot list from a transcript: the table to film or generate from

An agent prompt that reads a transcript and returns a shot table (timestamp, line, shot, source: have / film / generate) for a camera or a video model, grouped so each location is filmed once.

Claude CodeClaudeChatGPT
B-roll intermediate

Cutaway matching: sentence to a literal visual, same place and time

A prompt that reads each sentence of a transcript and names the one picture that shows it, with the place and time it must come from, so the shot list is a list of things, not moods.

Claude CodeClaudeChatGPT
B-roll beginner

Generated b-roll or real: the decision rule

When a generated cutaway is fine (faceless, no logos, no claim about a real place or time) and when only footage from the same day will do. Five questions, in order, before you open a video model.

Claude CodeVeoKling