"description":"Height (pixels) of frames used for the detect stream; leave empty to use the native stream resolution."
},
"width":{
"label":"Detect width",
"description":"Width (pixels) of frames used for the detect stream; leave empty to use the native stream resolution."
},
"fps":{
"label":"Detect FPS",
"description":"Desired frames per second to run detection on; lower values reduce CPU usage (recommended value is 5, only set higher - at most 10 - if tracking extremely fast moving objects)."
},
"min_initialized":{
"label":"Minimum initialization frames",
"description":"Number of consecutive detection hits required before creating a tracked object. Increase to reduce false initializations. Default value is fps divided by 2."
},
"max_disappeared":{
"label":"Maximum disappeared frames",
"description":"Number of frames without a detection before a tracked object is considered gone."
},
"stationary":{
"label":"Stationary objects config",
"description":"Settings to detect and manage objects that remain stationary for a period of time.",
"interval":{
"label":"Stationary interval",
"description":"How often (in frames) to run a detection check to confirm a stationary object."
},
"threshold":{
"label":"Stationary threshold",
"description":"Number of frames with no position change required to mark an object as stationary."
},
"max_frames":{
"label":"Max frames",
"description":"Limits how long stationary objects are tracked before being discarded.",
"default":{
"label":"Default max frames",
"description":"Default maximum frames to track a stationary object before stopping."
"description":"Seconds to wait before attempting to reconnect a camera stream after failure. Default is 10."
},
"apple_compatibility":{
"label":"Apple compatibility",
"description":"Enable HEVC tagging for better Apple player compatibility when recording H.265."
},
"gpu":{
"label":"GPU index",
"description":"Default GPU index used for hardware acceleration if available."
},
"inputs":{
"label":"Camera inputs",
"description":"List of input stream definitions (paths and roles) for this camera.",
"path":{
"label":"Input path",
"description":"Camera input stream URL or path."
},
"roles":{
"label":"Input roles",
"description":"Roles for this input stream."
},
"global_args":{
"label":"FFmpeg global arguments",
"description":"FFmpeg global arguments for this input stream."
},
"hwaccel_args":{
"label":"Hardware acceleration arguments",
"description":"Hardware acceleration arguments for this input stream."
},
"input_args":{
"label":"Input arguments",
"description":"Input arguments specific to this stream."
}
}
},
"live":{
"label":"Live playback",
"description":"Settings used by the Web UI to control live stream selection, resolution and quality.",
"streams":{
"label":"Live stream names",
"description":"Mapping of configured stream names to restream/go2rtc names used for live playback."
},
"height":{
"label":"Live height",
"description":"Height (pixels) to render the jsmpeg live stream in the Web UI; must be <= detect stream height."
},
"quality":{
"label":"Live quality",
"description":"Encoding quality for the jsmpeg stream (1 highest, 31 lowest)."
}
},
"lpr":{
"label":"License Plate Recognition",
"description":"License plate recognition settings including detection thresholds, formatting, and known plates.",
"enabled":{
"label":"Enable LPR",
"description":"Enable or disable LPR on this camera."
},
"expire_time":{
"label":"Expire seconds",
"description":"Time in seconds after which an unseen plate is expired from the tracker (for dedicated LPR cameras only)."
},
"min_area":{
"label":"Minimum plate area",
"description":"Minimum plate area (pixels) required to attempt recognition."
},
"enhancement":{
"label":"Enhancement level",
"description":"Enhancement level (0-10) to apply to plate crops prior to OCR; higher values may not always improve results, levels above 5 may only work with night time plates and should be used with caution."
}
},
"motion":{
"label":"Motion detection",
"description":"Default motion detection settings for this camera.",
"enabled":{
"label":"Enable motion detection",
"description":"Enable or disable motion detection for this camera."
},
"threshold":{
"label":"Motion threshold",
"description":"Pixel difference threshold used by the motion detector; higher values reduce sensitivity (range 1-255)."
"description":"Threshold to detect and ignore brief lighting spikes (lower is more sensitive, values between 0.3 and 1.0). This does not prevent motion detection entirely; it merely causes the detector to stop analyzing additional frames once the threshold is exceeded. Motion-based recordings are still created during these events."
"description":"If set to a value between 0.0 and 1.0, and more than this fraction of the image changes in a single frame, the detector will return no motion boxes and immediately recalibrate. This can save CPU and reduce false positives during lightning, storms, etc., but may miss real events such as a PTZ camera auto‑tracking an object. The trade‑off is between dropping a few megabytes of recordings versus reviewing a couple short clips. Leave unset (None) to disable this feature."
"description":"Apply contrast improvement to frames before motion analysis to help detection."
},
"contour_area":{
"label":"Contour area",
"description":"Minimum contour area in pixels required for a motion contour to be counted."
},
"delta_alpha":{
"label":"Delta alpha",
"description":"Alpha blending factor used in frame differencing for motion calculation."
},
"frame_alpha":{
"label":"Frame alpha",
"description":"Alpha value used when blending frames for motion preprocessing."
},
"frame_height":{
"label":"Frame height",
"description":"Height in pixels to scale frames to when computing motion."
},
"mask":{
"label":"Mask coordinates",
"description":"Ordered x,y coordinates defining the motion mask polygon used to include/exclude areas."
},
"mqtt_off_delay":{
"label":"MQTT off delay",
"description":"Seconds to wait after last motion before publishing an MQTT 'off' state."
},
"enabled_in_config":{
"label":"Original motion state",
"description":"Indicates whether motion detection was enabled in the original static configuration."
},
"raw_mask":{
"label":"Raw Mask"
}
},
"objects":{
"label":"Objects",
"description":"Object tracking defaults including which labels to track and per-object filters.",
"track":{
"label":"Objects to track",
"description":"List of object labels to track for this camera."
},
"filters":{
"label":"Object filters",
"description":"Filters applied to detected objects to reduce false positives (area, ratio, confidence).",
"min_area":{
"label":"Minimum object area",
"description":"Minimum bounding box area (pixels or percentage) required for this object type. Can be pixels (int) or percentage (float between 0.000001 and 0.99)."
},
"max_area":{
"label":"Maximum object area",
"description":"Maximum bounding box area (pixels or percentage) allowed for this object type. Can be pixels (int) or percentage (float between 0.000001 and 0.99)."
},
"min_ratio":{
"label":"Minimum aspect ratio",
"description":"Minimum width/height ratio required for the bounding box to qualify."
},
"max_ratio":{
"label":"Maximum aspect ratio",
"description":"Maximum width/height ratio allowed for the bounding box to qualify."
},
"threshold":{
"label":"Confidence threshold",
"description":"Average detection confidence threshold required for the object to be considered a true positive."
},
"min_score":{
"label":"Minimum confidence",
"description":"Minimum single-frame detection confidence required for the object to be counted."
},
"mask":{
"label":"Filter mask",
"description":"Polygon coordinates defining where this filter applies within the frame."
"description":"Number of days to retain recordings regardless of tracked objects or motion. Set to 0 if you only want to retain recordings of alerts and detections.",
"description":"Number of days to retain recordings triggered by motion regardless of tracked objects. Set to 0 if you only want to retain recordings of alerts and detections.",
"days":{
"label":"Retention days",
"description":"Days to retain recordings."
}
},
"detections":{
"label":"Detection retention",
"description":"Recording retention settings for detection events including pre/post capture durations.",
"pre_capture":{
"label":"Pre-capture seconds",
"description":"Number of seconds before the detection event to include in the recording."
},
"post_capture":{
"label":"Post-capture seconds",
"description":"Number of seconds after the detection event to include in the recording."
},
"retain":{
"label":"Event retention",
"description":"Retention settings for recordings of detection events.",
"days":{
"label":"Retention days",
"description":"Number of days to retain recordings of detection events."
"description":"Mode for retention: all (save all segments), motion (save segments with motion), or active_objects (save segments with active objects)."
"description":"Mode for retention: all (save all segments), motion (save segments with motion), or active_objects (save segments with active objects)."
"description":"Enable or disable saving snapshots for this camera."
},
"clean_copy":{
"label":"Save clean copy",
"description":"Save an unannotated clean copy of snapshots in addition to annotated ones."
},
"timestamp":{
"label":"Timestamp overlay",
"description":"Overlay a timestamp on saved snapshots."
},
"bounding_box":{
"label":"Bounding box overlay",
"description":"Draw bounding boxes for tracked objects on saved snapshots."
},
"crop":{
"label":"Crop snapshot",
"description":"Crop saved snapshots to the detected object's bounding box."
},
"required_zones":{
"label":"Required zones",
"description":"Zones an object must enter for a snapshot to be saved."
},
"height":{
"label":"Snapshot height",
"description":"Height (pixels) to resize saved snapshots to; leave empty to preserve original size."
},
"retain":{
"label":"Snapshot retention",
"description":"Retention settings for saved snapshots including default days and per-object overrides.",
"default":{
"label":"Default retention",
"description":"Default number of days to retain snapshots."
},
"mode":{
"label":"Retention mode",
"description":"Mode for retention: all (save all segments), motion (save segments with motion), or active_objects (save segments with active objects)."
},
"objects":{
"label":"Object retention",
"description":"Per-object overrides for snapshot retention days."
}
},
"quality":{
"label":"JPEG quality",
"description":"JPEG encode quality for saved snapshots (0-100)."
}
},
"timestamp_style":{
"label":"Timestamp style",
"description":"Styling options for in-feed timestamps applied to recordings and snapshots.",
"position":{
"label":"Timestamp position",
"description":"Position of the timestamp on the image (tl/tr/bl/br)."
},
"format":{
"label":"Timestamp format",
"description":"Datetime format string used for timestamps (Python datetime format codes)."
},
"color":{
"label":"Timestamp color",
"description":"RGB color values for the timestamp text (all values 0-255).",
"red":{
"label":"Red",
"description":"Red component (0-255) for timestamp color."
},
"green":{
"label":"Green",
"description":"Green component (0-255) for timestamp color."
},
"blue":{
"label":"Blue",
"description":"Blue component (0-255) for timestamp color."
}
},
"thickness":{
"label":"Timestamp thickness",
"description":"Line thickness of the timestamp text."
},
"effect":{
"label":"Timestamp effect",
"description":"Visual effect for the timestamp text (none, solid, shadow)."
}
},
"best_image_timeout":{
"label":"Best image timeout",
"description":"How long to wait for the image with the highest confidence score."
},
"mqtt":{
"label":"MQTT",
"description":"MQTT image publishing settings.",
"enabled":{
"label":"Send image",
"description":"Enable publishing image snapshots for objects to MQTT topics for this camera."
},
"timestamp":{
"label":"Add timestamp",
"description":"Overlay a timestamp on images published to MQTT."
},
"bounding_box":{
"label":"Add bounding box",
"description":"Draw bounding boxes on images published over MQTT."
},
"crop":{
"label":"Crop image",
"description":"Crop images published to MQTT to the detected object's bounding box."
},
"height":{
"label":"Image height",
"description":"Height (pixels) to resize images published over MQTT."
},
"required_zones":{
"label":"Required zones",
"description":"Zones that an object must enter for an MQTT image to be published."
},
"quality":{
"label":"JPEG quality",
"description":"JPEG quality for images published to MQTT (0-100)."
}
},
"notifications":{
"label":"Notifications",
"description":"Settings to enable and control notifications for this camera.",
"enabled":{
"label":"Enable notifications",
"description":"Enable or disable notifications for this camera."
},
"email":{
"label":"Notification email",
"description":"Email address used for push notifications or required by certain notification providers."
},
"cooldown":{
"label":"Cooldown period",
"description":"Cooldown (seconds) between notifications to avoid spamming recipients."
},
"enabled_in_config":{
"label":"Original notifications state",
"description":"Indicates whether notifications were enabled in the original static configuration."
}
},
"onvif":{
"label":"ONVIF",
"description":"ONVIF connection and PTZ autotracking settings for this camera.",
"host":{
"label":"ONVIF host",
"description":"Host (and optional scheme) for the ONVIF service for this camera."
},
"port":{
"label":"ONVIF port",
"description":"Port number for the ONVIF service."
},
"user":{
"label":"ONVIF username",
"description":"Username for ONVIF authentication; some devices require admin user for ONVIF."
},
"password":{
"label":"ONVIF password",
"description":"Password for ONVIF authentication."
},
"tls_insecure":{
"label":"Disable TLS verify",
"description":"Skip TLS verification and disable digest auth for ONVIF (unsafe; use in safe networks only)."
},
"autotracking":{
"label":"Autotracking",
"description":"Automatically track moving objects and keep them centered in the frame using PTZ camera movements.",
"enabled":{
"label":"Enable Autotracking",
"description":"Enable or disable automatic PTZ camera tracking of detected objects."
},
"calibrate_on_startup":{
"label":"Calibrate on start",
"description":"Measure PTZ motor speeds on startup to improve tracking accuracy. Frigate will update config with movement_weights after calibration."
"description":"Control zoom level on tracked objects. Lower values keep more scene in view; higher values zoom in closer but may lose tracking. Values between 0.1 and 0.75."
},
"track":{
"label":"Tracked objects",
"description":"List of object types that should trigger autotracking."
},
"required_zones":{
"label":"Required zones",
"description":"Objects must enter one of these zones before autotracking begins."
},
"return_preset":{
"label":"Return preset",
"description":"ONVIF preset name configured in camera firmware to return to after tracking ends."
},
"timeout":{
"label":"Return timeout",
"description":"Wait this many seconds after losing tracking before returning camera to preset position."
},
"movement_weights":{
"label":"Movement weights",
"description":"Calibration values automatically generated by camera calibration. Do not modify manually."
},
"enabled_in_config":{
"label":"Original autotrack state",
"description":"Internal field to track whether autotracking was enabled in configuration."
}
},
"ignore_time_mismatch":{
"label":"Ignore time mismatch",
"description":"Ignore time synchronization differences between camera and Frigate server for ONVIF communication."
}
},
"type":{
"label":"Camera type",
"description":"Camera Type"
},
"ui":{
"label":"Camera UI",
"description":"Display ordering and visibility for this camera in the UI. Ordering affects the default dashboard. For more granular control, use camera groups.",
"order":{
"label":"UI order",
"description":"Numeric order used to sort the camera in the UI (default dashboard and lists); larger numbers appear later."
},
"dashboard":{
"label":"Show in UI",
"description":"Toggle whether this camera is visible everywhere in the Frigate UI. Disabling this will require manually editing the config to view this camera in the UI again."
}
},
"webui_url":{
"label":"Camera URL",
"description":"URL to visit the camera directly from system page"
"description":"Filters to apply to objects within this zone. Used to reduce false positives or restrict which objects are considered present in the zone.",
"min_area":{
"label":"Minimum object area",
"description":"Minimum bounding box area (pixels or percentage) required for this object type. Can be pixels (int) or percentage (float between 0.000001 and 0.99)."
},
"max_area":{
"label":"Maximum object area",
"description":"Maximum bounding box area (pixels or percentage) allowed for this object type. Can be pixels (int) or percentage (float between 0.000001 and 0.99)."
},
"min_ratio":{
"label":"Minimum aspect ratio",
"description":"Minimum width/height ratio required for the bounding box to qualify."
},
"max_ratio":{
"label":"Maximum aspect ratio",
"description":"Maximum width/height ratio allowed for the bounding box to qualify."
},
"threshold":{
"label":"Confidence threshold",
"description":"Average detection confidence threshold required for the object to be considered a true positive."
},
"min_score":{
"label":"Minimum confidence",
"description":"Minimum single-frame detection confidence required for the object to be counted."
},
"mask":{
"label":"Filter mask",
"description":"Polygon coordinates defining where this filter applies within the frame."
},
"raw_mask":{
"label":"Raw Mask"
}
},
"coordinates":{
"label":"Coordinates",
"description":"Polygon coordinates that define the zone area. Can be a comma-separated string or a list of coordinate strings. Coordinates should be relative (0-1) or absolute (legacy)."
},
"distances":{
"label":"Real-world distances",
"description":"Optional real-world distances for each side of the zone quadrilateral, used for speed or distance calculations. Must have exactly 4 values if set."
},
"inertia":{
"label":"Inertia frames",
"description":"Number of consecutive frames an object must be detected in the zone before it is considered present. Helps filter out transient detections."
},
"loitering_time":{
"label":"Loitering seconds",
"description":"Number of seconds an object must remain in the zone to be considered as loitering. Set to 0 to disable loitering detection."
},
"speed_threshold":{
"label":"Minimum speed",
"description":"Minimum speed (in real-world units if distances are set) required for an object to be considered present in the zone. Used for speed-based zone triggers."
},
"objects":{
"label":"Trigger objects",
"description":"List of object types (from labelmap) that can trigger this zone. Can be a string or a list of strings. If empty, all objects are considered."
}
},
"enabled_in_config":{
"label":"Original camera state",
"description":"Keep track of original state of camera."