feat: somehow make frigate work
This commit is contained in:
+91
@@ -0,0 +1,91 @@
|
|||||||
|
0 person
|
||||||
|
1 bicycle
|
||||||
|
2 car
|
||||||
|
3 motorcycle
|
||||||
|
4 airplane
|
||||||
|
5 bus
|
||||||
|
6 train
|
||||||
|
7 car
|
||||||
|
8 boat
|
||||||
|
9 traffic light
|
||||||
|
10 fire hydrant
|
||||||
|
11 street sign
|
||||||
|
12 stop sign
|
||||||
|
13 parking meter
|
||||||
|
14 bench
|
||||||
|
15 bird
|
||||||
|
16 cat
|
||||||
|
17 dog
|
||||||
|
18 horse
|
||||||
|
19 sheep
|
||||||
|
20 cow
|
||||||
|
21 elephant
|
||||||
|
22 bear
|
||||||
|
23 zebra
|
||||||
|
24 giraffe
|
||||||
|
25 hat
|
||||||
|
26 backpack
|
||||||
|
27 umbrella
|
||||||
|
28 shoe
|
||||||
|
29 eye glasses
|
||||||
|
30 handbag
|
||||||
|
31 tie
|
||||||
|
32 suitcase
|
||||||
|
33 frisbee
|
||||||
|
34 skis
|
||||||
|
35 snowboard
|
||||||
|
36 sports ball
|
||||||
|
37 kite
|
||||||
|
38 baseball bat
|
||||||
|
39 baseball glove
|
||||||
|
40 skateboard
|
||||||
|
41 surfboard
|
||||||
|
42 tennis racket
|
||||||
|
43 bottle
|
||||||
|
44 plate
|
||||||
|
45 wine glass
|
||||||
|
46 cup
|
||||||
|
47 fork
|
||||||
|
48 knife
|
||||||
|
49 spoon
|
||||||
|
50 bowl
|
||||||
|
51 banana
|
||||||
|
52 apple
|
||||||
|
53 sandwich
|
||||||
|
54 orange
|
||||||
|
55 broccoli
|
||||||
|
56 carrot
|
||||||
|
57 hot dog
|
||||||
|
58 pizza
|
||||||
|
59 donut
|
||||||
|
60 cake
|
||||||
|
61 chair
|
||||||
|
62 couch
|
||||||
|
63 potted plant
|
||||||
|
64 bed
|
||||||
|
65 mirror
|
||||||
|
66 dining table
|
||||||
|
67 window
|
||||||
|
68 desk
|
||||||
|
69 toilet
|
||||||
|
70 door
|
||||||
|
71 tv
|
||||||
|
72 laptop
|
||||||
|
73 mouse
|
||||||
|
74 remote
|
||||||
|
75 keyboard
|
||||||
|
76 cell phone
|
||||||
|
77 microwave
|
||||||
|
78 oven
|
||||||
|
79 toaster
|
||||||
|
80 sink
|
||||||
|
81 refrigerator
|
||||||
|
82 blender
|
||||||
|
83 book
|
||||||
|
84 clock
|
||||||
|
85 vase
|
||||||
|
86 scissors
|
||||||
|
87 teddy bear
|
||||||
|
88 hair drier
|
||||||
|
89 toothbrush
|
||||||
|
90 hair brush
|
||||||
@@ -5,7 +5,9 @@
|
|||||||
nixpkgs,
|
nixpkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
lib = pkgs.lib;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
@@ -63,6 +65,10 @@
|
|||||||
|
|
||||||
networking.hostName = "arcueid"; # Define your hostname.
|
networking.hostName = "arcueid"; # Define your hostname.
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
80
|
||||||
|
5000
|
||||||
|
];
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
@@ -142,6 +148,9 @@
|
|||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
systemd.services.frigate.path = lib.mkBefore [ pkgs.ffmpeg-full ];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
udev.packages = with pkgs; [
|
udev.packages = with pkgs; [
|
||||||
vial
|
vial
|
||||||
@@ -159,7 +168,9 @@
|
|||||||
layout = "us";
|
layout = "us";
|
||||||
variant = "altgr-intl";
|
variant = "altgr-intl";
|
||||||
};
|
};
|
||||||
xserver.videoDrivers = [ "amdgpu" ];
|
xserver.videoDrivers = [
|
||||||
|
"amdgpu"
|
||||||
|
];
|
||||||
blueman.enable = true;
|
blueman.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
avahi = {
|
avahi = {
|
||||||
@@ -174,21 +185,64 @@
|
|||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ollama = {
|
||||||
|
enable = true;
|
||||||
|
host = "0.0.0.0";
|
||||||
|
openFirewall = true;
|
||||||
|
package = pkgs.ollama-rocm;
|
||||||
|
syncModels = true;
|
||||||
|
loadModels = [
|
||||||
|
"gemma3:4b"
|
||||||
|
"mistral"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
frigate = {
|
frigate = {
|
||||||
enable = true;
|
enable = true;
|
||||||
hostname = "arcueid.int.m0rel.eu";
|
hostname = "arcueid.int.m0rel.eu";
|
||||||
|
vaapiDriver = "radeonsi";
|
||||||
settings = {
|
settings = {
|
||||||
|
genai = {
|
||||||
|
provider = "ollama";
|
||||||
|
base_url = "http://localhost:11434";
|
||||||
|
model = "gemma3:4b";
|
||||||
|
};
|
||||||
mqtt = {
|
mqtt = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
host = "mqtt.int.m0rel.eu";
|
host = "mqtt.int.m0rel.eu";
|
||||||
user = "frigate";
|
user = "frigate";
|
||||||
password = "pouet";
|
password = "pouet";
|
||||||
};
|
};
|
||||||
ffmpeg.hwaccel_args = "preset-vaapi";
|
ffmpeg = {
|
||||||
|
hwaccel_args = "preset-vaapi";
|
||||||
|
input_args = "preset-rtsp-restream-low-latency";
|
||||||
|
path = pkgs.ffmpeg-full;
|
||||||
|
};
|
||||||
|
# ui.live_mode = "webrtc";
|
||||||
auth.enabled = false;
|
auth.enabled = false;
|
||||||
proxy.default_role = "admin";
|
proxy.default_role = "admin";
|
||||||
|
# detectors = {
|
||||||
|
# ov_0 = {
|
||||||
|
# type = "openvino";
|
||||||
|
# device = "GPU";
|
||||||
|
# };
|
||||||
|
# ov_1 = {
|
||||||
|
# type = "openvino";
|
||||||
|
# device = "NPU";
|
||||||
|
# };
|
||||||
|
# # onnx.type = "onnx";
|
||||||
|
# };
|
||||||
|
# model = {
|
||||||
|
# model_type = "yolo-generic";
|
||||||
|
# width = 640;
|
||||||
|
# height = 640;
|
||||||
|
# input_tensor = "nchw";
|
||||||
|
# input_dtype = "float";
|
||||||
|
# path = ../../yolox_m.onnx;
|
||||||
|
# labelmap_path = ../../coco-80.txt;
|
||||||
|
# };
|
||||||
detect.enabled = true;
|
detect.enabled = true;
|
||||||
detect.fps = 5;
|
detect.fps = 2;
|
||||||
objects.track = [
|
objects.track = [
|
||||||
"person"
|
"person"
|
||||||
"car"
|
"car"
|
||||||
@@ -197,7 +251,7 @@
|
|||||||
"dog"
|
"dog"
|
||||||
];
|
];
|
||||||
audio = {
|
audio = {
|
||||||
enabled = true;
|
enabled = false;
|
||||||
max_not_heard = 10;
|
max_not_heard = 10;
|
||||||
min_volume = 500;
|
min_volume = 500;
|
||||||
listen = [
|
listen = [
|
||||||
@@ -207,36 +261,26 @@
|
|||||||
"speech"
|
"speech"
|
||||||
"yell"
|
"yell"
|
||||||
];
|
];
|
||||||
# filters.speech.threshold = 0.8;
|
filters.speech.threshold = 0.8;
|
||||||
};
|
};
|
||||||
motion = {
|
motion = {
|
||||||
enabled = true;
|
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.enabled = true;
|
||||||
semantic_search.model_size = "small";
|
semantic_search.model_size = "small";
|
||||||
review.detections.enabled = true;
|
review.detections.enabled = true;
|
||||||
record.enabled = true;
|
record.enabled = true;
|
||||||
record.retain.days = 2;
|
# record.retain.days = 2;
|
||||||
record.preview.quality = "medium";
|
record.preview.quality = "medium";
|
||||||
face_recognition.enabled = true;
|
face_recognition.enabled = true;
|
||||||
face_recognition.model_size = "small";
|
face_recognition.model_size = "small";
|
||||||
lpr.enabled = true;
|
lpr.enabled = true;
|
||||||
# audio_transcription = {
|
audio_transcription = {
|
||||||
# enabled = true;
|
enabled = false;
|
||||||
# device = "CPU";
|
device = "CPU";
|
||||||
# model_size = "small";
|
model_size = "small";
|
||||||
# language = "fr";
|
language = "fr";
|
||||||
# };
|
};
|
||||||
classification = {
|
classification = {
|
||||||
bird.enabled = true;
|
bird.enabled = true;
|
||||||
custom = {
|
custom = {
|
||||||
@@ -286,36 +330,17 @@
|
|||||||
user = "admin";
|
user = "admin";
|
||||||
password = "admin";
|
password = "admin";
|
||||||
};
|
};
|
||||||
# zones = {
|
motion.mask = [
|
||||||
# cour = {
|
"0.316,0.037,0.317,0.012,0.035,0.01,0.033,0.035"
|
||||||
# coordinates = [
|
];
|
||||||
# "0.001"
|
zones = {
|
||||||
# "0.492"
|
cour = {
|
||||||
# "0.001"
|
coordinates = "0.001,0.492,0.001,0.043,0.893,0.054,0.888,0.5";
|
||||||
# "0.043"
|
};
|
||||||
# "0.893"
|
entree = {
|
||||||
# "0.054"
|
coordinates = "0.001,0.5,0.001,0.997,0.996,0.991,0.997,0.513";
|
||||||
# "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";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user