1510 lines
69 KiB
YAML
1510 lines
69 KiB
YAML
# Include{groups}
|
|
portals:
|
|
open:
|
|
# Include{portalLink}
|
|
questions:
|
|
# Include{global}
|
|
# Include{controller}
|
|
# Include{replicas}
|
|
# Include{replica1}
|
|
# Include{controllerExpertExtraArgs}
|
|
- variable: frigate
|
|
group: App Configuration
|
|
label: Frigate Configuration
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: mqtt
|
|
label: MQTT
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: host
|
|
label: Host
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: port
|
|
label: Port
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 1883
|
|
- variable: topic_prefix
|
|
label: Topic Prefix
|
|
description: Must be unique if you are running multiple instances
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: frigate
|
|
- variable: topic_prefix
|
|
label: Client ID
|
|
description: Must be unique if you are running multiple instances
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: frigate
|
|
- variable: stats_interval
|
|
label: Stats Interval
|
|
description: Interval in seconds for publishing stats
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 60
|
|
- variable: user
|
|
label: Username
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: password
|
|
label: Password
|
|
schema:
|
|
type: string
|
|
private: true
|
|
default: ""
|
|
- variable: detectors
|
|
label: Detectors
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: config
|
|
label: Detectors Configuration
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: detector_entry
|
|
label: Detector Entry
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: name
|
|
label: Name
|
|
description: Name of the detector
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: type
|
|
label: Type
|
|
description: Name of the detector
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: cpu
|
|
enum:
|
|
- value: cpu
|
|
description: CPU
|
|
- value: edgetpu
|
|
description: Edge TPU
|
|
- variable: device
|
|
label: Device
|
|
description: Device name as defined here - https://coral.ai/docs/edgetpu/multiple-edgetpu/#using-the-tensorflow-lite-python-api
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: num_threads
|
|
label: Number of Threads
|
|
description: This value is only used for CPU types
|
|
schema:
|
|
type: int
|
|
show_if: [["type", "=", "cpu"]]
|
|
default: 3
|
|
- variable: model
|
|
label: Model
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: path
|
|
label: Path
|
|
schema:
|
|
type: string
|
|
default: /edgetpu_model.tflite
|
|
- variable: labelmap_path
|
|
label: Label Map Path
|
|
schema:
|
|
type: string
|
|
default: /labelmap.txt
|
|
- variable: width
|
|
label: Width
|
|
schema:
|
|
type: int
|
|
default: 320
|
|
- variable: height
|
|
label: Height
|
|
schema:
|
|
type: int
|
|
default: 320
|
|
- variable: labelmap
|
|
label: LabelMap Configuration
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: labelmap_entry
|
|
label: LabelMap Entry
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: model
|
|
label: Model
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: name
|
|
label: Name
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: logger
|
|
label: Logger
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: default
|
|
label: Default Log Verbosity
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: info
|
|
enum:
|
|
- value: info
|
|
description: Info
|
|
- value: debug
|
|
description: Debug
|
|
- value: warning
|
|
description: Warning
|
|
- value: error
|
|
description: Error
|
|
- value: critical
|
|
description: Critical
|
|
- variable: logs
|
|
label: Component Specific Logs
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: component_entry
|
|
label: Component Specific Log Entry
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: component
|
|
label: Component
|
|
description: Find out the available components here https://docs.frigate.video/configuration/advanced/#logger
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: verbosity
|
|
label: Default Log Verbosity
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: info
|
|
enum:
|
|
- value: info
|
|
description: Info
|
|
- value: debug
|
|
description: Debug
|
|
- value: warning
|
|
description: Warning
|
|
- value: error
|
|
description: Error
|
|
- value: critical
|
|
description: Critical
|
|
- variable: birdseye
|
|
label: Birds Eye
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: enabled
|
|
label: Enabled
|
|
description: Enables the birdseye
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: width
|
|
label: Width
|
|
description: Width of the output resolution
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 1280
|
|
- variable: height
|
|
label: Height
|
|
description: Height of the output resolution
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 720
|
|
- variable: quality
|
|
label: Quality
|
|
description: Encoding quality of the mpeg1 feed. Where 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
|
|
schema:
|
|
type: int
|
|
min: 1
|
|
max: 31
|
|
required: true
|
|
default: 8
|
|
- variable: mode
|
|
label: Mode
|
|
description: |
|
|
Mode of the view.
|
|
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.
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: objects
|
|
enum:
|
|
- value: objects
|
|
description: Objects
|
|
- value: motion
|
|
description: Motion
|
|
- value: continuous
|
|
description: Continuous
|
|
- variable: ffmpeg
|
|
label: ffmpeg
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: global_args
|
|
label: Global Args
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: -hide_banner -loglevel warning
|
|
- variable: input_args
|
|
label: Input Args
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -timeout 5000000 -use_wallclock_as_timestamps 1
|
|
- variable: hwaccel_args
|
|
label: HW Acceleration Args
|
|
description: See hardware acceleration docs for your specific device
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: output_args
|
|
label: Output Args
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: detect
|
|
label: Detect
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: -f rawvideo -pix_fmt yuv420p
|
|
- variable: record
|
|
label: Record
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an
|
|
- variable: rtmp
|
|
label: RTMP
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: -c copy -f flv
|
|
- variable: detect
|
|
label: Detect
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: enabled
|
|
label: Enabled
|
|
description: Enables detection for the cameras
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: width
|
|
label: Width
|
|
description: Width of the frame for the input with the detect role
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 1280
|
|
- variable: height
|
|
label: Height
|
|
description: Height of the frame for the input with the detect role
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 720
|
|
- variable: fps
|
|
label: FPS
|
|
description: Desired fps for your camera for the input with the detect role. Recommended value of 5. Ideally, try and reduce your FPS on the camera.
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 5
|
|
- variable: max_disappeared
|
|
label: Max Disappeared
|
|
description: Number of frames without a detection before frigate considers an object to be gone.
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 25
|
|
- variable: stationary
|
|
label: Stationary
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: interval
|
|
label: Interval
|
|
description: |
|
|
Frequency for confirming stationary objects
|
|
When set to 0, object detection will not confirm stationary objects until movement is detected.
|
|
If set to 10, object detection will run to confirm the object still exists on every 10th frame.
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 0
|
|
- variable: threshold
|
|
label: Threshold
|
|
description: Number of frames without a position change for an object to be considered stationary
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 50
|
|
- variable: set_max_frames
|
|
label: Set Max Frames
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: max_frames
|
|
label: Max Frames
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: default
|
|
label: Default
|
|
description: Default for all object types
|
|
schema:
|
|
type: int
|
|
"null": true
|
|
- variable: objects
|
|
label: Objects
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: object_entry
|
|
label: Object Entry
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: object
|
|
label: Object
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: frames
|
|
label: Frames
|
|
schema:
|
|
type: int
|
|
required: true
|
|
- variable: objects
|
|
label: Objects
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: track
|
|
label: Track
|
|
description: Objects to track from labelmap.txt
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: track_entry
|
|
label: Track Object Entry
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: mask
|
|
label: Mask
|
|
description: |
|
|
Mask to prevent all object types from being detected in certain areas
|
|
Checks based on the bottom center of the bounding box of the object.
|
|
This mask is COMBINED with the object type specific mask below
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: filters
|
|
label: Filters
|
|
description: Filters to reduce false positives for specific object types
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: filter_entry
|
|
label: Filter Entry
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: object
|
|
label: Object
|
|
description: For example person
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: min_area
|
|
label: Min Area
|
|
description: Minimum width*height of the bounding box for the detected object
|
|
schema:
|
|
type: int
|
|
"null": true
|
|
- variable: max_area
|
|
label: Max Area
|
|
description: Maximum width*height of the bounding box for the detected object
|
|
schema:
|
|
type: int
|
|
"null": true
|
|
- variable: min_ratio
|
|
label: Min Ratio
|
|
description: Minimum width/height of the bounding box for the detected object
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
valid_chars: '^[0-9]+(\.[0-9]*)?$'
|
|
- variable: max_ratio
|
|
label: Max Ratio
|
|
description: Maximum width/height of the bounding box for the detected object
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
valid_chars: '^[0-9]+(\.[0-9]*)?$'
|
|
- variable: min_score
|
|
label: Min Score
|
|
description: Minimum score for the object to initiate tracking
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
valid_chars: '^[0-9]+(\.[0-9]*)?$'
|
|
- variable: threshold
|
|
label: Threshold
|
|
description: Minimum decimal percentage for tracked object's computed score to be considered a true positive
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
valid_chars: '^[0-9]+(\.[0-9]*)?$'
|
|
- variable: mask
|
|
label: Mask
|
|
description: |
|
|
Mask to prevent this object type from being detected in certain areas
|
|
Checks based on the bottom center of the bounding box of the object
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: motion
|
|
label: Motion
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: threshold
|
|
label: Threshold
|
|
description: |
|
|
The threshold passed to cv2.threshold to determine if a pixel is different enough to be counted as motion.
|
|
Increasing this value will make motion detection less sensitive and decreasing it will make motion detection more sensitive.
|
|
schema:
|
|
type: int
|
|
min: 1
|
|
max: 255
|
|
default: 25
|
|
- variable: contour_area
|
|
label: Contour Area
|
|
description: |
|
|
Minimum size in pixels in the resized motion image that counts as motion
|
|
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:
|
|
15 - high sensitivity
|
|
30 - medium sensitivity
|
|
50 - low sensitivity
|
|
schema:
|
|
type: int
|
|
default: 30
|
|
- variable: delta_alpha
|
|
label: Delta Alpha
|
|
description: |
|
|
Alpha value passed to cv2.accumulateWeighted when averaging the motion delta across multiple frames
|
|
Higher values mean the current frame impacts the delta a lot, and a single raindrop may register as motion.
|
|
Too low and a fast moving person wont be detected as motion.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
valid_chars: '^[0-9]+(\.[0-9]*)?$'
|
|
- variable: frame_alpha
|
|
label: Frame Alpha
|
|
description: |
|
|
Alpha value passed to cv2.accumulateWeighted when averaging frames to determine the background
|
|
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
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
valid_chars: '^[0-9]+(\.[0-9]*)?$'
|
|
- variable: frame_height
|
|
label: Frame Height
|
|
description: |
|
|
Height of the resized motion frame
|
|
This operates as an efficient blur alternative. 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.
|
|
schema:
|
|
type: int
|
|
default: 50
|
|
- variable: mask
|
|
label: Mask
|
|
description: See docs for more detailed info on creating masks
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: improve_contrast
|
|
label: Improve Contrast
|
|
description: Improve contrast. Enables dynamic contrast improvement. This should help improve night detections at the cost of making motion detection more sensitive for daytime.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: mqtt_off_delay
|
|
label: MQTT Off Delay
|
|
description: Delay when updating camera motion through MQTT from ON -> OFF
|
|
schema:
|
|
type: int
|
|
default: 30
|
|
- variable: record
|
|
label: Record
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: enabled
|
|
label: Enabled
|
|
description: |
|
|
Enable recording
|
|
WARNING: If recording is disabled in the config, turning it on via the UI or MQTT later will have no effect.
|
|
WARNING: Frigate does not currently support limiting recordings based on available disk space automatically.
|
|
If using recordings,you must specify retention settings for a number of days that will fit within the available disk space of your drive or Frigate will crash.
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: expire_interval
|
|
label: Expire Interval
|
|
description: Number of minutes to wait between cleanup runs
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 60
|
|
- variable: retain
|
|
label: Retain
|
|
description: Retention settings for recording
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Retain Config
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: days
|
|
label: Days
|
|
description: |
|
|
Number of days to retain recordings regardless of events
|
|
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.
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 0
|
|
- variable: mode
|
|
label: Mode
|
|
description: |
|
|
Mode for retention.
|
|
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
|
|
schema:
|
|
type: string
|
|
show_if: [["days", "!=", 0]]
|
|
required: true
|
|
default: all
|
|
enum:
|
|
- value: all
|
|
description: All
|
|
- value: motion
|
|
description: Motion
|
|
- value: active_objects
|
|
description: Active Objects
|
|
- variable: events
|
|
label: Events
|
|
description: Event recording settings
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: pre_capture
|
|
label: Pre Capture
|
|
description: Number of seconds before the event to include
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 5
|
|
- variable: post_capture
|
|
label: Post Capture
|
|
description: Number of seconds after the event to include
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 5
|
|
- variable: objects
|
|
label: Objects
|
|
description: Objects to save recordings for. Defaults to all objects.
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: object_entry
|
|
label: Object Entry
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: required_zones
|
|
label: Required Zones
|
|
description: Restrict recordings to objects that entered any of the listed zones
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: zone_entry
|
|
label: Zone Entry
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: retain
|
|
label: Retain
|
|
description: Retention settings for recordings of events
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Retain Config
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: default
|
|
label: Default
|
|
description: Default retention days
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 10
|
|
- variable: mode
|
|
label: Mode
|
|
description: |
|
|
Mode for retention.
|
|
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
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: motion
|
|
enum:
|
|
- value: all
|
|
description: All
|
|
- value: motion
|
|
description: Motion
|
|
- value: active_objects
|
|
description: Active Objects
|
|
- variable: objects
|
|
label: Objects
|
|
description: Per object retention days
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: objects_entry
|
|
label: Objects Entry
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: object
|
|
label: Object
|
|
description: For example Person
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: days
|
|
label: Retention Days
|
|
description: Retention days for the object
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 15
|
|
- variable: snapshots
|
|
label: Snapshots
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: enabled
|
|
label: Enabled
|
|
description: |
|
|
Optional: Enable writing jpg snapshot to /media/frigate/clips
|
|
This value can be set via MQTT and will be updated in startup based on retained value
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: clean_copy
|
|
label: Clean Copy
|
|
description: Save a clean PNG copy of the snapshot image
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: timestamp
|
|
label: Timestamp
|
|
description: Print a timestamp on the snapshots
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: bounding_box
|
|
label: Bounding Box
|
|
description: Draw bounding box on the snapshots
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: crop
|
|
label: Crop
|
|
description: Crop the snapshot
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: height
|
|
label: Height
|
|
description: Height to resize the snapshot to
|
|
schema:
|
|
type: int
|
|
"null": true
|
|
- variable: required_zones
|
|
label: Required Zones
|
|
description: Restrict recordings to objects that entered any of the listed zones
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: zone_entry
|
|
label: Zone Entry
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: retain
|
|
label: Retain
|
|
description: Retention settings for recordings of events
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Retain Config
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: default
|
|
label: Default
|
|
description: Default retention days
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 10
|
|
- variable: objects
|
|
label: Objects
|
|
description: Per object retention days
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: objects_entry
|
|
label: Objects Entry
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: object
|
|
label: Object
|
|
description: For example Person
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: days
|
|
label: Retention Days
|
|
description: Retention days for the object
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 15
|
|
- variable: rtmp
|
|
label: RTMP
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: enabled
|
|
label: Enabled
|
|
description: Enable the RTMP stream
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: live
|
|
label: Live
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: height
|
|
label: Height
|
|
description: |
|
|
Set the height of the live stream.
|
|
This must be less than or equal to the height of the detect stream. Lower resolutions
|
|
reduce bandwidth required for viewing the live stream. Width is computed to match known aspect ratio.
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 720
|
|
- variable: quality
|
|
label: Quality
|
|
description: |
|
|
Set the encode quality of the live stream
|
|
1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
|
|
schema:
|
|
type: int
|
|
required: true
|
|
min: 1
|
|
max: 31
|
|
default: 8
|
|
- variable: timestamp_style
|
|
label: Timestamp Style
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: position
|
|
label: Position
|
|
description: Position of the timestamp
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: tl
|
|
enum:
|
|
- value: tl
|
|
description: Top Left
|
|
- value: tr
|
|
description: Top Right
|
|
- value: bl
|
|
description: Bottom Left
|
|
- value: br
|
|
description: Bottom Right
|
|
- variable: format
|
|
label: Format
|
|
description: Format specifier conform to the Python package "datetime"
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: "%m/%d/%Y %H:%M:%S"
|
|
- variable: color
|
|
label: Color
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: red
|
|
label: Red
|
|
schema:
|
|
type: int
|
|
default: 255
|
|
required: true
|
|
- variable: green
|
|
label: Green
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 255
|
|
- variable: blue
|
|
label: Blue
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 255
|
|
- variable: thickness
|
|
label: Thickness
|
|
description: Line thickness of font
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 2
|
|
- variable: effect
|
|
label: Effect
|
|
description: |
|
|
Effect of lettering
|
|
None - No effect
|
|
Solid - Solid background in inverse color of font
|
|
Shadow - Shadow for font
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: None
|
|
enum:
|
|
- value: None
|
|
description: None
|
|
- value: solid
|
|
description: Solid
|
|
- value: shadow
|
|
description: Shadow
|
|
- variable: cameras
|
|
label: Cameras
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: camera_entry
|
|
label: Camera Entry
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: camera_name
|
|
label: Camera Name
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: ffmpeg
|
|
label: ffmpeg
|
|
description: ffmpeg Settings for the camera
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: inputs
|
|
label: Inputs
|
|
description: A list of input streams for the camera. See documentation for more information.
|
|
schema:
|
|
type: list
|
|
required: true
|
|
default: []
|
|
items:
|
|
- variable: input_entry
|
|
label: Input Entry
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: path
|
|
label: Path
|
|
description: The path to the stream
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: roles
|
|
label: Roles
|
|
schema:
|
|
type: list
|
|
required: true
|
|
default: []
|
|
items:
|
|
- variable: role_entry
|
|
label: Role Entry
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
enum:
|
|
- value: detect
|
|
description: Detect
|
|
- value: rtmp
|
|
description: RTMP
|
|
- value: record
|
|
description: Record
|
|
- variable: global_args
|
|
label: Global Args
|
|
description: Camera specific global args
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: hwaccel_args
|
|
label: HW Acceleration Args
|
|
description: Camera specific hwaccel args
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: input_args
|
|
label: Input Args
|
|
description: Camera specific input args
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: output_args
|
|
label: Output Args
|
|
description: Camera specific output args
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: best_image_timeout
|
|
label: Best Image Timeout
|
|
description: Timeout for highest scoring image before allowing it to be replaced by a newer image.
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 60
|
|
- variable: zones
|
|
label: Zones
|
|
description: Zones for this camera
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: zone_entry
|
|
label: Zone Entry
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: name
|
|
label: Zone Name
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: coordinates
|
|
label: Coordinates
|
|
description: List of x,y coordinates to define the polygon of the zone.
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: objects
|
|
label: Objects
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: object_entry
|
|
label: Object Entry
|
|
description: For example person
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: filters
|
|
label: Filters
|
|
description: Zone level object filters
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: filter_entry
|
|
label: Filter Entry
|
|
description: For example person
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: object
|
|
label: Object
|
|
description: For example person
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: min_area
|
|
label: Min Area
|
|
description: Minimum width*height of the bounding box for the detected object
|
|
schema:
|
|
type: int
|
|
"null": true
|
|
- variable: max_area
|
|
label: Max Area
|
|
description: Maximum width*height of the bounding box for the detected object
|
|
schema:
|
|
type: int
|
|
"null": true
|
|
- variable: threshold
|
|
label: Threshold
|
|
description: Minimum decimal percentage for tracked object's computed score to be considered a true positive
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
valid_chars: '^[0-9]+(\.[0-9]*)?$'
|
|
- variable: mqtt
|
|
label: MQTT
|
|
description: MQTT Configuration for jpg snapshots published for this camera
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: enabled
|
|
label: Enabled
|
|
description: |
|
|
Enable publishing snapshot via mqtt for camera
|
|
NOTE: Only applies to publishing image data to MQTT via 'frigate/<camera_name>/<object_name>/snapshot'.
|
|
All other messages will still be published.
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: timestamp
|
|
label: Timestamp
|
|
description: Print a timestamp on the snapshots
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: bounding_box
|
|
label: Bounding Box
|
|
description: Draw bounding box on the snapshots
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: crop
|
|
label: Crop
|
|
description: Crop the snapshot
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: height
|
|
label: Height
|
|
description: Height to resize the snapshot to
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 720
|
|
- variable: quality
|
|
label: Quality
|
|
description: JPEG encode quality
|
|
schema:
|
|
type: int
|
|
required: true
|
|
default: 70
|
|
- variable: required_zones
|
|
label: Required Zones
|
|
description: Restrict mqtt messages to objects that entered any of the listed zones
|
|
schema:
|
|
type: list
|
|
default: []
|
|
items:
|
|
- variable: required_zone
|
|
label: Required Zone
|
|
schema:
|
|
type: string
|
|
required: true
|
|
default: ""
|
|
- variable: ui
|
|
label: UI
|
|
description: Configuration for how camera is handled in the GUI.
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: render_config
|
|
label: Render Configuration
|
|
description: Enable it to add the configuration in the config file
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: order
|
|
label: order
|
|
description: Adjust sort order of cameras in the UI. Larger numbers come later By default the cameras are sorted alphabetically.
|
|
schema:
|
|
"null": true
|
|
type: int
|
|
- variable: dashboard
|
|
label: Dashboard
|
|
description: Whether or not to show the camera in the Frigate UI
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
# Include{containerConfig}
|
|
# Include{serviceRoot}
|
|
- variable: main
|
|
label: Main Service
|
|
description: The Primary service on which the healthcheck runs, often the webUI
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{serviceSelectorLoadBalancer}
|
|
# Include{serviceSelectorExtras}
|
|
- variable: main
|
|
label: Main Service Port Configuration
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: port
|
|
label: Port
|
|
description: This port exposes the container port on the service
|
|
schema:
|
|
type: int
|
|
default: 10500
|
|
editable: true
|
|
required: true
|
|
- variable: rtmp
|
|
label: RTMP Service
|
|
description: The service on which nodes connect to.
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{serviceSelectorLoadBalancer}
|
|
# Include{serviceSelectorExtras}
|
|
- variable: rtmp
|
|
label: RTMP Service Port Configuration
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: port
|
|
label: Port
|
|
description: This port exposes the container port on the service
|
|
schema:
|
|
type: int
|
|
default: 1935
|
|
editable: true
|
|
required: true
|
|
# Include{serviceExpertRoot}
|
|
default: false
|
|
# Include{serviceExpert}
|
|
# Include{serviceList}
|
|
# Include{persistenceRoot}
|
|
- variable: media
|
|
label: App Media
|
|
description: Stores the Application Media
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{persistenceBasic}
|
|
- variable: db
|
|
label: App DB
|
|
description: Stores the Application DB
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{persistenceBasic}
|
|
# Include{persistenceList}
|
|
# Include{ingressRoot}
|
|
- variable: main
|
|
label: Main Ingress
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{ingressDefault}
|
|
# Include{ingressTLS}
|
|
# Include{ingressTraefik}
|
|
# Include{ingressList}
|
|
# Include{security}
|
|
# Include{securityContextAdvancedRoot}
|
|
- variable: privileged
|
|
label: Privileged mode
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: readOnlyRootFilesystem
|
|
label: ReadOnly Root Filesystem
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: allowPrivilegeEscalation
|
|
label: Allow Privilege Escalation
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: runAsNonRoot
|
|
label: runAsNonRoot
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
# Include{podSecurityContextRoot}
|
|
- variable: runAsUser
|
|
label: runAsUser
|
|
description: The UserID of the user running the application
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: runAsGroup
|
|
label: runAsGroup
|
|
description: The groupID this App of the user running the application
|
|
schema:
|
|
type: int
|
|
default: 0
|
|
- variable: fsGroup
|
|
label: fsGroup
|
|
description: The group that should own ALL storage.
|
|
schema:
|
|
type: int
|
|
default: 568
|
|
# Include{podSecurityContextAdvanced}
|
|
# Include{resources}
|
|
# Include{advanced}
|
|
# Include{addons}
|
|
# Include{codeserver}
|
|
# Include{vpn}
|
|
# Include{documentation}
|