mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
allow motion based retention when detect is disabled
This commit is contained in:
parent
5792cf042e
commit
583912db9c
@ -491,19 +491,15 @@ def process_frames(
|
|||||||
logger.info(f"{camera_name}: frame {frame_time} is not in memory store.")
|
logger.info(f"{camera_name}: frame {frame_time} is not in memory store.")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if not detection_enabled.value:
|
|
||||||
fps.value = fps_tracker.eps()
|
|
||||||
object_tracker.match_and_update(frame_time, [])
|
|
||||||
detected_objects_queue.put(
|
|
||||||
(camera_name, frame_time, object_tracker.tracked_objects, [], [])
|
|
||||||
)
|
|
||||||
detection_fps.value = object_detector.fps.eps()
|
|
||||||
frame_manager.close(f"{camera_name}{frame_time}")
|
|
||||||
continue
|
|
||||||
|
|
||||||
# look for motion
|
# look for motion
|
||||||
motion_boxes = motion_detector.detect(frame)
|
motion_boxes = motion_detector.detect(frame)
|
||||||
|
|
||||||
|
regions = []
|
||||||
|
|
||||||
|
# if detection is disabled
|
||||||
|
if not detection_enabled.value:
|
||||||
|
object_tracker.match_and_update(frame_time, [])
|
||||||
|
else:
|
||||||
# get stationary object ids
|
# get stationary object ids
|
||||||
# check every Nth frame for stationary objects
|
# check every Nth frame for stationary objects
|
||||||
# disappeared objects are not stationary
|
# disappeared objects are not stationary
|
||||||
@ -565,7 +561,13 @@ def process_frames(
|
|||||||
xmax = int(frame_shape[1] / 3 + xmin)
|
xmax = int(frame_shape[1] / 3 + xmin)
|
||||||
regions.append(
|
regions.append(
|
||||||
calculate_region(
|
calculate_region(
|
||||||
frame_shape, xmin, ymin, xmax, ymax, region_min_size, multiplier=1.2
|
frame_shape,
|
||||||
|
xmin,
|
||||||
|
ymin,
|
||||||
|
xmax,
|
||||||
|
ymax,
|
||||||
|
region_min_size,
|
||||||
|
multiplier=1.2,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
startup_scan_counter += 1
|
startup_scan_counter += 1
|
||||||
@ -626,7 +628,12 @@ def process_frames(
|
|||||||
box = obj[2]
|
box = obj[2]
|
||||||
# calculate a new region that will hopefully get the entire object
|
# calculate a new region that will hopefully get the entire object
|
||||||
region = calculate_region(
|
region = calculate_region(
|
||||||
frame_shape, box[0], box[1], box[2], box[3], region_min_size
|
frame_shape,
|
||||||
|
box[0],
|
||||||
|
box[1],
|
||||||
|
box[2],
|
||||||
|
box[3],
|
||||||
|
region_min_size,
|
||||||
)
|
)
|
||||||
|
|
||||||
regions.append(region)
|
regions.append(region)
|
||||||
|
Loading…
Reference in New Issue
Block a user