mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-05 18:55:23 +03:00
Init if enabled when initially disabled in config
This commit is contained in:
parent
e883e00c74
commit
98d534918a
@ -116,10 +116,15 @@ class PtzAutoTracker:
|
||||
self.required_zones = {}
|
||||
self.move_queues = {}
|
||||
self.move_threads = {}
|
||||
self.autotracker_init = {}
|
||||
|
||||
# if cam is set to autotrack, onvif should be set up
|
||||
for camera_name, cam in self.config.cameras.items():
|
||||
self.autotracker_init[camera_name] = False
|
||||
if cam.onvif.autotracking.enabled:
|
||||
self._autotracker_setup(cam, camera_name)
|
||||
|
||||
def _autotracker_setup(self, cam, camera_name):
|
||||
logger.debug(f"Autotracker init for cam: {camera_name}")
|
||||
|
||||
self.object_types[camera_name] = cam.onvif.autotracking.track
|
||||
@ -130,10 +135,10 @@ class PtzAutoTracker:
|
||||
|
||||
self.move_queues[camera_name] = queue.Queue()
|
||||
|
||||
if not onvif.cams[camera_name]["init"]:
|
||||
if not self.onvif.cams[camera_name]["init"]:
|
||||
if not self.onvif._init_onvif(camera_name):
|
||||
return
|
||||
if not onvif.cams[camera_name]["relative_fov_supported"]:
|
||||
if not self.onvif.cams[camera_name]["relative_fov_supported"]:
|
||||
cam.onvif.autotracking.enabled = False
|
||||
self.camera_metrics[camera_name][
|
||||
"ptz_autotracker_enabled"
|
||||
@ -145,12 +150,15 @@ class PtzAutoTracker:
|
||||
return
|
||||
|
||||
# movement thread per camera
|
||||
if not self.move_threads or not self.move_threads[camera_name]:
|
||||
self.move_threads[camera_name] = threading.Thread(
|
||||
target=partial(self._process_move_queue, camera_name)
|
||||
)
|
||||
self.move_threads[camera_name].daemon = True
|
||||
self.move_threads[camera_name].start()
|
||||
|
||||
self.autotracker_init[camera_name] = True
|
||||
|
||||
def _process_move_queue(self, camera):
|
||||
while True:
|
||||
try:
|
||||
@ -314,6 +322,8 @@ class PtzAutoTracker:
|
||||
autotracker_config = self.config.cameras[camera].onvif.autotracking
|
||||
|
||||
if autotracker_config.enabled:
|
||||
if not self.autotracker_init[camera]:
|
||||
self._autotracker_setup(self.config.cameras[camera], camera)
|
||||
# regularly update camera status
|
||||
if self.camera_metrics[camera]["ptz_moving"].value:
|
||||
self.onvif.get_camera_status(camera)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user