Commands reference#
By typing cinematein the Raspberry Pi CLI we can start Cinemate manually. This will stop any autostarted instance of Cinemate, show the camera startup sequence and provide the Cinemate "pseudo CLI" where can type commands for changing the camera controls and also to start and stop recording.
These commands can also be sent to the Pi as serial via the Tx/Rx pins or via USB. This can be useful for creating external controllers.
Commands without an explicit argument toggle the current state when possible (e.g. set fps lock flips the lock; set fps lock 1 forces it on).
All of the commands below can be mapped to GPIO buttons, rotary encoders and other input devices. See this section for how to configure the settings file.
| Command | Argument | Example | Function |
|---|---|---|---|
rec / stop |
[cam0\|cam1\|both] [s <seconds>\|f <frames>] |
rec cam1 f 48 |
Toggle recording or schedule an automatic stop after a timed duration or frame count; optional leading camera token forces which sensor(s) record on a dual rig |
set iso <value> |
int | set iso 800 |
Set ISO to nearest allowed step |
inc iso / dec iso |
- | Step ISO up or down | |
set shutter a <angle> |
float | set shutter a 180 |
Set actual shutter angle (snaps unless free/sync) |
inc shutter a / dec shutter a |
- | Cycle through shutter angles | |
set shutter a nom <angle> |
float | set shutter a nom 180 |
Set nominal shutter angle for motion blur |
inc shutter a nom / dec shutter a nom |
- | Step the nominal shutter angle | |
set fps <value> |
float | set fps 24 |
Change frame rate (snaps unless free) |
inc fps / dec fps |
- | Step through FPS list | |
set wb [<Kelvin>] |
int or none | set wb 5600 |
Set white balance or cycle active WB steps |
inc wb / dec wb |
- | Step white balance; 100 K steps in free mode | |
set resolution [<mode>] |
int or none | set resolution 2 |
Apply or cycle sensor mode |
set anamorphic factor [<float>] |
float or none | set anamorphic factor 1.33 |
Set or toggle anamorphic stretch |
set zoom [<float>] |
float or none | set zoom 2 |
Change digital zoom; omit to cycle |
inc zoom / dec zoom |
- | Step preview zoom factor | |
set preview [cam0\|cam1\|both\|pip_cam0\|pip_cam1] |
text or none | set preview pip_cam0 |
Dual-sensor HDMI source: full-screen, side-by-side, or picture-in-picture (one sensor with the other as a corner inset); omit to cycle |
mount / unmount |
- | Mount or unmount external storage | |
toggle mount |
- | Mount if not mounted, otherwise unmount | |
erase |
- | erase |
Delete every clip on the mounted RAW volume without reformatting |
format |
[ext4\|exfat\|ntfs] |
format exfat |
Reformat the RAW drive (defaults to exfat) and remount it |
storage preroll |
- | storage preroll |
Run the storage warm-up recording that prepares the media |
time |
- | Show system and RTC time | |
set rtc time |
- | Copy system time to the RTC | |
space |
- | Report remaining SSD space | |
get |
- | Print all current settings (Redis keys in cp_controls channel) | |
set shutter a sync [0/1] |
0/1 or none | set shutter a sync 1 |
Enable exposure sync mode |
set iso lock [0/1] |
0/1 or none | Lock or unlock ISO setting | |
set shutter a nom lock [0/1] |
0/1 or none | set shutter a nom lock |
Lock or unlock nominal shutter |
set shutter a nom fps lock [0/1] |
0/1 or none | set shutter a nom fps lock 1 |
Lock nominal shutter and FPS together |
set fps lock [0/1] |
0/1 or none | set fps lock 1 |
Lock or unlock the frame rate |
set all lock [0/1] |
0/1 or none | set all lock 0 |
Toggle all exposure locks at once |
set fps double [0/1] |
0/1 or none | Instant or toggled 2× FPS mode | |
reboot / shutdown |
- | Safely reboot or halt the Pi | |
restart camera |
- | ` | Restart the libcamera pipeline |
restart cinemate |
- | Restart the Cinemate process | |
set iso free [0/1] |
0/1 or none | set iso free 1 |
Allow any ISO instead of presets |
set shutter a free [0/1] |
0/1 or none | set shutter a free 0 |
Allow any shutter angle |
set fps free [0/1] |
0/1 or none | set fps free 1 |
Allow any FPS |
set wb free [0/1] |
0/1 or none | set wb free |
Use 100 K WB steps from 2800 K to 6500 K |
set filter <0/1> |
0/1 | set filter 1 |
Toggle IR-cut filter (IMX585) |
Timed recording shortcuts#
Use the timed modes to walk away from the camera while it captures a precisely bounded take.
rec s <seconds>stops after the requested duration. Short forms such assec,secsandsecondsalso work.rec f <frames>stops after the requested number of frame slots at the locked record-start FPS. Dropped frames still count toward that limit, so the take ends when that many frames should have been recorded, not when that many DNGs were successfully written. You can typeframeorframesinstead off.
If recording is not already running, the CLI starts it before arming the timer. An invalid or zero value is ignored so you cannot accidentally stop a clip immediately.
On a dual-sensor rig you can prepend a camera token — cam0, cam1, or both (dual is an alias) — to force which sensor(s) capture the take, overriding the record policy for that one clip. It combines with the timed modes: rec cam1, rec cam0 s 10, rec both f 48. With a single sensor the token has no effect.
Storage maintenance commands#
erase and format prepare removable media directly from the CLI. Both require the RAW drive to be mounted; otherwise the CLI reports an error and leaves the media untouched.
eraseempties the mounted RAW volume without touching the filesystem structure, so you can clear cards quickly between takes.format [ext4|exfat|ntfs]reformats the drive with the chosen filesystem (exfatby default), remounts it and refreshes the free-space monitor.
Storage pre-roll warm-up#
storage preroll triggers the same warm-up clip that Cinemate runs automatically on startup or when you mount new storage. During the pre-roll, Cinemate temporarily drives the sensor at its maximum FPS, records a short burst, waits for buffers to flush and removes the test clip so the media is primed for the next real take. The manual command stays available even when settings.auto_storage_preroll is set to false in settings.json.
See Storage pre-roll warm-up for a detailed walkthrough of the workflow and tips on when to run it manually.