Zastanawiam się nad zakupem sprzętu do HA + Z2M + CCTV i nie wiem czy pójść w dedykowane urządzenia do kamer czy może samemu postawić Frigate.
Na razie rozważałem takie dwie opcje sprzętowe: 1. HA + Z2M + Frigate:
650zł - HP 400 G5 i5-8500 16GB DDR4 SFF - Sprzęt myślę, że na luzie uciągnie Frigate i HA. obudowa SFF, żeby zmieścić dysk 3,5"
260zł- POE switch (8 ports).
Frigate kiepsko współpracuje z kamerami reolink, więc raczej będe musiał się oprzeć na innych firmach jak amcrest, hikvision, ale nie wiem czy to problem i czy nie są równie atrakcyjne w stosunku cena/jakość.
2. HA + Z2M + Reolink PoE NVR
400zł - Dell Wyse 5070 (J5005) 8GB RAM slim - Zdecydowanie mniejsza jednostka i bardziej energooszczędna. Powinna spokojnie wystarczyć do HA
650zł - Reolink NVR PoE (NVS8) - Decyzja tylko na jednego producenta, ale są to raczej urządzenia w dobrej cenie i jakości. Dedykowany NVR jest też dużo prostszy w instalacji i to raczej opcja podłącz i zapomnij.
Dajcie znać co myślicie o moim pomyśle, a może macie lepsze rozwiązanie. Wydaje mi się że opcja druga zajmie mniej miejsca, będzie łatwiejsza w konfiguracji i utrzymaniu oraz wstępnie z wyliczeń wygląda na to że będzie ciągnąć 2 razy mniej prądu niż opcja 1. (ok. 24zł (~45-55W) miesięcznie vs 48zł (~85-110W), ale to bardzo ogólne były wyliczenia) i głównie wynikają z tego, że Dell Wyse jest bardzo energooszczędny, a taki HP z 8500 wymaga więcej prądu i pewnie ciągle pod obciążeniem jeszcze będzie gdy Frigate analizować będzie obraz z kilku kamer non stop.
Nie podałeś jeszcze paru kluczowych informacji, które z doświadczeń wielu użytkowników szukających porad sprzętowych pomijają przy podawaniu opisu, a czasem nawet przy wyborze wstępnym kandydatów sprzętowych. A mianowicie jakiego oprogramowania chcesz użyć? Jaki rodzaj instalacji HA wybierasz? Czy wybór jest już świadomy, poprzedzony doświadczeniem w utrzymywaniu home lab?
Dlaczego akurat HP 400 G5, a nie np. OPTIPLEX 3000 Thin?
Zazwyczaj w doborze jednostki komputerowej przyjmuję jedną kluczową zasadę - im nowsza technologia procesora tym lepiej. Drugi aspekt na jaki zwracam uwagę, to efektywność energetyczna. I tu świeże konstrukcje oparte na Intel N100 (i pokrewne) są zdecydowanie obecnie na czele. Stosunek wydajności w przeliczeniu na W jest bardzo dobry, a do tego całkiem współczesne GPU z obsługą nawet kodeka AV1. Trzecim kryterium, które jest ważne, to możliwość ewentualnej rozbudowy, czyli dostępność opcjonalnych złącz na płycie, najlepiej w postaci PCIe. Są już na rynku płyty w formacie Mini-ITX od Asus oraz ASRock oraz kilka ciekawych chińskich konstrukcji. Jest całkiem spora oferta mini PC.
Dlatego uważam, że o ile Intel i5-8500 jest na pograniczu akceptowanej jeszcze technologi z 2018r, to jego efektywność energetyczna już dla mnie nie. Dlatego, że za podobne pieniądze możesz mieć coś z Intel N6005 ale i spokojnie coś z N100. Zamiast szukać i płacić za mocniejszy procesor z 6 rdzeniami, moim zdaniem, należy zakupić akcelerator Coral TPU AI. Konstrukcje pod gniazda PCI-e są stosunkowo tańsze i umożliwiają skuteczną detekcję modeli AI przy bardzo małym zapotrzebowaniu na energię.
Co do zakupu dedykowanego urządzenia NVR - to zależy, głównie od tego jakie masz oczekiwania i potrzeby co do samego monitoringu. Ja po awarii swojego rejestratora zinteresowałem się Frigate (wówczas w fazie początkowej). Projekt ten bardzo szybko się rozwinął, bo wypełnił sporą lukę potrzeby funkcjonalności rejestratora z detekcją obiektów. A dzięki użyciu Coral TPU okazał się dużo sprawniejszy niż popularny wówczas MotionEye. Uznałem, że nie potrzebuję tygodniowego przeglądu nagrań z 5 kamer, bo i tak jak była potrzeba zobaczenia czegoś z przed 5 dni, to na końcu okazywało się, że jakość tego obrazu w ciemności i deszczu pozwoliła na stwierdzenie - “tak to jest postać człowieka w kapturze”. Obecnie mam Frigate z zapisem 10s klipów po detekcji (człowiek, pies, auto itp) i nagrywanie ciągłe w ograniczeniu do kilku dni na NAS. Wielce funkcjonalne jest przeglądanie samych klipów. A integracja z HA to już spełnienie wszystkich zachcianek (nawet takich jak Two-Way Audio). Przejrzyj stronę DEMO z Frigate i zobacz czy taka funkcjonalność jest dla ciebie wystarczająca. W ostatnich wersjach mocno rozbudowano przegląd nagrań i funkcjonalności z tym związane.
Osobiście, jeśli miałbym wybierać dla siebie, to zamiast kupować rejestrator, kupił bym Coral TPU i dedykowany, duży dysk HDD pod zapis z kamer. Najwięcej uwagi zwrócił bym na jakość kamer. O ile nie znam produktów Reolink, to sam fakt występowania trudności i kompatybilności ze standardami rynkowymi jest dla mnie wykluczający. Co z doświadczenia własnego mogę jeszcze polecić, to zainteresowanie się technologią Full Color, ColorVu, Starlight, Night Vision czy jak tam ją każdy z producentów nazywa. Chodzi o czułe przetworniki i kolorowy obraz przy bardzo małym oświetleniu. Wystarcza światło księżyca, lamp ulicznych czy mały, biały LED święcący z kamery. Moim zdaniem, zdecydowanie warte zastosowania. Obraz bez odbicia podświetlenia IR od pajęczyn, kropli deszczu czy płatków śniegu. Ma to też duże znaczenie przy detekcji obiektów i znacząco poprawia tę funkcjonalność w trudniejszych warunkach pogodowych.
Poniżej obraz ze środka letniej nocy. Widać gwiazdy na niebie i kwitnącą koniczynę na trawniku. Ja swoim okiem nie byłem wówczas w stanie tego dostrzec. To akurat były testy dość wysokiej klasy kamery Dahua, którą użyczył mi znajomy instalator na testy.
Dla np. komputerka typu Futro S940 z J5005 (gdzie ostatnio tatageek robił serwerek), w połączeniu z Coral TPU, pobór mocy powinien być w granicach 20-25W max, nawet przy kilku kamerach. Ale dużo zależy od konfiguracji strumieni i ustawień ich jakości, ilości klatek.
dell wyse pobierze 5w, jak dołożysz corala to trochę więcej. Ale polecem coś na n100 mam na nim zainstalowanego HA, Friate bez corala, do testów włączam jeszcze Agenta dvr (bo się nie mogę zdecydować) i kilka kontenerów z innymi serwisami jak nextcloud, collabora czy server onlyoffice, adguard, trilium, ngnix, jellyfin i to wszystko śmiga i się nie zacina przy 32 GB ramu.
Więcej prądu pobierają dyski niż ten komputerek.
Ja początkowo poszedłem w stronę dedykowanego NVR. Mam 8 kamer NoVus, podłączonych bezpośrednio do ichniego NVR (z wbudowanym switchem).
Po jakimś tygodniu stwierdziłem, że nie mogę wytrzymać z tym NVR. Były 2 główne powody:
mało rozbudowany software - zarówno NVR, jak i aplikacja na telefon
brak możliwości prostego i łatwego rozbrojenia/uzbrojenia systemu
Więc po tym tygodniu zapadła decyzja, że przesiadam się na inne rozwiązanie. Po kilku dniach przeglądania różnych forów padło na Frigate.
Trafiłem promocję na fajny switch PoE (TP-Link TL-SL1311P) i kupiłem AOOSTAR R1 jako zamiennik NVR.
Trochę się musiałem namęczyć z konfiguracją systemu na NVR, potem trochę z konfiguracją samego Frigate, potem trochę z wyklikiwaniem/pisaniem odpowiednich automatyzacji w HA i powiadomień na Telegrama, ale w sumie teraz mam już w pełni zintegrowane i działające rozwiązanie.
Więc jeżeli masz czas i zapał, to zdecydowanie polecam Frigate.
Dla uzupełnienia, dodam budżetową możliwość: oparcie się tylko na “AI” tanich kamer, tj. detekcja osób, samochodów i zwierząt (bez rozpoznawania twarzy czy tablic rejestracyjnych). Zacząłem od 1 kamery aby sprawdzić czy ma to jakikolwiek sens, a obecnie mam 4, bo okazało się dla mnie wystarczające (Reolinki 520A).
Każda kamera ustawiona jest aby nagrywała na swoją kartę SD oraz na FTP w LAN (2 kopie nagrań). FTP postawiony jest na HP T620, Turnkey File Server (ten sam sprzęt obsługuje HA i jeszcze 2 małe VM). Jako dysk do nagrań podłączyłem testowo kilkuletni USB Toshiby (podstawowy model 2TB). Wystarcza mu prądu z gniazda USB, wybudza się dobrych parę sekund, ale nie przeszkadza to w nagrywaniu. Nie wymieniłem go, bo się sprawdził, działa od ok. 8 miesięcy.
Kamery generują u mnie 4-5GB nagrań dziennie, więc raczej niewiele. Z pewnością to rozwiązanie się nie sprawdzi przy ciągłym nagrywaniu. Odbicia światła od pajęczyn i owadów są widoczne (AI sobie radzi o tyle, że nie ma dużej ilości false positivów - kilka nagrań z wietrznej, deszczowej nocy). Dobrze aby było dodatkowe źródło światła, bo samo IR w totalnie ciemną noc oświetla sensownie na 8-10m.
Minęło już trochę czasu i obecnie siedzę na frigate. Widać że produkt potrzebuje jeszcze sporo rozwoju i nie jest pełny, ale i tak daje duże możliwości.
Na razie jednak przeglądanie historii i interfejs jest dużo przyjaźniejszy w apce reolinka niż w samym frigate.
Zauważyłem też że dodanie integracji reolink pozwala w kartach HA wyświetlać obraz z bardzo małym opóźnieniem, a jeśli źródłem jest Frigate, to obraz ma dużo większe opóźnienie i gorszą jakość nawet jeśli jest ustawione jako go2rc
Mnie się wydaje, że to dlatego, że kamera Frigate w HA wyświetla obraz pobierany jako “detect”.
Ale w sumie dobre spostrzeżenie. Aż z ciekawości spróbuję pogrzebać, czy można to jakoś poprawić.
Właśnie używam tej karty i tam też obraz ma duży delay i gorszą jakość. Na razie na kartach do podglądu wrzucam bezpośrednio z reolinka, a frigate służy mi tylko do wystawia encji co wykrył.
W ten sposób Frigate wykorzystuje stream z go2rtc do wykrywania/nagrywania, co zmniejsza liczbę połączeń do kamery i odciąża ruch sieciowy. Fajne i przydatne.
Nie do końca, po to się używa 2 osobne streamy, aby jeden (używany do zapisu i podglądu) mógł być w dużej rozdzielczości, a ten używany do detekcji w dostatecznie niskiej, aby wykrywanie było efektywne.
Przepustowość sieci nie jest tu krytyczna nawet gdy stream HQ osiąga 30Mbps, bo stream LQ ma zawsze mniejszy bitrate (i to zwykle sporo mniej).
Natomiast wąskim gardłem jest moc obliczeniowa - przykładowo stream WQHD (znany też w sumie niepoprawnie jako 2K) czyli 2560x1440pix wymaga 4x więcej mocy obliczeniowej przy rozpoznawaniu w porównaniu do HD 720p (najniższa rozdzielczość HDTV) 1280x720pix.
Zapis streamu bez rekompresji (“as is” stosowany powszechnie) praktycznie nie angażuje żadnej mocy obliczeniowej, natomiast dekopmresja potrzebna do podglądu używa bardzo mało mocy obliczeniowej (zależnie od kodeka, dla mjpeg to jest praktycznie nic w dzisiejszych czasach, dla x264 bardzo mało dla x.265 nieco więcej, jednak w sumie wiele zależy od sprzętu - dekompresja jest wspomagana sprzętowo we współczesnych konstrukcjach, ale w starszych niekoniecznie - wspominam o tym ze względu na modę na stosowania sprzetu z demobilu w zastosowania wokół HA).
Jeśli będziesz sobie rekompresował radykalnie obrazek to i owszem ma sens, tylko przy kilku-kilkunastu kamerach procka nie starczy na takie zabawy (po to się używa drugiego streamu z kamery, gdzie kompresja obu streamów odbywa się sprzętowo, a konkretniej z użyciem dedykowanych DSP zaszytych w SoC, aby się nikt nie czepiał, bo chodzi tu o akcelerację sprzętową kompresji).
Samo przepakowanie streamu do innego kontenera w niczym nie pomaga przy rozpoznawaniu, bo zmieniając sam kontener nie zmieniasz treści, a szczególności nie zmniejszasz rozdzielczości ani klatkażu.
Wszystko zależy od sprzętu na którym pracujesz. Może podeprę się przykładem - procek EPYC 7502p daje sobie radę z rekompresją kilkunastu streamów 1080p w realtime do x.264, ale procesory jakie większość ludzi używa w nucoodobnych komputerach nie mają takich możliwości.
Oczywiście w pewnych konfiguracjach obróbką wideo może się zajmować GPU, ale też w zależności od modelu ma mniej lub bardziej ograniczoną liczbę bloków funkcjonalnych które można przeznaczyć na wspomaganie dekompresji i kompresji wideo.
Natomiast nawet jeśli się używa TPU do wspomagania rozpoznawania, to on się takimi rzeczami jak kompresja i dekompresja streamu nie zajmuje.
Odniosę się do posta powyżej - w tej konfiguracji do detekcji i zapisu używasz tego samego streamu (konkretniej oryginału i jego kopii), natomiast zysk wydajnościowy jest wtedy, gdy do zapisu użyjesz HQ a do detekcji LQ.
Ale tutaj nie ma żadnej rekompresji - stream z kamerki jest pobierany przez go2rtc, który następnie udostępnia ją bezpośrednio do Frigate, bez żadnych zmian. Nie ma to żadnego wpływu na obciążenie CPU/GPU/TPU, a zmniejsza ilość danych przesłanych przez sieć.
Tak, jest tak jak mówisz, nie zmienia to faktu, że do detekcji powinieneś używać innego streamu niż do podglądu i zapisu (myśląc o obciążeniu CPU, GPU czy TPU). Jeśli masz kamery tak ustawione, że stanowią problem wydajnościowy dla sieci, to i tak należy przemyśleć redukcję parametrów wpływających na bitrate (klatkaż, rozdzielczość, kodek).
No, to już chyba zależy od parametrów samych kamer.
Ja mam kamery Novus, które wysyłają 3 streamy i mam ustawione tak, jak piszesz - Hi-Res (profile1) na record, Low-Res (profile2) na detect. I ten stream z profile2 jest pobierany przez go2rtc, a następnie przekazywany do Frigate i używany jako detect.
A do tego mam domofon na WiFi, z którego obraz też przechwytuję przez go2rtc i używam we Frigate na record a dodatkowo w HA do rozmowy z dzwoniącym.