A fork of blakeblackshear/frigate.
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.
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.
- 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
PYTHONDONTWRITEBYTECODEon the devcontainer service so the container stops writing root owned__pycache__into the bind mounted working tree, where it cannot be cleaned up withoutsudo.
- 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.
