From 3f21fbe1646e80cb86e82838d60b77aa4e837148 Mon Sep 17 00:00:00 2001 From: TheWanderingCrow Date: Tue, 4 Mar 2025 14:35:04 -0500 Subject: [PATCH] split go2rtc and frigate --- modules/users/overseer/services/default.nix | 1 + modules/users/overseer/services/frigate.nix | 78 +++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 modules/users/overseer/services/frigate.nix diff --git a/modules/users/overseer/services/default.nix b/modules/users/overseer/services/default.nix index 42e642e..5776069 100644 --- a/modules/users/overseer/services/default.nix +++ b/modules/users/overseer/services/default.nix @@ -9,5 +9,6 @@ ./umami.nix ./lubelogger.nix ./openhab.nix + ./frigate.nix ]; } diff --git a/modules/users/overseer/services/frigate.nix b/modules/users/overseer/services/frigate.nix new file mode 100644 index 0000000..ac77e95 --- /dev/null +++ b/modules/users/overseer/services/frigate.nix @@ -0,0 +1,78 @@ +{ + lib, + config, + ... +}: { + services.go2rtc = { + enable = true; + settings = { + streams = { + wce-0001 = [ + "ffmpeg:#input=-timeout 30000000 -i rtsp://thingino:thingino@192.168.0.173:554/ch0" + "ffmpeg:wce-0001#audio=opus" + ]; + wce-0001_sub = "ffmpeg:#input=-timeout 30000000 -i rtsp://thingino:thingino@192.168.0.173:554/ch1"; + wce-0002 = [ + "ffmpeg:#input=-timeout 30000000 -i rtsp://thingino:thingino@192.168.0.26:554/ch0" + "ffmpeg:wce-0002#audio=opus" + ]; + wce-0002_sub = "ffmpeg:#input=-timeout 30000000 -i rtsp://thingino:thingino@192.168.0.26:554/ch1"; + }; + }; + }; + + services.frigate = { + enable = true; + hostname = "frigate.wanderingcrow.net"; + settings = { + cameras = { + wce-0001 = { + ffmpeg = { + inputs = [ + { + path = "rtsp://127.0.0.1:8554/wce-0001?timeout=30"; + input_args = "preset-rtsp-restream-low-latency"; + roles = ["record"]; + } + { + path = "rtsp://127.0.0.1:8554/wce-0001_sub?timeout=30"; + input_args = "preset-rtsp-restream-low-latency"; + roles = ["detect" "audio"]; + } + ]; + }; + motion = { + mask = [ + "0.005,0.006,0.005,0.041,0.195,0.041,0.196,0.008" + "0.904,0.007,0.903,0.042,0.994,0.042,0.994,0.006" + ]; + }; + live.stream_name = "wce-0001"; + }; + wce-0002 = { + ffmpeg = { + inputs = [ + { + path = "rtsp://127.0.0.1:8554/wce-0002?timeout=30"; + input_args = "preset-rtsp-restream-low-latency"; + roles = ["record"]; + } + { + path = "rtsp://127.0.0.1:8554/wce-0002_sub?timeout=30"; + input_args = "preset-rtsp-restream-low-latency"; + roles = ["detect" "audio"]; + } + ]; + }; + motion = { + mask = [ + "0.005,0.006,0.005,0.041,0.195,0.041,0.196,0.008" + "0.904,0.007,0.903,0.042,0.994,0.042,0.994,0.006" + ]; + }; + live.stream_name = "wce-0002"; + }; + }; + }; + }; +}