mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-08 12:15:25 +03:00
don't split up large ptz movements
This commit is contained in:
parent
73dfdad4c7
commit
da09e3904e
@ -734,11 +734,12 @@ class PtzAutoTracker:
|
|||||||
and frame_time > self.ptz_metrics[camera]["ptz_stop_time"].value
|
and frame_time > self.ptz_metrics[camera]["ptz_stop_time"].value
|
||||||
and not self.move_queue_locks[camera].locked()
|
and not self.move_queue_locks[camera].locked()
|
||||||
):
|
):
|
||||||
# split up any large moves caused by velocity estimated movements
|
# we can split up any large moves caused by velocity estimated movements if necessary
|
||||||
|
# get an excess amount and assign it instead of 0 below
|
||||||
while pan != 0 or tilt != 0 or zoom != 0:
|
while pan != 0 or tilt != 0 or zoom != 0:
|
||||||
pan, pan_excess = split_value(pan)
|
pan, _ = split_value(pan)
|
||||||
tilt, tilt_excess = split_value(tilt)
|
tilt, _ = split_value(tilt)
|
||||||
zoom, zoom_excess = split_value(zoom, False)
|
zoom, _ = split_value(zoom, False)
|
||||||
|
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"{camera}: Enqueue movement for frame time: {frame_time} pan: {pan}, tilt: {tilt}, zoom: {zoom}"
|
f"{camera}: Enqueue movement for frame time: {frame_time} pan: {pan}, tilt: {tilt}, zoom: {zoom}"
|
||||||
@ -746,9 +747,10 @@ class PtzAutoTracker:
|
|||||||
move_data = (frame_time, pan, tilt, zoom)
|
move_data = (frame_time, pan, tilt, zoom)
|
||||||
self.move_queues[camera].put(move_data)
|
self.move_queues[camera].put(move_data)
|
||||||
|
|
||||||
pan = pan_excess
|
# reset values to not split up large movements
|
||||||
tilt = tilt_excess
|
pan = 0
|
||||||
zoom = zoom_excess
|
tilt = 0
|
||||||
|
zoom = 0
|
||||||
|
|
||||||
def _touching_frame_edges(self, camera, box):
|
def _touching_frame_edges(self, camera, box):
|
||||||
camera_config = self.config.cameras[camera]
|
camera_config = self.config.cameras[camera]
|
||||||
@ -1152,7 +1154,9 @@ class PtzAutoTracker:
|
|||||||
"target_box"
|
"target_box"
|
||||||
] + self._predict_area_after_time(
|
] + self._predict_area_after_time(
|
||||||
camera, predicted_movement_time
|
camera, predicted_movement_time
|
||||||
) / (camera_width * camera_height)
|
) / (
|
||||||
|
camera_width * camera_height
|
||||||
|
)
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"{camera}: Zooming prediction: predicted movement time: {predicted_movement_time}, original box: {self.tracked_object_metrics[camera]['target_box']}, calculated box: {calculated_target_box}"
|
f"{camera}: Zooming prediction: predicted movement time: {predicted_movement_time}, original box: {self.tracked_object_metrics[camera]['target_box']}, calculated box: {calculated_target_box}"
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user