فهرست منبع

allow specifying labels to save clips for

Blake Blackshear 4 سال پیش
والد
کامیت
780ae7cd4f
2فایلهای تغییر یافته به همراه14 افزوده شده و 2 حذف شده
  1. 5 0
      config/config.example.yml
  2. 9 2
      frigate/events.py

+ 5 - 0
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

+ 9 - 2
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']]