diff --git a/config/config.example.yml b/config/config.example.yml index 40a88b962..bd34db352 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -190,6 +190,11 @@ cameras: # Number of seconds before the event to include in the clips ######### pre_capture: 30 + ######### + # Objects to save clips for. Defaults to all tracked object types. + ######### + # objects: + # - person ################ # Configuration for the snapshots in the debug view and mqtt diff --git a/frigate/events.py b/frigate/events.py index e51b9077c..3baaaca79 100644 --- a/frigate/events.py +++ b/frigate/events.py @@ -147,12 +147,19 @@ class EventProcessor(threading.Thread): self.refresh_cache() + save_clips_config = self.config[camera].get('save_clips', {}) + + # if specific objects are listed for this camera, only save clips for them + if 'objects' in save_clips_config: + if not event_data['label'] in save_clips_config['objects']: + continue + if event_type == 'start': self.events_in_process[event_data['id']] = event_data if event_type == 'end': - if self.config[camera].get('save_clips', {}).get('enabled', False) and len(self.cached_clips) > 0 and not event_data['false_positive']: - self.create_clip(camera, event_data, self.config[camera].get('save_clips', {}).get('pre_capture', 30)) + if save_clips_config.get('enabled', False) and len(self.cached_clips) > 0 and not event_data['false_positive']: + self.create_clip(camera, event_data, save_clips_config.get('pre_capture', 30)) del self.events_in_process[event_data['id']] \ No newline at end of file