use global and ensure dirs exist

This commit is contained in:
Blake Blackshear 2020-10-18 12:05:49 -05:00
parent 0fe8d486d9
commit 939d1ba091

View File

@ -35,6 +35,14 @@ elif CONFIG_FILE.endswith(".json"):
with open(CONFIG_FILE) as f: with open(CONFIG_FILE) as f:
CONFIG = json.load(f) CONFIG = json.load(f)
CACHE_DIR = CONFIG.get('save_clips', {}).get('cache_dir', '/cache')
CLIPS_DIR = CONFIG.get('save_clips', {}).get('clips_dir', '/cache')
if not os.path.exists(CACHE_DIR):
os.makedirs(CACHE_DIR)
if not os.path.exists(CLIPS_DIR):
os.makedirs(CLIPS_DIR)
MQTT_HOST = CONFIG['mqtt']['host'] MQTT_HOST = CONFIG['mqtt']['host']
MQTT_PORT = CONFIG.get('mqtt', {}).get('port', 1883) MQTT_PORT = CONFIG.get('mqtt', {}).get('port', 1883)
MQTT_TOPIC_PREFIX = CONFIG.get('mqtt', {}).get('topic_prefix', 'frigate') MQTT_TOPIC_PREFIX = CONFIG.get('mqtt', {}).get('topic_prefix', 'frigate')
@ -214,7 +222,6 @@ def main():
if not config.get('fps') is None: if not config.get('fps') is None:
ffmpeg_output_args = ["-r", str(config.get('fps'))] + ffmpeg_output_args ffmpeg_output_args = ["-r", str(config.get('fps'))] + ffmpeg_output_args
if config.get('save_clips', {}).get('enabled', False): if config.get('save_clips', {}).get('enabled', False):
cache_dir = config.get('save_clips', {}).get('cache_dir', '/cache')
ffmpeg_output_args = [ ffmpeg_output_args = [
"-f", "-f",
"segment", "segment",
@ -231,7 +238,7 @@ def main():
"-an", "-an",
"-map", "-map",
"0", "0",
f"{os.path.join(cache_dir, name)}-%Y%m%d%H%M%S.mp4" f"{os.path.join(CACHE_DIR, name)}-%Y%m%d%H%M%S.mp4"
] + ffmpeg_output_args ] + ffmpeg_output_args
ffmpeg_cmd = (['ffmpeg'] + ffmpeg_cmd = (['ffmpeg'] +
ffmpeg_global_args + ffmpeg_global_args +
@ -297,10 +304,7 @@ def main():
camera_process['process'].start() camera_process['process'].start()
print(f"Camera_process started for {name}: {camera_process['process'].pid}") print(f"Camera_process started for {name}: {camera_process['process'].pid}")
event_processor = EventProcessor(CONFIG, camera_processes, CACHE_DIR, CLIPS_DIR, event_queue, stop_event)
cache_dir = config.get('save_clips', {}).get('cache_dir', '/cache')
clips_dir = config.get('save_clips', {}).get('clips_dir', '/clips')
event_processor = EventProcessor(CONFIG, camera_processes, cache_dir, clips_dir, event_queue, stop_event)
event_processor.start() event_processor.start()
object_processor = TrackedObjectProcessor(CONFIG['cameras'], client, MQTT_TOPIC_PREFIX, tracked_objects_queue, event_queue, stop_event) object_processor = TrackedObjectProcessor(CONFIG['cameras'], client, MQTT_TOPIC_PREFIX, tracked_objects_queue, event_queue, stop_event)