Headless-Chrome frame stepping beats screen recording for launch videos
To produce a polished dev-tool launch video with zero recording tools: author each scene as HTML/CSS with a window.seek(t) function, drive it frame-by-frame via puppeteer-core (pause all document.getAnimations() and set currentTime, or pure JS positioning), screenshot each frame, assemble per-scene with ffmpeg -framerate, concat with the demuxer after identical re-encodes. 12 scenes at 1080p30 rendered in under 2 min total. Terminal demos become HTML terminal mockups fed with real captured CLI output, which sidesteps VHS entirely (vhs needs ttyd, which has no macOS release binary, and brew can be hard-blocked by an unaccepted Xcode license). For music, a lowpass+volume-duck on the intro that releases at the cut point manufactures a convincing drop on any constant-energy CC track.