octacam¶
Preview, record, and save synchronized video from many scientific cameras through one fast, simple interface. octacam drives Basler, FLIR / Teledyne, and any GenICam USB3-Vision camera from a live web GUI, and turns a day's recordings into archived videos with one command. It auto-detects the best available driver per camera (a backend cascade) with a pip-installable floor, so it just works on modern Python. It is the successor to SeptaCam.
What it does¶
- Drives many cameras at once — 8 is not the limit despite the name.
- Live web GUI — preview every camera while recording, from the same machine or over SSH.
- Records straight to video — monochrome H.264 (or a raw byte dump), with a per-recording summary that records dropped frames and timing.
- One-command post-processing —
octacam processtranscodes, tiles cameras into composite grid videos, and copies everything to shared storage, all from a config snapshot each recording carries with it. - Opt-in plugins for rig hardware (turntable, 2-photon trigger, configurable camera-trigger + lights box).
Get started¶
- Install — clone the repo and install with uv; Basler works out of the box.
- Quickstart — record your first trial, with or without hardware.
- Configuration — the
octacam_config.tomlreference.
The workflow at a glance¶
# 1. Check the install and validate your rig
octacam doctor <config_dir>
# 2. Preview + record from the web GUI
octacam gui <config_dir> # → http://127.0.0.1:8765
# 3. Transcode, build grid videos, and copy to storage — one command
octacam process --all
octacam record <config_dir> does step 2 headlessly (no browser) for scripted
or remote runs.
Where to next¶
| Guide | |
|---|---|
| Web GUI | Preview, record, and remote operation over SSH |
| Recording | Outputs, the recording summary, transformed vs raw |
| Processing | Transcode, grid videos, and transfer to storage |
| Configuration | The octacam_config.toml reference |
| Camera backends | The auto-detect cascade (Basler → FLIR → Spinnaker → pycameleon) |
| Plugins | Flywheel turntable, 2-photon trigger, and the configurable triggerbox (camera trigger + lights) |
| CLI reference | Every command and option |
| Troubleshooting | Common errors and fixes |