2021-01-20 16:26:49 -08:00
---
id : index
2023-07-30 17:29:50 -06:00
title : Frigate Configuration Reference
2021-01-20 16:26:49 -08:00
---
2023-04-23 13:35:40 -03:00
For Home Assistant Addon installations, the config file needs to be in the root of your Home Assistant config directory (same location as `configuration.yaml` ). It can be named `frigate.yaml` or `frigate.yml` , but if both files exist `frigate.yaml` will be preferred and `frigate.yml` will be ignored.
2021-04-07 19:38:20 +01:00
2021-09-12 14:48:21 -05:00
For all other installation types, the config file should be mapped to `/config/config.yml` inside the container.
2021-01-20 16:26:49 -08:00
2022-12-18 00:57:18 +01:00
It is recommended to start with a minimal configuration and add to it as described in [this guide ](../guides/getting_started.md ):
2021-01-20 16:26:49 -08:00
```yaml
mqtt :
host : mqtt.server.com
cameras :
back :
ffmpeg :
inputs :
- path : rtsp://viewer:{FRIGATE_RTSP_PASSWORD}@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
roles :
- detect
```
2022-05-29 08:48:55 -06:00
### VSCode Configuration Schema
2023-01-13 10:18:15 -03:00
VSCode (and VSCode addon) supports the JSON schemas which will automatically validate the config. This can be added by adding `# yaml-language-server: $schema=http://frigate_host:5000/api/config/schema.json` to the top of the config file. `frigate_host` being the IP address of Frigate or `ccab4aaf-frigate` if running in the addon.
2022-05-29 08:48:55 -06:00
2021-09-12 14:48:21 -05:00
### Full configuration reference:
2021-01-20 16:26:49 -08:00
2021-09-12 14:48:21 -05:00
:::caution
It is not recommended to copy this full configuration file. Only specify values that are different from the defaults. Configuration options and default values may change in future versions.
:::
2021-01-20 16:26:49 -08:00
2023-03-07 07:28:51 -05:00
**Note:** The following values will be replaced at runtime by using environment variables
- `{FRIGATE_MQTT_USER}`
- `{FRIGATE_MQTT_PASSWORD}`
- `{FRIGATE_RTSP_USER}`
- `{FRIGATE_RTSP_PASSWORD}`
for example:
2023-03-14 08:51:09 -05:00
2023-03-07 07:28:51 -05:00
```yaml
mqtt :
user : "{FRIGATE_MQTT_USER}"
password : "{FRIGATE_MQTT_PASSWORD}"
```
2023-03-14 08:51:09 -05:00
2023-03-07 07:28:51 -05:00
```yaml
- path : rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@10.0.10.10:8554/unicast
```
2023-04-26 05:08:53 -06:00
```yaml
onvif :
host : 10.0.10.10
port : 8000
user : "{FRIGATE_RTSP_USER}"
password : "{FRIGATE_RTSP_PASSWORD}"
```
2021-01-20 16:26:49 -08:00
```yaml
mqtt :
2022-11-23 19:03:20 -07:00
# Optional: Enable mqtt server (default: shown below)
enabled : True
2021-01-20 16:26:49 -08:00
# Required: host name
host : mqtt.server.com
# Optional: port (default: shown below)
port : 1883
# Optional: topic prefix (default: shown below)
2021-09-12 14:48:21 -05:00
# NOTE: must be unique if you are running multiple instances
2021-01-20 16:26:49 -08:00
topic_prefix : frigate
# Optional: client id (default: shown below)
2021-09-12 14:48:21 -05:00
# NOTE: must be unique if you are running multiple instances
2021-01-20 16:26:49 -08:00
client_id : frigate
# Optional: user
2023-01-07 18:10:48 -05:00
# NOTE: MQTT user can be specified with an environment variables that must begin with 'FRIGATE_'.
# e.g. user: '{FRIGATE_MQTT_USER}'
2021-01-20 16:26:49 -08:00
user : mqtt_user
# Optional: password
2021-10-23 15:15:44 +10:00
# NOTE: MQTT password can be specified with an environment variables that must begin with 'FRIGATE_'.
# e.g. password: '{FRIGATE_MQTT_PASSWORD}'
2021-01-20 16:26:49 -08:00
password : password
2021-06-06 00:52:50 +02:00
# Optional: tls_ca_certs for enabling TLS using self-signed certs (default: None)
tls_ca_certs : /path/to/ca.crt
# Optional: tls_client_cert and tls_client key in order to use self-signed client
# certificates (default: None)
# NOTE: certificate must not be password-protected
# do not set user and password when using a client certificate
tls_client_cert : /path/to/client.crt
tls_client_key : /path/to/client.key
# Optional: tls_insecure (true/false) for enabling TLS verification of
# the server hostname in the server certificate (default: None)
tls_insecure : false
2021-01-20 16:26:49 -08:00
# Optional: interval in seconds for publishing stats (default: shown below)
stats_interval : 60
2021-09-12 14:48:21 -05:00
# Optional: Detectors configuration. Defaults to a single CPU detector
detectors :
# Required: name of the detector
2022-12-15 07:12:52 -06:00
detector_name :
2021-09-12 14:48:21 -05:00
# Required: type of the detector
2023-07-26 06:50:41 -04:00
# Frigate provided types include 'cpu', 'edgetpu', 'openvino' and 'tensorrt' (default: shown below)
2022-12-15 07:12:52 -06:00
# Additional detector types can also be plugged in.
# Detectors may require additional configuration.
# Refer to the Detectors configuration page for more information.
type : cpu
2021-01-20 16:26:49 -08:00
2021-09-12 14:48:21 -05:00
# Optional: Database configuration
2021-07-10 19:45:00 -04:00
database :
# The path to store the SQLite DB (default: shown below)
2023-04-23 13:35:40 -03:00
path : /config/frigate.db
2021-07-10 19:45:00 -04:00
# Optional: model modifications
model :
2021-09-12 14:48:21 -05:00
# Optional: path to the model (default: automatic based on detector)
path : /edgetpu_model.tflite
# Optional: path to the labelmap (default: shown below)
labelmap_path : /labelmap.txt
2021-07-10 19:45:00 -04:00
# Required: Object detection model input width (default: shown below)
width : 320
# Required: Object detection model input height (default: shown below)
height : 320
2022-11-03 22:23:09 -04:00
# Optional: Object detection model input colorspace
# Valid values are rgb, bgr, or yuv. (default: shown below)
input_pixel_format : rgb
# Optional: Object detection model input tensor format
# Valid values are nhwc or nchw (default: shown below)
2022-12-03 11:19:34 -05:00
input_tensor : nhwc
2023-02-03 17:36:37 -08:00
# Optional: Object detection model type, currently only used with the OpenVINO detector
2023-02-19 05:39:47 -08:00
# Valid values are ssd, yolox, yolov5, or yolov8 (default: shown below)
2023-02-03 17:36:37 -08:00
model_type : ssd
2021-09-12 14:48:21 -05:00
# Optional: Label name modifications. These are merged into the standard labelmap.
2021-07-10 19:45:00 -04:00
labelmap :
2021-09-12 14:48:21 -05:00
2 : vehicle
2021-07-10 19:45:00 -04:00
2023-07-01 07:18:33 -06:00
# Optional: Audio Events Configuration
# NOTE: Can be overridden at the camera level
audio :
# Optional: Enable audio events (default: shown below)
enabled : False
# Optional: Configure the amount of seconds without detected audio to end the event (default: shown below)
max_not_heard : 30
2023-07-08 06:16:24 -06:00
# Optional: Configure the min rms volume required to run audio detection (default: shown below)
# As a rule of thumb:
# - 200 - high sensitivity
# - 500 - medium sensitivity
# - 1000 - low sensitivity
min_volume : 500
2023-07-01 07:18:33 -06:00
# Optional: Types of audio to listen for (default: shown below)
listen :
- bark
2023-09-21 04:23:26 -06:00
- fire_alarm
2023-07-01 07:18:33 -06:00
- scream
- speech
- yell
2023-07-17 05:07:15 -06:00
# Optional: Filters to configure detection.
filters :
# Label that matches label in listen config.
speech :
# Minimum score that triggers an audio event (default: shown below)
threshold : 0.8
2023-07-01 07:18:33 -06:00
2021-07-10 19:45:00 -04:00
# Optional: logger verbosity settings
logger :
# Optional: Default log verbosity (default: shown below)
default : info
# Optional: Component specific logger overrides
logs :
frigate.event : debug
2021-09-12 14:48:21 -05:00
# Optional: set environment variables
environment_vars :
EXAMPLE_VAR : value
2021-07-10 19:45:00 -04:00
2021-09-12 14:48:21 -05:00
# Optional: birdseye configuration
2022-04-15 05:59:30 -06:00
# NOTE: Can (enabled, mode) be overridden at the camera level
2021-06-11 21:37:26 -05:00
birdseye :
2021-06-23 08:09:15 -05:00
# Optional: Enable birdseye view (default: shown below)
2021-06-11 21:37:26 -05:00
enabled : True
2023-01-16 16:50:35 -07:00
# Optional: Restream birdseye via RTSP (default: shown below)
# NOTE: Enabling this will set birdseye to run 24/7 which may increase CPU usage somewhat.
restream : False
2021-06-23 08:09:15 -05:00
# Optional: Width of the output resolution (default: shown below)
2021-06-11 21:37:26 -05:00
width : 1280
2021-06-23 08:09:15 -05:00
# Optional: Height of the output resolution (default: shown below)
2021-06-11 21:37:26 -05:00
height : 720
2021-06-23 08:09:15 -05:00
# Optional: Encoding quality of the mpeg1 feed (default: shown below)
# 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
2021-06-11 21:37:26 -05:00
quality : 8
# Optional: Mode of the view. Available options are: objects, motion, and continuous
# objects - cameras are included if they have had a tracked object within the last 30 seconds
# motion - cameras are included if motion was detected in the last 30 seconds
# continuous - all cameras are included always
mode : objects
2021-09-03 05:03:36 -07:00
2021-09-12 14:48:21 -05:00
# Optional: ffmpeg configuration
2022-12-16 10:41:03 -03:00
# More information about presets at https://docs.frigate.video/configuration/ffmpeg_presets
2021-09-12 14:48:21 -05:00
ffmpeg :
# Optional: global ffmpeg args (default: shown below)
2023-03-17 17:14:57 -05:00
global_args : -hide_banner -loglevel warning -threads 2
2021-09-12 14:48:21 -05:00
# Optional: global hwaccel args (default: shown below)
# NOTE: See hardware acceleration docs for your specific device
hwaccel_args : []
# Optional: global input args (default: shown below)
2022-12-16 10:41:03 -03:00
input_args : preset-rtsp-generic
2021-09-12 14:48:21 -05:00
# Optional: global output args
output_args :
# Optional: output args for detect streams (default: shown below)
2023-03-17 17:14:57 -05:00
detect : -threads 2 -f rawvideo -pix_fmt yuv420p
2021-09-12 14:48:21 -05:00
# Optional: output args for record streams (default: shown below)
2022-12-16 10:41:03 -03:00
record : preset-record-generic
2021-09-12 14:48:21 -05:00
# Optional: output args for rtmp streams (default: shown below)
2022-12-16 10:41:03 -03:00
rtmp : preset-rtmp-generic
2023-06-30 08:14:39 -04:00
# Optional: Time in seconds to wait before ffmpeg retries connecting to the camera. (default: shown below)
# If set too low, frigate will retry a connection to the camera's stream too frequently, using up the limited streams some cameras can allow at once
# If set too high, then if a ffmpeg crash or camera stream timeout occurs, you could potentially lose up to a maximum of retry_interval second(s) of footage
# NOTE: this can be a useful setting for Wireless / Battery cameras to reduce how much footage is potentially lost during a connection timeout.
retry_interval : 10
2021-09-03 05:03:36 -07:00
2021-09-12 14:48:21 -05:00
# Optional: Detect configuration
# NOTE: Can be overridden at the camera level
detect :
# Optional: width of the frame for the input with the detect role (default: shown below)
width : 1280
# Optional: height of the frame for the input with the detect role (default: shown below)
height : 720
# Optional: desired fps for your camera for the input with the detect role (default: shown below)
# NOTE: Recommended value of 5. Ideally, try and reduce your FPS on the camera.
fps : 5
# Optional: enables detection for the camera (default: True)
enabled : True
2023-01-13 10:18:15 -03:00
# Optional: Number of frames without a detection before Frigate considers an object to be gone. (default: 5x the frame rate)
2021-09-12 14:48:21 -05:00
max_disappeared : 25
2022-02-13 10:27:58 -06:00
# Optional: Configuration for stationary object tracking
2022-02-13 08:58:44 -06:00
stationary :
2023-06-16 07:32:43 -05:00
# Optional: Frequency for confirming stationary objects (default: same as threshold)
# When set to 1, object detection will run to confirm the object still exists on every frame.
2022-04-11 06:19:25 -06:00
# If set to 10, object detection will run to confirm the object still exists on every 10th frame.
2023-06-16 07:32:43 -05:00
interval : 50
2022-02-13 08:58:44 -06:00
# Optional: Number of frames without a position change for an object to be considered stationary (default: 10x the frame rate or 10s)
threshold : 50
# Optional: Define a maximum number of frames for tracking a stationary object (default: not set, track forever)
# This can help with false positives for objects that should only be stationary for a limited amount of time.
# It can also be used to disable stationary object tracking. For example, you may want to set a value for person, but leave
# car at the default.
2022-02-20 08:17:43 -06:00
# WARNING: Setting these values overrides default behavior and disables stationary object tracking.
2022-03-10 07:43:12 -06:00
# There are very few situations where you would want it disabled. It is NOT recommended to
2022-02-20 08:17:43 -06:00
# copy these values from the example config into your config unless you know they are needed.
2022-02-13 08:58:44 -06:00
max_frames :
# Optional: Default for all object types (default: not set, track forever)
default : 3000
# Optional: Object specific values
objects :
person : 1000
2023-06-16 18:00:49 -06:00
# Optional: Milliseconds to offset detect annotations by (default: shown below).
# There can often be latency between a recording and the detect process,
# especially when using separate streams for detect and record.
# Use this setting to make the timeline bounding boxes more closely align
# with the recording. The value can be positive or negative.
2023-06-21 08:38:51 -05:00
# TIP: Imagine there is an event clip with a person walking from left to right.
2023-06-16 18:00:49 -06:00
# If the event timeline bounding box is consistently to the left of the person
# then the value should be decreased. Similarly, if a person is walking from
# left to right and the bounding box is consistently ahead of the person
# then the value should be increased.
# TIP: This offset is dynamic so you can change the value and it will update existing
# events, this makes it easy to tune.
# WARNING: Fast moving objects will likely not have the bounding box align.
annotation_offset : 0
2021-09-03 05:03:36 -07:00
2021-09-12 14:48:21 -05:00
# Optional: Object configuration
# NOTE: Can be overridden at the camera level
objects :
# Optional: list of objects to track from labelmap.txt (default: shown below)
track :
- person
# Optional: mask to prevent all object types from being detected in certain areas (default: no mask)
# Checks based on the bottom center of the bounding box of the object.
# NOTE: This mask is COMBINED with the object type specific mask below
mask : 0 , 0 , 1000 , 0 , 1000 , 200 , 0 , 200
# Optional: filters to reduce false positives for specific object types
filters :
person :
# Optional: minimum width*height of the bounding box for the detected object (default: 0)
min_area : 5000
# Optional: maximum width*height of the bounding box for the detected object (default: 24000000)
max_area : 100000
2022-04-10 09:25:18 -04:00
# Optional: minimum width/height of the bounding box for the detected object (default: 0)
min_ratio : 0.5
# Optional: maximum width/height of the bounding box for the detected object (default: 24000000)
max_ratio : 2.0
2021-09-12 14:48:21 -05:00
# Optional: minimum score for the object to initiate tracking (default: shown below)
min_score : 0.5
# Optional: minimum decimal percentage for tracked object's computed score to be considered a true positive (default: shown below)
threshold : 0.7
# Optional: mask to prevent this object type from being detected in certain areas (default: no mask)
# Checks based on the bottom center of the bounding box of the object
mask : 0 , 0 , 1000 , 0 , 1000 , 200 , 0 , 200
# Optional: Motion configuration
# NOTE: Can be overridden at the camera level
motion :
# Optional: The threshold passed to cv2.threshold to determine if a pixel is different enough to be counted as motion. (default: shown below)
# Increasing this value will make motion detection less sensitive and decreasing it will make motion detection more sensitive.
# The value should be between 1 and 255.
2023-06-30 07:27:31 -05:00
threshold : 30
2023-06-11 09:45:11 -04:00
# Optional: The percentage of the image used to detect lightning or other substantial changes where motion detection
# needs to recalibrate. (default: shown below)
# Increasing this value will make motion detection more likely to consider lightning or ir mode changes as valid motion.
# Decreasing this value will make motion detection more likely to ignore large amounts of motion such as a person approaching
# a doorbell camera.
lightning_threshold : 0.8
# Optional: Minimum size in pixels in the resized motion image that counts as motion (default: shown below)
2021-11-07 13:16:38 -06:00
# Increasing this value will prevent smaller areas of motion from being detected. Decreasing will
# make motion detection more sensitive to smaller moving objects.
# As a rule of thumb:
2023-06-21 08:38:51 -05:00
# - 10 - high sensitivity
2021-11-07 13:16:38 -06:00
# - 30 - medium sensitivity
# - 50 - low sensitivity
2023-06-21 08:38:51 -05:00
contour_area : 10
2021-09-12 14:48:21 -05:00
# Optional: Alpha value passed to cv2.accumulateWeighted when averaging frames to determine the background (default: shown below)
# Higher values mean the current frame impacts the average a lot, and a new object will be averaged into the background faster.
# Low values will cause things like moving shadows to be detected as motion for longer.
# https://www.geeksforgeeks.org/background-subtraction-in-an-image-using-concept-of-running-average/
2023-06-21 08:38:51 -05:00
frame_alpha : 0.01
2023-09-27 05:11:23 -06:00
# Optional: Height of the resized motion frame (default: 100)
2023-06-11 09:45:11 -04:00
# Higher values will result in more granular motion detection at the expense of higher CPU usage.
# Lower values result in less CPU, but small changes may not register as motion.
2023-06-21 08:38:51 -05:00
frame_height : 100
2021-09-12 14:48:21 -05:00
# Optional: motion mask
# NOTE: see docs for more detailed info on creating masks
mask : 0 , 900 , 1080 , 900 , 1080 , 1920 , 0 , 1920
2022-03-10 07:43:12 -06:00
# Optional: improve contrast (default: shown below)
# Enables dynamic contrast improvement. This should help improve night detections at the cost of making motion detection more sensitive
# for daytime.
2023-06-11 09:45:11 -04:00
improve_contrast : True
2022-05-15 06:03:33 -06:00
# Optional: Delay when updating camera motion through MQTT from ON -> OFF (default: shown below).
mqtt_off_delay : 30
2021-09-12 14:48:21 -05:00
# Optional: Record configuration
# NOTE: Can be overridden at the camera level
record :
# Optional: Enable recording (default: shown below)
2022-05-15 06:03:33 -06:00
# WARNING: If recording is disabled in the config, turning it on via
2022-04-02 07:33:10 -06:00
# the UI or MQTT later will have no effect.
2021-09-12 14:48:21 -05:00
enabled : False
2022-02-05 08:51:18 -06:00
# Optional: Number of minutes to wait between cleanup runs (default: shown below)
# This can be used to reduce the frequency of deleting recording segments from disk if you want to minimize i/o
expire_interval : 60
2023-07-15 07:38:21 -06:00
# Optional: Sync recordings with disk on startup (default: shown below).
sync_on_startup : False
2021-12-11 14:25:35 -06:00
# Optional: Retention settings for recording
retain :
# Optional: Number of days to retain recordings regardless of events (default: shown below)
# NOTE: This should be set to 0 and retention should be defined in events section below
# if you only want to retain recordings of events.
days : 0
# Optional: Mode for retention. Available options are: all, motion, and active_objects
# all - save all recording segments regardless of activity
# motion - save all recordings segments with any detected motion
# active_objects - save all recording segments with active/moving objects
# NOTE: this mode only applies when the days setting above is greater than 0
mode : all
2023-09-21 06:20:05 -06:00
# Optional: Recording Export Settings
export :
# Optional: Timelapse Output Args (default: shown below).
# NOTE: The default args are set to fit 24 hours of recording into 1 hour playback.
# See https://stackoverflow.com/a/58268695 for more info on how these args work.
# As an example: if you wanted to go from 24 hours to 30 minutes that would be going
# from 86400 seconds to 1800 seconds which would be 1800 / 86400 = 0.02.
# The -r (framerate) dictates how smooth the output video is.
# So the args would be -vf setpts=0.02*PTS -r 30 in that case.
timelapse_args : "-vf setpts=0.04*PTS -r 30"
2021-09-12 14:48:21 -05:00
# Optional: Event recording settings
events :
# Optional: Number of seconds before the event to include (default: shown below)
pre_capture : 5
# Optional: Number of seconds after the event to include (default: shown below)
post_capture : 5
# Optional: Objects to save recordings for. (default: all tracked objects)
objects :
- person
# Optional: Restrict recordings to objects that entered any of the listed zones (default: no required zones)
required_zones : []
# Optional: Retention settings for recordings of events
retain :
# Required: Default retention days (default: shown below)
default : 10
2021-12-11 14:25:35 -06:00
# Optional: Mode for retention. (default: shown below)
# all - save all recording segments for events regardless of activity
# motion - save all recordings segments for events with any detected motion
# active_objects - save all recording segments for event with active/moving objects
#
# NOTE: If the retain mode for the camera is more restrictive than the mode configured
# here, the segments will already be gone by the time this mode is applied.
# For example, if the camera retain mode is "motion", the segments without motion are
# never stored, so setting the mode to "all" here won't bring them back.
2022-02-05 09:28:21 -06:00
mode : motion
2021-09-12 14:48:21 -05:00
# Optional: Per object retention days
objects :
person : 15
# Optional: Configuration for the jpg snapshots written to the clips directory for each event
# NOTE: Can be overridden at the camera level
snapshots :
# Optional: Enable writing jpg snapshot to /media/frigate/clips (default: shown below)
enabled : False
2022-07-27 10:01:32 -06:00
# Optional: save a clean PNG copy of the snapshot image (default: shown below)
clean_copy : True
2021-09-12 14:48:21 -05:00
# Optional: print a timestamp on the snapshots (default: shown below)
timestamp : False
# Optional: draw bounding box on the snapshots (default: shown below)
bounding_box : False
# Optional: crop the snapshot (default: shown below)
crop : False
# Optional: height to resize the snapshot to (default: original size)
height : 175
# Optional: Restrict snapshots to objects that entered any of the listed zones (default: no required zones)
required_zones : []
# Optional: Camera override for retention settings (default: global values)
retain :
# Required: Default retention days (default: shown below)
default : 10
# Optional: Per object retention days
objects :
person : 15
2023-07-26 06:50:41 -04:00
# Optional: quality of the encoded jpeg, 0-100 (default: shown below)
quality : 70
2021-09-12 14:48:21 -05:00
# Optional: RTMP configuration
2022-11-02 05:36:09 -06:00
# NOTE: RTMP is deprecated in favor of restream
2021-09-12 14:48:21 -05:00
# NOTE: Can be overridden at the camera level
2021-09-03 05:03:36 -07:00
rtmp :
2022-11-02 05:36:09 -06:00
# Optional: Enable the RTMP stream (default: False)
enabled : False
2021-09-03 05:03:36 -07:00
2022-11-02 05:36:09 -06:00
# Optional: Restream configuration
2023-09-21 06:52:46 -06:00
# Uses https://github.com/AlexxIT/go2rtc (v1.7.1)
2023-01-16 16:50:35 -07:00
go2rtc :
# Optional: jsmpeg stream configuration for WebUI
live :
# Optional: Set the name of the stream that should be used for live view
# in frigate WebUI. (default: name of camera)
stream_name : camera_name
# Optional: Set the height of the jsmpeg stream. (default: 720)
# This must be less than or equal to the height of the detect stream. Lower resolutions
# reduce bandwidth required for viewing the jsmpeg stream. Width is computed to match known aspect ratio.
height : 720
# Optional: Set the encode quality of the jsmpeg stream (default: shown below)
# 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
quality : 8
2021-09-03 05:03:36 -07:00
# Optional: in-feed timestamp style configuration
2021-09-12 14:48:21 -05:00
# NOTE: Can be overridden at the camera level
2021-09-03 05:03:36 -07:00
timestamp_style :
# Optional: Position of the timestamp (default: shown below)
# "tl" (top left), "tr" (top right), "bl" (bottom left), "br" (bottom right)
position : "tl"
# Optional: Format specifier conform to the Python package "datetime" (default: shown below)
# Additional Examples:
# german: "%d.%m.%Y %H:%M:%S"
format : "%m/%d/%Y %H:%M:%S"
# Optional: Color of font
color :
# All Required when color is specified (default: shown below)
red : 255
green : 255
blue : 255
# Optional: Line thickness of font (default: shown below)
thickness : 2
# Optional: Effect of lettering (default: shown below)
# None (No effect),
# "solid" (solid background in inverse color of font)
# "shadow" (shadow for font)
effect : None
2021-09-12 14:48:21 -05:00
# Required
cameras :
# Required: name of the camera
back :
2022-11-02 12:41:44 +01:00
# Optional: Enable/Disable the camera (default: shown below).
# If disabled: config is used but no live stream and no capture etc.
# Events/Recordings are still viewable.
enabled : True
2021-09-12 14:48:21 -05:00
# Required: ffmpeg settings for the camera
ffmpeg :
# Required: A list of input streams for the camera. See documentation for more information.
inputs :
# Required: the path to the stream
2021-10-23 15:15:44 +10:00
# NOTE: path may include environment variables, which must begin with 'FRIGATE_' and be referenced in {}
2021-09-12 14:48:21 -05:00
- path : rtsp://viewer:{FRIGATE_RTSP_PASSWORD}@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
2023-07-01 10:19:14 -06:00
# Required: list of roles for this stream. valid values are: audio,detect,record,rtmp
# NOTICE: In addition to assigning the audio, record, and rtmp roles,
2021-09-12 14:48:21 -05:00
# they must also be enabled in the camera config.
roles :
2023-07-01 10:19:14 -06:00
- audio
2021-09-12 14:48:21 -05:00
- detect
2023-02-14 16:19:07 -07:00
- record
2021-09-12 14:48:21 -05:00
- rtmp
# Optional: stream specific global args (default: inherit)
# global_args:
# Optional: stream specific hwaccel args (default: inherit)
# hwaccel_args:
# Optional: stream specific input args (default: inherit)
# input_args:
# Optional: camera specific global args (default: inherit)
# global_args:
# Optional: camera specific hwaccel args (default: inherit)
# hwaccel_args:
# Optional: camera specific input args (default: inherit)
# input_args:
# Optional: camera specific output args (default: inherit)
# output_args:
# Optional: timeout for highest scoring image before allowing it
# to be replaced by a newer image. (default: shown below)
best_image_timeout : 60
# Optional: zones for this camera
zones :
# Required: name of the zone
# NOTE: This must be different than any camera names, but can match with another zone on another
# camera.
front_steps :
# Required: List of x,y coordinates to define the polygon of the zone.
2022-02-06 14:00:27 -06:00
# NOTE: Presence in a zone is evaluated only based on the bottom center of the objects bounding box.
2021-09-12 14:48:21 -05:00
coordinates : 545 , 1077 , 747 , 939 , 788 , 805
2023-10-07 08:19:56 -06:00
# Optional: Number of consecutive frames required for object to be considered present in the zone (default: shown below).
2023-06-11 07:00:53 -06:00
inertia : 3
2021-09-12 14:48:21 -05:00
# Optional: List of objects that can trigger this zone (default: all tracked objects)
objects :
- person
# Optional: Zone level object filters.
# NOTE: The global and camera filters are applied upstream.
filters :
person :
min_area : 5000
max_area : 100000
threshold : 0.7
# Optional: Configuration for the jpg snapshots published via MQTT
mqtt :
# Optional: Enable publishing snapshot via mqtt for camera (default: shown below)
# NOTE: Only applies to publishing image data to MQTT via 'frigate/<camera_name>/<object_name>/snapshot'.
# All other messages will still be published.
enabled : True
# Optional: print a timestamp on the snapshots (default: shown below)
timestamp : True
# Optional: draw bounding box on the snapshots (default: shown below)
bounding_box : True
# Optional: crop the snapshot (default: shown below)
crop : True
# Optional: height to resize the snapshot to (default: shown below)
height : 270
# Optional: jpeg encode quality (default: shown below)
quality : 70
# Optional: Restrict mqtt messages to objects that entered any of the listed zones (default: no required zones)
required_zones : []
2022-04-15 06:23:02 -06:00
# Optional: Configuration for how camera is handled in the GUI.
ui :
# Optional: Adjust sort order of cameras in the UI. Larger numbers come later (default: shown below)
# By default the cameras are sorted alphabetically.
order : 0
# Optional: Whether or not to show the camera in the Frigate UI (default: shown below)
dashboard : True
2023-01-13 16:27:16 -07:00
2023-04-26 05:08:53 -06:00
# Optional: connect to ONVIF camera
# to enable PTZ controls.
onvif :
# Required: host of the camera being connected to.
host : 0.0.0.0
# Optional: ONVIF port for device (default: shown below).
port : 8000
# Optional: username for login.
# NOTE: Some devices require admin to access ONVIF.
user : admin
# Optional: password for login.
password : admin
2023-07-08 07:04:47 -05:00
# Optional: PTZ camera object autotracking. Keeps a moving object in
# the center of the frame by automatically moving the PTZ camera.
autotracking :
# Optional: enable/disable object autotracking. (default: shown below)
enabled : False
2023-09-27 06:19:10 -05:00
# Optional: calibrate the camera on startup (default: shown below)
# A calibration will move the PTZ in increments and measure the time it takes to move.
# The results are used to help estimate the position of tracked objects after a camera move.
# Frigate will update your config file automatically after a calibration with
# a "movement_weights" entry for the camera. You should then set calibrate_on_startup to False.
calibrate_on_startup : False
# Optional: the mode to use for zooming in/out on objects during autotracking. (default: shown below)
# Available options are: disabled, absolute, and relative
# disabled - don't zoom in/out on autotracked objects, use pan/tilt only
# absolute - use absolute zooming (supported by most PTZ capable cameras)
# relative - use relative zooming (not supported on all PTZs, but makes concurrent pan/tilt/zoom movements)
zooming : disabled
2023-09-28 18:21:37 -05:00
# Optional: A value to change the behavior of zooming on autotracked objects. (default: shown below)
# A lower value will keep more of the scene in view around a tracked object.
# A higher value will zoom in more on a tracked object, but Frigate may lose tracking more quickly.
# The value should be between 0.1 and 0.75
zoom_factor : 0.3
2023-07-08 07:04:47 -05:00
# Optional: list of objects to track from labelmap.txt (default: shown below)
track :
- person
# Required: Begin automatically tracking an object when it enters any of the listed zones.
required_zones :
- zone_name
2023-09-01 07:01:48 -05:00
# Required: Name of ONVIF preset in camera's firmware to return to when tracking is over. (default: shown below)
2023-09-27 06:19:10 -05:00
return_preset : home
2023-07-08 07:04:47 -05:00
# Optional: Seconds to delay before returning to preset. (default: shown below)
timeout : 10
2023-09-27 06:19:10 -05:00
# Optional: Values generated automatically by a camera calibration. Do not modify these manually. (default: shown below)
movement_weights : []
2023-04-26 05:08:53 -06:00
2023-04-27 02:29:01 +02:00
# Optional: Configuration for how to sort the cameras in the Birdseye view.
birdseye :
# Optional: Adjust sort order of cameras in the Birdseye view. Larger numbers come later (default: shown below)
# By default the cameras are sorted alphabetically.
order : 0
2023-01-13 16:27:16 -07:00
# Optional
ui :
# Optional: Set the default live mode for cameras in the UI (default: shown below)
live_mode : mse
# Optional: Set a timezone to use in the UI (default: use browser local time)
2023-03-29 18:06:19 -06:00
# timezone: America/Denver
2023-01-13 16:27:16 -07:00
# Optional: Use an experimental recordings / camera view UI (default: shown below)
2023-03-14 08:51:09 -05:00
use_experimental : False
2023-02-26 08:37:18 -07:00
# Optional: Set the time format used.
# Options are browser, 12hour, or 24hour (default: shown below)
time_format : browser
# Optional: Set the date style for a specified length.
2023-03-06 20:06:36 -07:00
# Options are: full, long, medium, short
2023-02-26 08:37:18 -07:00
# Examples:
# short: 2/11/23
# medium: Feb 11, 2023
# full: Saturday, February 11, 2023
# (default: shown below).
date_style : short
# Optional: Set the time style for a specified length.
2023-03-06 20:06:36 -07:00
# Options are: full, long, medium, short
2023-02-26 08:37:18 -07:00
# Examples:
# short: 8:14 PM
# medium: 8:15:22 PM
# full: 8:15:22 PM Mountain Standard Time
# (default: shown below).
time_style : medium
# Optional: Ability to manually override the date / time styling to use strftime format
# https://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html
# possible values are shown above (default: not set)
strftime_fmt : "%Y/%m/%d %H:%M"
2023-01-26 00:36:26 +00:00
# Optional: Telemetry configuration
telemetry :
2023-09-21 04:26:22 -06:00
# Optional: Enabled network interfaces for bandwidth stats monitoring (default: empty list, let nethogs search all)
2023-06-11 15:34:03 +03:00
network_interfaces :
- eth
- enp
- eno
- ens
- wl
- lo
2023-06-11 07:26:34 -06:00
# Optional: Configure system stats
stats :
# Enable AMD GPU stats (default: shown below)
amd_gpu_stats : True
# Enable Intel GPU stats (default: shown below)
intel_gpu_stats : True
# Enable network bandwidth stats monitoring for camera ffmpeg processes, go2rtc, and object detectors. (default: shown below)
2023-09-21 04:26:22 -06:00
# NOTE: The container must either be privileged or have cap_net_admin, cap_net_raw capabilities enabled.
2023-06-11 07:26:34 -06:00
network_bandwidth : False
2023-01-26 00:36:26 +00:00
# Optional: Enable the latest version outbound check (default: shown below)
# NOTE: If you use the HomeAssistant integration, disabling this will prevent it from reporting new versions
version_check : True
2021-09-12 14:48:21 -05:00
```