diff --git a/README.md b/README.md index 1c12c4d35..1e52f28f0 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ You see multiple bounding boxes because it draws bounding boxes from all frames Run the container with ```bash docker run --rm \ --name frigate \ +-name blakeblackshear/frigate:stable \ --privileged \ --shm-size=512m \ # should work for a 2-3 cameras -v /dev/bus/usb:/dev/bus/usb \ diff --git a/config/config.example.yml b/config/config.example.yml index d06aee854..dc895d5d7 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -140,6 +140,12 @@ cameras: ################ take_frame: 1 + ################ + # The number of seconds to retain the highest scoring image for the best.jpg endpoint before allowing it + # to be replaced by a newer image. Defaults to 60 seconds. + ################ + best_image_timeout: 60 + ################ # MQTT settings ################ diff --git a/frigate/object_processing.py b/frigate/object_processing.py index 9a99dd5a7..3308e1c20 100644 --- a/frigate/object_processing.py +++ b/frigate/object_processing.py @@ -193,8 +193,8 @@ class CameraState(): current_best = self.best_objects[object_type] now = datetime.datetime.now().timestamp() # if the object is a higher score than the current best score - # or the current object is more than 1 minute old, use the new object - if obj_copy['score'] > current_best['score'] or (now - current_best['frame_time']) > 60: + # or the current object is older than desired, use the new object + if obj_copy['score'] > current_best['score'] or (now - current_best['frame_time']) > self.config.get('best_image_timeout', 60): obj_copy['frame'] = np.copy(self.current_frame) self.best_objects[object_type] = obj_copy for c in self.callbacks['snapshot']: