Fix frigate live view by capping detect FPS (#204)

## Summary
- Cap detect FPS to 2 to prevent recording segment backlog from ONNX inference bottleneck (~750ms/frame on ARM64 CPU)
- Sync motion masks from live config (added second mask area)
- Update driveway_entrance zone coordinates from live config
- Add explicit alert labels `[person, car]` while keeping `required_zones: [driveway_entrance]`

## Context
The "No frames have been received" error on the gablecam live view was caused by the detect stream falling behind — ONNX YOLO-NAS-s takes ~750ms per inference on ARM64 CPU, but the sub-stream sends 5 FPS. This caused recording segments to pile up and the ffmpeg watchdog to repeatedly kill/restart the process, creating gaps in the live view.

## Test plan
- [ ] Sync ArgoCD `frigate` app to branch and verify pod restarts cleanly
- [ ] Check `/api/stats` — `skipped_fps` should drop significantly, `process_fps` should be close to 2
- [ ] Verify live view at https://nvr.ops.eblu.me/#gablecam no longer shows "No frames" error
- [ ] Verify detections and alerts still work in the driveway_entrance zone

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/204
This commit is contained in:
Erich Blume 2026-02-17 16:18:02 -08:00
commit acd213559e
2 changed files with 5 additions and 1 deletions

View file

@ -30,18 +30,21 @@ data:
roles: [detect]
detect:
enabled: true
fps: 2
stationary:
max_frames:
default: 1500
motion:
mask:
- 0.401,0.026,0.4,0.078,0.587,0.072,0.585,0.02
- 0.881,0.422,0.79,0.233,0.593,0.038,0.553,0,0.634,0,0.824,0.192,0.892,0.307
zones:
driveway_entrance:
coordinates: 0.85,0.366,0.689,0.347,0.661,0.175,0.795,0.255
coordinates: 0.85,0.366,0.781,0.35,0.734,0.222,0.795,0.255
objects: [car, dog, person]
review:
alerts:
labels: [person, car]
required_zones:
- driveway_entrance
objects:

View file

@ -0,0 +1 @@
Cap detect FPS to 2 and sync motion masks/zones from live config