Skip to content

Latest commit

 

History

History
59 lines (44 loc) · 2.8 KB

File metadata and controls

59 lines (44 loc) · 2.8 KB

Frigate NVR (fork)

A fork of blakeblackshear/frigate.

New features

Recording coverage

Frigate discards recording segments in several places, and a camera whose stream goes down produces nothing to discard in the first place. The only trace of any of it was a line in the log, so the usual way to find out that footage was missing was to scrub onto the hole.

A Recording Coverage grid on the System page's Storage tab reports it directly. Every cell is one hour of one camera, shaded by how much of that hour is absent from the recordings database, with an hour of day profile underneath for losses that repeat on a schedule. A coverage percentage is reported only where continuous retention makes one meaningful; event only cameras get a "when was footage kept" view instead, because for them an empty hour is the normal case. It is computed from the existing hourly recordings summary, so it adds no backend code or storage.

Documentation

Motion tuner threshold preview

Draws a patch over the camera image while a motion slider is held, sized by contour_area and strobing by threshold, so both can be judged against the scene instead of computed by hand. Neither value is in units the image shows: contour area is measured on the downscaled motion frame, and threshold is a luma delta against the running background.

The motion tuner showing a dashed patch over the camera image while a slider is held

Minor improvements

  • Region grid clear coverage. Tests for upstream's fix that keeps a cleared region grid cleared across a rebuild, which upstream shipped without any.
  • Devcontainer bytecode. Sets PYTHONDONTWRITEBYTECODE on the devcontainer service so the container stops writing root owned __pycache__ into the bind mounted working tree, where it cannot be cleaned up without sudo.

Developed on branches, not merged here

  • Detection region budget (region-budget). Bounds how many object detection regions each camera may run per second, and spends whatever capacity it has on the most valuable regions first, so that a camera in a motion storm degrades on its own instead of slowing down every other camera. Regions covering already tracked objects are always prioritized over new motion, so what degrades under pressure is how quickly new objects are discovered rather than how reliably existing ones are followed. Disabled by default, and reports what it would have done while off. Documentation.

Screenshots are taken against sample data on a test instance, not a live system.