123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- 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
|