From 4fc2a5f3401a8acd9b54ef49cce3a45448f2dc25 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Sun, 1 Oct 2023 22:01:13 -0500 Subject: [PATCH] only try absolute zoom in if obj area has changed --- frigate/ptz/autotrack.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/frigate/ptz/autotrack.py b/frigate/ptz/autotrack.py index ddc7d176b..1f2ee0a95 100644 --- a/frigate/ptz/autotrack.py +++ b/frigate/ptz/autotrack.py @@ -674,6 +674,16 @@ class PtzAutoTracker: zoom = min(1.0, zoom_level + 0.1) else: zoom = max(0.0, zoom_level - 0.1) + # don't make small movements to zoom in if area hasn't changed significantly + # but always zoom out if necessary + if ( + "area" in obj.previous + and abs(obj.obj_data["area"] - obj.previous["area"]) + / obj.obj_data["area"] + < 0.3 + and zoom >= zoom_level + ): + zoom = 0 # relative zooming concurrently with pan/tilt if camera_config.onvif.autotracking.zooming == ZoomingModeEnum.relative: