mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
205 lines
7.3 KiB
YAML
205 lines
7.3 KiB
YAML
web_port: 5000
|
|
|
|
################
|
|
## Tell frigate to look for a specific EdgeTPU device. Useful if you want to run multiple instances of frigate
|
|
## on the same machine with multiple EdgeTPUs. https://coral.ai/docs/edgetpu/multiple-edgetpu/#using-the-tensorflow-lite-python-api
|
|
################
|
|
tensorflow_device: usb
|
|
|
|
mqtt:
|
|
host: mqtt.server.com
|
|
topic_prefix: frigate
|
|
# client_id: frigate # Optional -- set to override default client id of 'frigate' if running multiple instances
|
|
# user: username # Optional
|
|
#################
|
|
## Environment variables that begin with 'FRIGATE_' may be referenced in {}.
|
|
## password: '{FRIGATE_MQTT_PASSWORD}'
|
|
#################
|
|
# password: password # Optional
|
|
|
|
#################
|
|
# Default ffmpeg args. Optional and can be overwritten per camera.
|
|
# Should work with most RTSP cameras that send h264 video
|
|
# Built from the properties below with:
|
|
# "ffmpeg" + global_args + input_args + "-i" + input + output_args
|
|
#################
|
|
# ffmpeg:
|
|
# global_args:
|
|
# - -hide_banner
|
|
# - -loglevel
|
|
# - panic
|
|
# hwaccel_args: []
|
|
# input_args:
|
|
# - -avoid_negative_ts
|
|
# - make_zero
|
|
# - -fflags
|
|
# - nobuffer
|
|
# - -flags
|
|
# - low_delay
|
|
# - -strict
|
|
# - experimental
|
|
# - -fflags
|
|
# - +genpts+discardcorrupt
|
|
# - -vsync
|
|
# - drop
|
|
# - -rtsp_transport
|
|
# - tcp
|
|
# - -stimeout
|
|
# - '5000000'
|
|
# - -use_wallclock_as_timestamps
|
|
# - '1'
|
|
# output_args:
|
|
# - -f
|
|
# - rawvideo
|
|
# - -pix_fmt
|
|
# - rgb24
|
|
|
|
####################
|
|
# Global object configuration. Applies to all cameras
|
|
# unless overridden at the camera levels.
|
|
# Keys must be valid labels. By default, the model uses coco (https://dl.google.com/coral/canned_models/coco_labels.txt).
|
|
# All labels from the model are reported over MQTT. These values are used to filter out false positives.
|
|
# min_area (optional): minimum width*height of the bounding box for the detected object
|
|
# max_area (optional): maximum width*height of the bounding box for the detected object
|
|
# min_score (optional): minimum score for the object
|
|
# threshold (optional): The minimum decimal percentage for tracked object's computed score to considered a true positive
|
|
####################
|
|
objects:
|
|
track:
|
|
- person
|
|
- car
|
|
- truck
|
|
filters:
|
|
person:
|
|
min_area: 5000
|
|
max_area: 100000
|
|
min_score: 0.5
|
|
threshold: 0.85
|
|
|
|
zones:
|
|
#################
|
|
# Name of the zone
|
|
################
|
|
front_steps:
|
|
front_door:
|
|
####################
|
|
# For each camera, a list of x,y coordinates to define the polygon of the zone. The top
|
|
# left corner is 0,0. Can also be a comma separated string of all x,y coordinates combined.
|
|
# The same zone can exist across multiple cameras if they have overlapping FOVs.
|
|
# An object is determined to be in the zone based on whether or not the bottom center
|
|
# of it's bounding box is within the polygon. The polygon must have at least 3 points.
|
|
# Coordinates can be generated at https://www.image-map.net/
|
|
####################
|
|
coordinates:
|
|
- 545,1077
|
|
- 747,939
|
|
- 788,805
|
|
################
|
|
# Zone level object filters. These are applied in addition to the global and camera filters
|
|
# and should be more restrictive than the global and camera filters. The global and camera
|
|
# filters are applied upstream.
|
|
################
|
|
filters:
|
|
person:
|
|
min_area: 5000
|
|
max_area: 100000
|
|
threshold: 0.8
|
|
driveway:
|
|
front_door:
|
|
coordinates: 545,1077,747,939,788,805
|
|
yard:
|
|
|
|
cameras:
|
|
back:
|
|
ffmpeg:
|
|
################
|
|
# Source passed to ffmpeg after the -i parameter. Supports anything compatible with OpenCV and FFmpeg.
|
|
# Environment variables that begin with 'FRIGATE_' may be referenced in {}
|
|
################
|
|
input: rtsp://viewer:{FRIGATE_RTSP_PASSWORD}@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
|
|
#################
|
|
# These values will override default values for just this camera
|
|
#################
|
|
# global_args: []
|
|
# hwaccel_args: []
|
|
# input_args: []
|
|
# output_args: []
|
|
|
|
################
|
|
## Optionally specify the resolution of the video feed. Frigate will try to auto detect if not specified
|
|
################
|
|
# height: 1280
|
|
# width: 720
|
|
|
|
################
|
|
## Specify the framerate of your camera
|
|
##
|
|
## NOTE: This should only be set in the event ffmpeg is unable to determine your camera's framerate
|
|
## on its own and the reported framerate for your camera in frigate is well over what is expected.
|
|
################
|
|
# fps: 5
|
|
|
|
################
|
|
## Optional mask. Must be the same aspect ratio as your video feed. Value is either the
|
|
## name of a file in the config directory or a base64 encoded bmp image prefixed with
|
|
## 'base64,' eg. 'base64,asfasdfasdf....'.
|
|
##
|
|
## The mask works by looking at the bottom center of the bounding box for the detected
|
|
## person in the image. If that pixel in the mask is a black pixel, it ignores it as a
|
|
## false positive. In my mask, the grass and driveway visible from my backdoor camera
|
|
## are white. The garage doors, sky, and trees (anywhere it would be impossible for a
|
|
## person to stand) are black.
|
|
##
|
|
## Masked areas are also ignored for motion detection.
|
|
################
|
|
# mask: back-mask.bmp
|
|
|
|
################
|
|
# Allows you to limit the framerate within frigate for cameras that do not support
|
|
# custom framerates. A value of 1 tells frigate to look at every frame, 2 every 2nd frame,
|
|
# 3 every 3rd frame, etc.
|
|
################
|
|
take_frame: 1
|
|
|
|
################
|
|
# This will save a clip for each tracked object by frigate along with a json file that contains
|
|
# data related to the tracked object. This works by telling ffmpeg to write video segments to /cache
|
|
# from the video stream without re-encoding. Clips are then created by using ffmpeg to merge segments
|
|
# without re-encoding. The segments saved are unaltered from what frigate receives to avoid re-encoding.
|
|
# They do not contain bounding boxes. 30 seconds of video is added to the start of the clip. These are
|
|
# optimized to capture "false_positive" examples for improving frigate.
|
|
#
|
|
# NOTE: This will only work for camera feeds that can be copied into the mp4 container format without
|
|
# encoding such as h264. I do not expect this to work for mjpeg streams, and it may not work for many other
|
|
# types of streams.
|
|
#
|
|
# WARNING: Videos in /cache are retained until there are no ongoing events. If you are tracking cars or
|
|
# other objects for long periods of time, the cache will continue to grow indefinitely.
|
|
################
|
|
save_clips:
|
|
enabled: False
|
|
#########
|
|
# Number of seconds before the event to include in the clips
|
|
#########
|
|
pre_capture: 30
|
|
|
|
################
|
|
# Configuration for the snapshots in the debug view and mqtt
|
|
################
|
|
snapshots:
|
|
show_timestamp: True
|
|
draw_zones: False
|
|
|
|
################
|
|
# Camera level object config. This config is merged with the global config above.
|
|
################
|
|
objects:
|
|
track:
|
|
- person
|
|
filters:
|
|
person:
|
|
min_area: 5000
|
|
max_area: 100000
|
|
min_score: 0.5
|
|
threshold: 0.85
|