CaptureStudio
Turns a terminal recording into PNGs and tells you which seconds are worth one.
Free right now — no account, no card
Preview
1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.
Free while we’re in preview
Get CaptureStudio
Turns a terminal recording into PNGs and tells you which seconds are worth one.
The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.
One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.
Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.
- One file — no installer
- Runs on your machine, offline
- Source code published below
Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, CaptureStudio is included in every plan along with the rest of the range.
You have a seven minute deploy recording and you need the frame where it broke.
capturestudio moments deploy.jsonl replays the cast, scores every burst of screen change, and lists the settle points, which are the frames at the end of a burst once the screen stopped moving. Rank, timestamp, cells changed, how long it then stayed still, and a one-line preview of what changed. Then capturestudio shots deploy.jsonl --auto --count 6 --out-dir frames/ writes those six.
Scoring is logarithmic so a full-screen clear doesn’t outrank every real update by 32x, with a mild bonus for how long the frame lingered. A frame the recording sat on for four seconds was being presented. One overwritten 30ms later was a transient.
It renders in colour, including 256-colour and 24-bit truecolour, straight into the PNG with no quantisation.
Two limits worth knowing before you download it
It does not capture your screen. It reads a SessionForge cast file and draws its own picture of what those bytes meant. No cast, nothing to do.
The embedded font covers U+0020 to U+007E only. A TUI drawn with box-drawing characters comes out as a rectangle of rectangles.
Reading on the job itself
- How to record a terminal session and share it Record the output and its timings rather than the pixels. The result is a fraction of the size, it is text ...
Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams
A working command-line build of the frame renderer: it replays a recording through a real terminal model — wrapping, cursor movement, erase, and colour from 16 through 256 to full truecolour — and draws the result to PNG with a bitmap font compiled into the program. It scores how much changed between frames to suggest the moments worth showing, and can lay the whole recording out as one contact sheet. It renders recordings; capturing the screen is a different job.
Naming status
Working name only — brand verdict **CAUTION** (Medium). Collision: Capture Studio. Prefer a more distinctive coined name.
What it draws on
Existing paid software whose best ideas shaped this program: Bandicam, Snagit, FastStone Capture, Action! Screen Recorder.
Command line
There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.
capturestudio - still frames and moment finding for terminal recordings
(Techlosoft Remote Ops Workspace)
USAGE
capturestudio moments <cast.jsonl> [--count N] [--quiet S] [--json]
capturestudio shot <cast.jsonl> --at T --out frame.png [render flags]
capturestudio shots <cast.jsonl> --auto [--count N] --out-dir DIR
capturestudio shots <cast.jsonl> --at T [--at T ...] --out-dir DIR
capturestudio contact-sheet <cast.jsonl> --out sheet.png [--count N]
capturestudio info <cast.jsonl> [--json]
capturestudio help | -h | --help | version
COMMANDS
moments Replay the cast, score every burst of screen change, and list
the settle points worth capturing: timestamp, score and a
one-line preview of what changed. Writes no files.
shot Reconstruct the screen at one timestamp and write it as a PNG.
shots Write several PNGs at once: --auto picks the timestamps using
moment finding, or give explicit --at times.
contact-sheet One PNG holding a numbered grid of thumbnails that summarises
the whole recording.
info Cast header, event count, duration, byte totals, and what the
terminal emulator could not render.
TIMESTAMPS
--at accepts seconds (12.5), seconds with a suffix (12.5s), a percentage of
the recording (50%), or the words start and end. Commas separate several
times in one flag: --at 0,25%,end
RENDER FLAGS (shot, shots, contact-sheet)
--scale N integer magnification, 1-32. Default 2 for shot/shots.
--theme NAME dark (default) or light.
--pad N border around the grid, in unscaled pixels. Default 8.
--cols N override the grid width from the cast header.
--rows N override the grid height from the cast header.
--force overwrite an output file that already exists.
OTHER FLAGS
--count N how many moments to list or frames to write.
--quiet S seconds of stillness that end a burst of change. Default 0.25.
...
Recorded from the shipped binary, not written by hand.
Source
Every file the program is built from:
cast.go · console.go · console_test.go · font.go · fontgen.go · guided.go · main.go · main_test.go · moments.go · render.go · term.go
SHA-256 checksums · build instructions & scope notes · full build plan