Files
frigate_w_audio/frigate_config/config.yml
T
2026-04-25 11:06:10 -04:00

203 lines
5.5 KiB
YAML

##############################################################################
# Frigate 0.17 production config
#
# - Main stream (2688x1520) used for detect + record on each camera
# (better face crops at distance, higher CPU)
# - Face recognition + LPR enabled (small models, CPU-friendly)
# - MQTT enabled for frigate-notify push events
#
# An alternate lower-CPU config that uses the sub-stream for detect lives at
# frigate_config/alternatives/config-simple.yml. To swap:
# cp frigate_config/config.yml frigate_config/config.yml.bak
# cp frigate_config/alternatives/config-simple.yml frigate_config/config.yml
# docker compose restart frigate
#
# Validate before restart:
# docker run --rm \
# -v $(pwd)/frigate_config/config.yml:/config/config.yml \
# --entrypoint python3 \
# ghcr.io/blakeblackshear/frigate:0.17.1 \
# -u -m frigate --validate-config
##############################################################################
version: 0.17-0
mqtt:
enabled: true
host: mosquitto
port: 1883
user: "{FRIGATE_MQTT_USER}"
password: "{FRIGATE_MQTT_PASSWORD}"
topic_prefix: frigate
client_id: frigate
stats_interval: 60
tls:
enabled: false
audio:
enabled: false # flip on when a mic-equipped camera arrives
detectors:
coral:
type: edgetpu
device: usb
birdseye:
mode: continuous
semantic_search:
enabled: false
model_size: small
face_recognition:
enabled: true
model_size: small
lpr:
enabled: true
model_size: small
# known_plates:
# owner:
# - "ABC-1234"
classification:
bird:
enabled: false
objects:
track:
- person
# ---------- global record defaults (0.17 schema) ----------
record:
enabled: true
continuous:
days: 0
motion:
days: 10
alerts:
retain:
days: 360
mode: motion
detections:
retain:
days: 360
mode: motion
snapshots:
enabled: true
bounding_box: true
crop: true
retain:
default: 360
# ---------- go2rtc: restream from cameras ----------
go2rtc:
streams:
front_door:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@{FRIGATE_FRONT_DOOR_IP}:554/cam/realmonitor?channel=1&subtype=0#backchannel=0
front_door_sub:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@{FRIGATE_FRONT_DOOR_IP}:554/cam/realmonitor?channel=1&subtype=1#backchannel=0
back_door:
- rtsp://{FRIGATE_RTSP_USER1}:{FRIGATE_RTSP_PASSWORD1}@{FRIGATE_BACK_DOOR_IP}:554/cam/realmonitor?channel=1&subtype=0#backchannel=0
back_door_sub:
- rtsp://{FRIGATE_RTSP_USER1}:{FRIGATE_RTSP_PASSWORD1}@{FRIGATE_BACK_DOOR_IP}:554/cam/realmonitor?channel=1&subtype=1#backchannel=0
squirrel:
- rtsp://{FRIGATE_RTSP_USER2}:{FRIGATE_RTSP_PASSWORD2}@{FRIGATE_SQUIRREL_IP}:554/cam/realmonitor?channel=1&subtype=0#backchannel=0
squirrel_sub:
- rtsp://{FRIGATE_RTSP_USER2}:{FRIGATE_RTSP_PASSWORD2}@{FRIGATE_SQUIRREL_IP}:554/cam/realmonitor?channel=1&subtype=1#backchannel=0
# ---------- cameras ----------
cameras:
front_door:
enabled: true
ffmpeg:
inputs:
# Main stream used for both detect and record. Single connection,
# higher resolution -> better face recognition crops.
- path: rtsp://127.0.0.1:8554/front_door
input_args: preset-rtsp-restream
roles:
- detect
- record
detect:
enabled: true
width: 2688 # adjust if your main stream is different
height: 1520
fps: 5 # detection doesn't need high fps; saves CPU
motion:
mask:
- 0.582,0.426,0.582,0.476,0.989,0.534,0.994,0.467
- 0.984,0.614,0.513,0.99,0.991,0.996
- 0.001,0.163,0.085,0.165,0.095,0.255,0.003,0.263
back_door:
enabled: false
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/back_door
input_args: preset-rtsp-restream
roles:
- detect
- record
detect:
enabled: true
width: 2688
height: 1520
fps: 5
squirrel:
enabled: false
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/squirrel
input_args: preset-rtsp-restream
roles:
- detect
- record
detect:
enabled: true
width: 2688
height: 1520
fps: 5
##############################################################################
# HOW TO ADD A CAMERA WITH A MIC (e.g., future Anpviz)
#
# 1. Set audio.enabled: true at the top of this file.
#
# 2. In go2rtc.streams, add the ffmpeg audio transcode line so live view
# has both AAC (for MSE) and opus (for WebRTC):
# anpviz:
# - rtsp://{FRIGATE_RTSP_USER3}:{FRIGATE_RTSP_PASSWORD3}@{FRIGATE_ANPVIZ_IP}:554/...#backchannel=0
# - "ffmpeg:anpviz#audio=aac#audio=opus"
#
# 3. In cameras, add the 'audio' role and set the audio-aware record preset:
# anpviz:
# enabled: true
# ffmpeg:
# output_args:
# record: preset-record-generic-audio-aac
# inputs:
# - path: rtsp://127.0.0.1:8554/anpviz
# input_args: preset-rtsp-restream
# roles:
# - detect
# - record
# - audio
#
# 4. Add FRIGATE_RTSP_USER3 / _PASSWORD3 / FRIGATE_ANPVIZ_IP to .env.
#
# 5. RTSP paths vary by vendor:
# Anpviz H-series (Hikvision OEM): /Streaming/Channels/101 (main), /102 (sub)
# Anpviz U-series (Dahua OEM): /cam/realmonitor?channel=1&subtype=0 (main)
# /cam/realmonitor?channel=1&subtype=1 (sub)
##############################################################################