* Add combined motion and object Birdseye mode Add a motion_objects mode that keeps Birdseye active when motion is detected or a confirmed tracked object is present, including stationary objects. Wire the mode through configuration, runtime commands, API schemas, documentation, and UI labels. Exclude false-positive trackers and add regression coverage for Birdseye activation and MQTT validation. * Refactor Birdseye activity types as booleans Replace combination-specific Birdseye modes with composable boolean activity types for motion, active objects, stationary objects, and continuous display. Preserve legacy single-mode configuration and MQTT inputs, support canonical comma-separated MQTT combinations, and allow scalar YAML values to be replaced by nested settings through the config API. * Preserve OpenVINO config translations Regenerate the configuration translations with the OpenVINO detector schema available so the unrelated production detector labels remain intact. * Preserve partial Birdseye mode overrides Allow an empty activity selection with a canonical NONE MQTT state so partial camera and profile overrides can disable inherited flags without failing validation. Add regression coverage for camera and profile inheritance, document the NONE contract, and keep the generated schema fixture scoped to Birdseye. * Address Birdseye activity review feedback Move scalar mode compatibility into the 0.18-1 config migration and reject empty activity selections instead of publishing a NONE state. Pass activity signals through a frozen dataclass, preserve existing active-object tracker behavior, and require confirmed stationary objects. Revert the generic YAML mutation and cover migration, inheritance, MQTT, and activation regressions. * Move Birdseye migration to 0.19 Use the 0.19-0 configuration revision for converting scalar Birdseye modes to composable activity flags, and update the migration regression coverage accordingly. * Remove Birdseye migration test Drop the dedicated config migration test as requested during review while retaining the 0.19-0 migration implementation.
7.1 KiB
Birdseye
import ConfigTabs from "@site/src/components/ConfigTabs"; import TabItem from "@theme/TabItem"; import NavPath from "@site/src/components/NavPath";
In addition to Frigate's Live camera dashboard, Birdseye allows a portable heads-up view of your cameras to see what is going on around your property / space without having to watch all cameras that may have nothing happening. Birdseye allows specific modes that intelligently show and disappear based on what you care about.
Birdseye can be viewed by adding the "Birdseye" camera to a Camera Group in the Web UI. Add a Camera Group by pressing the pencil icon in the sidebar on the Live page, and choose "Birdseye" as one of the cameras.
Birdseye can also be used in Home Assistant dashboards, cast to media devices, etc.
:::note
Each camera tile in Birdseye is composed from the frames of the stream assigned the detect role, so a camera's image quality in Birdseye matches its detect stream resolution rather than a higher-resolution recording stream. If a camera looks low quality in Birdseye, increasing the detect width and height (or assigning the detect role to a higher-resolution stream) is what affects it. See setting up camera inputs for how roles are assigned.
:::
Birdseye Behavior
Birdseye Activity Types
Birdseye offers independent activity types that control when cameras are shown. Multiple activity types can be enabled together.
- continuous: The camera is always included
- motion: The camera is included when motion was detected within the last 30 seconds
- objects: The camera is included when an active object was tracked within the last 30 seconds
- stationary_objects: The camera is included while a stationary object is tracked
Custom Birdseye Icon
A custom icon can be added to the birdseye background by providing a 180x180 image named custom.png inside of the Frigate media folder. The file must be a png with the icon as transparent, any non-transparent pixels will be white when displayed in the birdseye view.
Birdseye view override at camera level
To include a camera in Birdseye view only for specific circumstances, or exclude it entirely, configure Birdseye at the camera level.
Global settings: Navigate to to configure the default Birdseye behavior for all cameras.
Per-camera overrides: Navigate to to override the activity types or disable Birdseye for a specific camera.
| Field | Description |
|---|---|
| Enable Birdseye | Whether this camera appears in Birdseye view |
| Activity types | Conditions that determine when to show the camera |
# Include all cameras by default in Birdseye view
birdseye:
enabled: True
mode:
continuous: True
cameras:
front:
# Only include the "front" camera in Birdseye view when objects are detected
birdseye:
mode:
continuous: False
objects: True
back:
# Exclude the "back" camera from Birdseye view
birdseye:
enabled: False
Birdseye Inactivity
By default birdseye shows all cameras that have had the configured activity in the last 30 seconds. This threshold can be configured.
Navigate to .
| Field | Description |
|---|---|
| Inactivity threshold | Seconds of inactivity before a camera is hidden from Birdseye (default: 30) |
birdseye:
enabled: True
# highlight-next-line
inactivity_threshold: 15
Birdseye Layout
Birdseye Dimensions
The resolution and aspect ratio of birdseye can be configured. Resolution will increase the quality but does not affect the layout. Changing the aspect ratio of birdseye does affect how cameras are laid out.
Navigate to .
| Field | Description |
|---|---|
| Width | Birdseye output width in pixels (default: 1280) |
| Height | Birdseye output height in pixels (default: 720) |
birdseye:
enabled: True
width: 1280
height: 720
Sorting cameras in the Birdseye view
It is possible to override the order of cameras that are being shown in the Birdseye view. The order is set at the camera level (when using YAML).
Navigate to and in the Camera order field, use the drag handle next to each camera name to control the display order.
# Include all cameras by default in Birdseye view
birdseye:
enabled: True
mode: continuous
cameras:
front:
birdseye:
# highlight-next-line
order: 1
back:
birdseye:
# highlight-next-line
order: 2
Note: Cameras are sorted by default using their name to ensure a constant view inside Birdseye.
Birdseye Cameras
It is possible to limit the number of cameras shown on birdseye at one time. When this is enabled, birdseye will show the cameras with most recent activity. There is a cooldown to ensure that cameras do not switch too frequently.
Navigate to .
| Field | Description |
|---|---|
| Layout > Max cameras | Maximum number of cameras shown at once (e.g., 1 for only the most active camera) |
birdseye:
enabled: True
layout:
max_cameras: 1
Birdseye Scaling
By default birdseye tries to fit 2 cameras in each row and then double in size until a suitable layout is found. The scaling can be configured with a value between 1.0 and 5.0 depending on use case.
Navigate to .
| Field | Description |
|---|---|
| Layout > Scaling factor | Camera scaling factor between 1.0 and 5.0 (default: 2.0) |
birdseye:
enabled: True
layout:
scaling_factor: 3.0