diff --git a/hosts/home/configuration.nix b/hosts/home/configuration.nix index 853cb6e..61ca7cd 100644 --- a/hosts/home/configuration.nix +++ b/hosts/home/configuration.nix @@ -173,6 +173,152 @@ alsa.support32Bit = true; pulse.enable = true; }; + + frigate = { + enable = true; + hostname = "arcueid.int.m0rel.eu"; + settings = { + mqtt = { + enabled = true; + host = "mqtt.int.m0rel.eu"; + user = "frigate"; + password = "pouet"; + }; + ffmpeg.hwaccel_args = "preset-vaapi"; + auth.enabled = false; + proxy.default_role = "admin"; + detect.enabled = true; + detect.fps = 5; + objects.track = [ + "person" + "car" + "bird" + "cat" + "dog" + ]; + audio = { + enabled = true; + max_not_heard = 10; + min_volume = 500; + listen = [ + "bark" + "fire_alarm" + "scream" + "speech" + "yell" + ]; + # filters.speech.threshold = 0.8; + }; + motion = { + enabled = true; + # mask = [ + # "0.316" + # "0.037" + # "0.317" + # "0.012" + # "0.035" + # "0.01" + # "0.033" + # "0.035" + # ]; + }; + semantic_search.enabled = true; + semantic_search.model_size = "small"; + review.detections.enabled = true; + record.enabled = true; + record.retain.days = 2; + record.preview.quality = "medium"; + face_recognition.enabled = true; + face_recognition.model_size = "small"; + lpr.enabled = true; + # audio_transcription = { + # enabled = true; + # device = "CPU"; + # model_size = "small"; + # language = "fr"; + # }; + classification = { + bird.enabled = true; + custom = { + Animaux = { + enabled = true; + name = "Animaux"; + threshold = 0.8; + object_config.objects = [ + "cat" + "dog" + ]; + # classification_type = "sub_label"; + }; + Voitures = { + enabled = true; + name = "Voitures"; + threshold = 0.8; + object_config.objects = [ "car" ]; + # classification_type = "sub_label"; + }; + Personnes = { + enabled = true; + name = "Personnes"; + threshold = 0.8; + object_config.objects = [ "person" ]; + # classification_type = "sub_label"; + }; + }; + }; + snapshots.enabled = true; + snapshots.retain.default = 7; + cameras.front = { + enabled = true; + ffmpeg.inputs = [ + { + path = "rtsp://admin:admin@192.168.68.240:554/?streamtype=0&subtype=1"; + roles = [ + "audio" + "detect" + "record" + ]; + } + ]; + onvif = { + host = "192.168.68.240"; + port = 8899; + user = "admin"; + password = "admin"; + }; + # zones = { + # cour = { + # coordinates = [ + # "0.001" + # "0.492" + # "0.001" + # "0.043" + # "0.893" + # "0.054" + # "0.888" + # "0.5" + # ]; + # loitering_time = 0; + # friendly_name = "Cour"; + # }; + # entree = { + # coordinates = [ + # "0.001" + # "0.5" + # "0.001" + # "0.997" + # "0.996" + # "0.991" + # "0.997" + # "0.513" + # ]; + # loitering_time = 0; + # friendly_name = "Entrée"; + # }; + # }; + }; + }; + }; }; myNixOS = {