From 85ed8c6432b139bb56616387ffa3c9ee00561396 Mon Sep 17 00:00:00 2001 From: GuoQing Liu <842607283@qq.com> Date: Sun, 22 Feb 2026 02:19:21 +0800 Subject: [PATCH 01/46] docs: fix image address (#22067) --- docs/docs/frigate/installation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/frigate/installation.md b/docs/docs/frigate/installation.md index b62c3c5748..4e0844e17c 100644 --- a/docs/docs/frigate/installation.md +++ b/docs/docs/frigate/installation.md @@ -709,7 +709,7 @@ To allow Frigate to use the Apple Silicon Neural Engine / Processing Unit (NPU) services: frigate: container_name: frigate - image: ghcr.io/blakeblackshear/frigate:stable-arm64 + image: ghcr.io/blakeblackshear/frigate:stable-standard-arm64 restart: unless-stopped shm_size: "512mb" # update for your cameras based on calculation above volumes: @@ -727,4 +727,4 @@ services: - "host.docker.internal:host-gateway" # Required to talk to the NPU detector environment: - FRIGATE_RTSP_PASSWORD: "password" -``` \ No newline at end of file +``` From c9be98f9355447fa46f8abd3c6b2964b53228e2a Mon Sep 17 00:00:00 2001 From: GuoQing Liu <842607283@qq.com> Date: Sun, 22 Feb 2026 02:19:46 +0800 Subject: [PATCH 02/46] docs: fix hailo setup numbering error (#22066) --- docs/docs/frigate/installation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/docs/frigate/installation.md b/docs/docs/frigate/installation.md index 4e0844e17c..f78db5f146 100644 --- a/docs/docs/frigate/installation.md +++ b/docs/docs/frigate/installation.md @@ -185,7 +185,7 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke This command should return no results. -3. **Run the installation script**: +2. **Run the installation script**: Download the installation script: @@ -213,7 +213,7 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke - Download and install the required firmware - Set up udev rules -4. **Reboot your system**: +3. **Reboot your system**: After the script completes successfully, reboot to load the firmware: @@ -221,7 +221,7 @@ On Raspberry Pi OS **Trixie**, the Hailo driver is no longer shipped with the ke sudo reboot ``` -5. **Verify the installation**: +4. **Verify the installation**: After rebooting, verify that the Hailo device is available: From 4d51f7a1bb25292b68d9e42153aae685eb238918 Mon Sep 17 00:00:00 2001 From: Matt Rusiniak Date: Sun, 22 Feb 2026 15:57:27 +0100 Subject: [PATCH 03/46] Fix script for downloading RF-DETR (#22083) --- docs/docs/configuration/object_detectors.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/docs/configuration/object_detectors.md b/docs/docs/configuration/object_detectors.md index d4a7f55661..3a8d599c94 100644 --- a/docs/docs/configuration/object_detectors.md +++ b/docs/docs/configuration/object_detectors.md @@ -1514,11 +1514,11 @@ RF-DETR can be exported as ONNX by running the command below. You can copy and p ```sh docker build . --build-arg MODEL_SIZE=Nano --rm --output . -f- <<'EOF' -FROM python:3.11 AS build +FROM python:3.12 AS build RUN apt-get update && apt-get install --no-install-recommends -y libgl1 && rm -rf /var/lib/apt/lists/* -COPY --from=ghcr.io/astral-sh/uv:0.8.0 /uv /bin/ +COPY --from=ghcr.io/astral-sh/uv:0.10.4 /uv /bin/ WORKDIR /rfdetr -RUN uv pip install --system rfdetr[onnxexport] torch==2.8.0 onnx==1.19.1 onnxscript +RUN uv pip install --system rfdetr[onnxexport] torch==2.8.0 onnx==1.19.1 transformers==4.57.6 onnxscript ARG MODEL_SIZE RUN python3 -c "from rfdetr import RFDETR${MODEL_SIZE}; x = RFDETR${MODEL_SIZE}(resolution=320); x.export(simplify=True)" FROM scratch From a7d8d13d9a9f0bdbe15f223d66e2dc5af16290cc Mon Sep 17 00:00:00 2001 From: Kai Curry Date: Mon, 23 Feb 2026 12:45:29 -0100 Subject: [PATCH 04/46] docs: Add frame selection and clean copy details to snapshots docs (#21946) * docs: Add frame selection and clean copy details to snapshots docs Document how Frigate selects the best frame for snapshots, explain the difference between regular snapshots and clean copies, fix internal links to use absolute paths, and highlight Frigate+ as the primary reason to keep clean_copy enabled if regular snapshot is configured clean. * revert - do not use the word event * rm clean copy is only saved when `clean_copy` is enabled * Simplified the Frame Selection section down to a single paragraph. * rm note about snapshot file ext change from png to webp --------- Co-authored-by: Kai Curry --- docs/docs/configuration/snapshots.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/docs/configuration/snapshots.md b/docs/docs/configuration/snapshots.md index 815e301baa..01c034a040 100644 --- a/docs/docs/configuration/snapshots.md +++ b/docs/docs/configuration/snapshots.md @@ -9,4 +9,25 @@ Snapshots are accessible in the UI in the Explore pane. This allows for quick su To only save snapshots for objects that enter a specific zone, [see the zone docs](./zones.md#restricting-snapshots-to-specific-zones) -Snapshots sent via MQTT are configured in the [config file](https://docs.frigate.video/configuration/) under `cameras -> your_camera -> mqtt` +Snapshots sent via MQTT are configured in the [config file](/configuration) under `cameras -> your_camera -> mqtt` + +## Frame Selection + +Frigate does not save every frame — it picks a single "best" frame for each tracked object and uses it for both the snapshot and clean copy. As the object is tracked across frames, Frigate continuously evaluates whether the current frame is better than the previous best based on detection confidence, object size, and the presence of key attributes like faces or license plates. Frames where the object touches the edge of the frame are deprioritized. The snapshot is written to disk once tracking ends using whichever frame was determined to be the best. + +MQTT snapshots are published more frequently — each time a better thumbnail frame is found during tracking, or when the current best image is older than `best_image_timeout` (default: 60s). These use their own annotation settings configured under `cameras -> your_camera -> mqtt`. + +## Clean Copy + +Frigate can produce up to two snapshot files per event, each used in different places: + +| Version | File | Annotations | Used by | +| --- | --- | --- | --- | +| **Regular snapshot** | `-.jpg` | Respects your `timestamp`, `bounding_box`, `crop`, and `height` settings | API (`/api/events//snapshot.jpg`), MQTT (`/