From af180729c1c6fa15c859d126cbef87bfe9924fa8 Mon Sep 17 00:00:00 2001 From: Nick Mowen Date: Thu, 15 Jun 2023 07:35:29 -0600 Subject: [PATCH] Prefer horizontal layout to vertical --- frigate/output.py | 56 +++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/frigate/output.py b/frigate/output.py index d04519997..7cb8f3150 100644 --- a/frigate/output.py +++ b/frigate/output.py @@ -277,7 +277,34 @@ class BirdsEyeFrameManager: second_camera_dims = self.cameras[second_camera]["dimensions"].copy() # check for optimal layout - if first_camera_dims[0] + second_camera_dims[0] < canvas_width: + if first_camera_dims[0] + second_camera_dims[0] > canvas_width: + # place cameras vertically + top_scaled_width = int( + (canvas_height / 2) * first_camera_dims[0] / first_camera_dims[1] + ) + bottom_scaled_width = int( + (canvas_height / 2) * second_camera_dims[0] / second_camera_dims[1] + ) + return [ + [ + ( + first_camera, + (0, 0, top_scaled_width, int(canvas_height / 2)), + ) + ], + [ + ( + second_camera, + ( + 0, + int(canvas_height / 2), + bottom_scaled_width, + int(canvas_height / 2), + ), + ) + ], + ] + else: # place cameras horizontally first_scaled_width = int( canvas_height * first_camera_dims[0] / first_camera_dims[1] @@ -321,33 +348,6 @@ class BirdsEyeFrameManager: ), ], ] - else: - # place cameras vertically - top_scaled_width = int( - (canvas_height / 2) * first_camera_dims[0] / first_camera_dims[1] - ) - bottom_scaled_width = int( - (canvas_height / 2) * second_camera_dims[0] / second_camera_dims[1] - ) - return [ - [ - ( - first_camera, - (0, 0, top_scaled_width, int(canvas_height / 2)), - ) - ], - [ - ( - second_camera, - ( - 0, - int(canvas_height / 2), - bottom_scaled_width, - int(canvas_height / 2), - ), - ) - ], - ] def calculate_layout( canvas, cameras_to_add: list[str], coefficient