From 9db1ccb3f97b246ba57f1c185ea3340ea7d12455 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Fri, 15 Aug 2025 06:17:40 -0600 Subject: [PATCH] Adjust frame selection logic --- .../data_processing/post/review_descriptions.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/frigate/data_processing/post/review_descriptions.py b/frigate/data_processing/post/review_descriptions.py index fa26c486a..6293241b8 100644 --- a/frigate/data_processing/post/review_descriptions.py +++ b/frigate/data_processing/post/review_descriptions.py @@ -169,10 +169,8 @@ class ReviewDescriptionProcessor(PostProcessorApi): ) -> list[str]: preview_dir = os.path.join(CACHE_DIR, "preview_frames") file_start = f"preview_{camera}" - - # 30 seconds padding to ensure that a frame before & after the activity is considered - start_file = f"{file_start}-{start_time - 30}.webp" - end_file = f"{file_start}-{end_time + 30}.webp" + start_file = f"{file_start}-{start_time}.webp" + end_file = f"{file_start}-{end_time}.webp" all_frames = [] for file in sorted(os.listdir(preview_dir)): @@ -180,9 +178,15 @@ class ReviewDescriptionProcessor(PostProcessorApi): continue if file < start_file: + if len(all_frames): + all_frames[0] = os.path.join(preview_dir, file) + else: + all_frames.append(os.path.join(preview_dir, file)) + continue if file > end_file: + all_frames.append(os.path.join(preview_dir, file)) break all_frames.append(os.path.join(preview_dir, file)) @@ -217,7 +221,9 @@ def run_analysis( "id": final_data["id"], "camera": camera, "zones": final_data["data"]["zones"], - "start": datetime.datetime.fromtimestamp(final_data["start_time"]).strftime("%A, %I:%M %p"), + "start": datetime.datetime.fromtimestamp(final_data["start_time"]).strftime( + "%A, %I:%M %p" + ), "duration": final_data["end_time"] - final_data["start_time"], }