Command line
reel [run] <reel> [--profile <name> ...] [--events <path>]
reel record <reel> [--events <path>]
reel render <reel> [--profile <name> ...] [--events <path>]
reel check <reel> [--profile <name> ...]
reel profiles [<reel>]
reel doctor
| Command | |
|---|---|
reel <reel>, reel run <reel> |
Records the reel, then renders every output. Every profile it will render is read first, so a mistake stops it before recording. |
reel record <reel> |
Only records the take, into .reel/<reel name>/ next to the reel. |
reel render <reel> |
Only renders the outputs from the last take. Refused when an action in the reel has changed since. |
reel check <reel> |
Reads the reel and says what it would do: what it opens, the narration, its actions and captions, and every file it would write, for each profile. Records nothing. |
reel profiles [<reel>] |
The built-in profiles and what each sets; with a reel, its profiles too, with where each setting comes from. |
reel doctor |
Whether Screen Recording and Accessibility are granted (it doesn't ask), and which browser Set Browser chromium would use. |
reel --version |
The version. |
--profile renders only some profiles: repeat it, or separate names with commas (--profile github,social). A reel
that lists its profiles (Set Profiles) renders only from among them.
Rendering says what it is doing as it goes, a line before each pass, then where it wrote each output:
profile web
rendering the take
framing it at 16:10
adding the intro and outro
encoding musicbox-web.mp4
wrote docs/media/musicbox-web.mp4 (12.2 MB, H.264 1920x1256, 30 fps, quality 60)
drawing musicbox-web.gif
wrote docs/media/musicbox-web.gif (412 frames of 1500 sampled, 9.9 MB)
run, record and render say what they are doing as they do it, one JSON object per line: the run starting, each
scene, each step starting and ending ("index": 3, "count": 14), capture starting (the part of the screen recorded,
in global points) and ending, each pass of the render with its profile, Output and how far along it is
("fraction": 0.42; draw, render, frame, join, tracks, encode, gif, with attempt when a pass is
redone to fit MaxSize), each file written, every line printed, and the run ending or failing.
{"at":1793605741592,"count":4,"index":2,"kind":"step","line":8,"phase":"start","pid":23726,"source":"Go line 2"}
{"at":1793605742669,"kind":"pass","pass":{"attempt":1,"fraction":0.5,"name":"encode","output":"demo-github.mp4","profile":"github"},"pid":23726}
Every run writes them to ~/Library/Application Support/reel/runs/<pid>.jsonl, where the companion app reads them;
--events <path> also writes them to that file, and --events - to standard error. A track of a reel of tracks adds "track". What is printed is the same
either way, and nothing reads the events back: they never change what a run does.
Warnings, such as a relative path that leads out of the git repository, go to standard error. Exit status is non-zero on any error, with the line it was on.
.reel/<reel name>/ holds the take and what rendering derives from it:
| File | |
|---|---|
take.mov |
The recording: the window and its sound. |
take.json |
The window's size and scale, and when each step ran. |
voice/ |
Each narrated line, voiced and cached. |
edit.json |
What of the take was kept, and how fast. |
Add .reel/ to your .gitignore.