Recordings & retention
Fregata can record continuously, only when something happens
(motion, an object detection, an “alert” event), or some mix of the
two. The behavior is configured per-camera in config.yml and the
data lands under ~/Fregata/media/ by default.
Two kinds of recording
Section titled “Two kinds of recording”- Continuous recording lives under
recordings/— segmented MP4s that cover the full timeline. Disk-hungry but invaluable when something happens between triggers. - Event clips live under
clips/— short MP4s tied to a detection event (a person walked through the front-porch zone, a car pulled into the driveway). Cheap to keep for a long time.
The web UI’s Review tab is built on event clips; the Recordings tab plays continuous segments. Both work even when detection is paused.
Configuring per-camera
Section titled “Configuring per-camera”Recording is configured per-camera in config.yml under the
record: and snapshots: blocks — same schema as upstream
Frigate, no macOS-specific keys.
The full reference (continuous vs. motion-only retention, event clip rules, snapshot quality, copy-vs-re-encode) lives in Frigate’s recording docs. We don’t mirror it here; the upstream docs stay current with every Frigate release.
Disk budgeting
Section titled “Disk budgeting”A rough rule of thumb for an H.264 1080p main-stream camera at 15 fps and a sane bitrate:
| Mode | ≈ per camera per day | 14-day retention |
|---|---|---|
| Continuous, all segments | 25–40 GB | 350–560 GB |
mode: motion (typical street) | 4–10 GB | 60–140 GB |
mode: motion (low-traffic) | 1–3 GB | 15–40 GB |
| Event clips only | 0.1–0.5 GB | 1–7 GB |
HEVC (H.265) cuts roughly 30–40 % off these numbers if your camera
encodes it. On Apple Silicon, encoding event clips with
hevc_videotoolbox is essentially free — see
Performance.
Where recordings land
Section titled “Where recordings land”~/Fregata/media/├── recordings/<camera>/<YYYY-MM-DD>/<HH>/<MM.SS>.mp4├── clips/<camera>-<event-id>.mp4├── clips/thumbs/ # event thumbnails (jpg)├── clips/triggers/ # synthetic clips for trigger pipeline└── exports/ # user-initiated exportsThe path layout is the same as upstream Frigate. If you’ve been running Frigate in Docker before, the Recordings tab and your file shape will be familiar.
Changing the media location
Section titled “Changing the media location”Tray menu — Settings → Folders → Change Media Location… Pick a new folder. Fregata will move the existing files on next launch, or let you move them yourself.
The destination should be on large enough disk to store all the recordings you wish to keep. External USB drives or NAS network shares are common.
Pruning by hand
Section titled “Pruning by hand”Fregata prunes on a 24-hour cycle. To reclaim space immediately:
# Drop everything older than 7 days right now.find ~/Fregata/media/recordings -type f -mtime +7 -delete
# Then trigger Frigate's index cleanup the same way it would on its# next prune cycle, via Fregata's loopback API port (5000 — plain HTTP# and unauthenticated, localhost-only; the main port 8971 is HTTPS +# login-protected):curl -X POST http://127.0.0.1:5000/api/recordings/cleanupThe first command frees the disk; the second updates the SQLite index so the web UI doesn’t show ghost segments.
TimeLapse / hyperlapse exports
Section titled “TimeLapse / hyperlapse exports”The web UI’s Recordings tab has an Export button — pick a time
range, optionally apply a speed multiplier, and Fregata renders an
MP4 to ~/Fregata/media/exports/. Encoding is hardware-accelerated
on the dedicated media engine, so a multi-hour timelapse usually
finishes in less time than the source footage’s running time.