Configuration
Fregata’s configuration is upstream Frigate’s config.yml, with a
small set of macOS-specific defaults and one new detector type.
This page is the index of the schema, calling out what’s
different on macOS. The full key-by-key reference lives in the
Frigate documentation,
which we mirror almost entirely.
For a complete, ready-to-edit starter config with detection, recording, snapshots, and live view already enabled, see Add your first camera.
File location
Section titled “File location”~/Fregata/config/config.ymlThe location is overridable in Settings → Folders → Change Config
Location…. The launcher writes the chosen path into UserDefaults
and exposes it as FRIGATE_CONFIG_DIR to the Python core.
Detectors — coreml only
Section titled “Detectors — coreml only”Fregata ships a single detector type. The fields below are the ones specific to it; the model sub-block follows the standard Frigate shape.
detectors: coreml: type: coreml inference_backend: ane # "ane" (default) | "gpu"
model: path: <optional> # filesystem path or plus://<id>; default = bundled model_type: yolo-generic # yolo-generic | yolox | yolonas | dfine | rfdetr width: 320 height: 320 input_tensor: nchw input_pixel_format: rgb input_dtype: float labelmap_path: <optional> # default = COCO labelsmodel: is its own top-level block, peer to detectors: —
matches Frigate’s documented convention. The model file path
goes inside this block as model.path. (The Pydantic schema
also accepts per-detector overrides under
detectors.<name>.model and detectors.<name>.model_path, but
those are only useful in multi-detector setups where each
detector runs a different model. For Fregata’s single-detector
default, the top-level form is what you want.)
See Detection tuning for the practical guide to swapping models, choosing a backend, and tuning thresholds.
FFmpeg defaults
Section titled “FFmpeg defaults”Fregata’s macOS ffmpeg presets use VideoToolbox out of the box:
| Pipeline | Default | Notes |
|---|---|---|
| Input decode | -hwaccel videotoolbox | Applied to every stream input. |
| Recording encode | h264_videotoolbox -allow_sw 1 -realtime 1 -g 50 -profile:v high | -allow_sw 1 is a software fallback safety net. |
| RTSP re-stream | h264_videotoolbox -allow_sw 1 -profile:v high | Used by go2rtc. |
| Preview snapshot | h264_videotoolbox -allow_sw 1 | Used for hourly thumbnails. |
You can override any preset via ffmpeg.output_args in your
config.yml exactly as on Linux Frigate. The presets are macros;
the underlying Frigate ffmpeg command-line is unchanged.
Adaptive transcoding — adaptive_transcoding:
Section titled “Adaptive transcoding — adaptive_transcoding:”A Fregata-exclusive top-level block — not read by upstream Frigate-on-Docker. All keys
default to off; no cameras are affected until you explicitly set enabled: true.
# Global defaults (applied to every camera unless overridden)adaptive_transcoding: enabled: false # recordings ABR, per-camera or global live: false # live view rungs (separate opt-in) lan_networks: # clients here receive the source stream, not the ladder - "127.0.0.0/8" - "10.0.0.0/8" - "172.16.0.0/12" - "192.168.0.0/16" rungs: - { height: 1080, bitrate: 4000, name: high } - { height: 720, bitrate: 1500, name: medium } - { height: 360, bitrate: 600, name: low }
# Per-camera overridecameras: my_camera: adaptive_transcoding: enabled: true live: trueResource fields (lan_networks) are honored only at the global level — not
per-camera — because a single Media Engine backs every transcode.
See Adaptive transcoding for the full field-by-field reference, hardware requirements, VPN/Tailscale notes, and debugging tips.
Reloading config
Section titled “Reloading config”If you modify config.yml restart Frigate after making changes:
Click Restart Frigate in the tray or Save & Restart in the Frigate Web UI Configuation Editor.