Instalacja Deepstack na każdym linuksie z zainstalowanym dockerem
W filmie używam następującego polecenia do instalacji: docker run -d --restart always -e VISION-FACE=True -v localstorage:/datastore -p 80:5000 deepquestai/deepstack:cpu-x5-beta
wersję cpu-x5-beta można zamienić na: gpu - gdy posiadamy kartę graficzną NVIDIA jetpack - gdy posiadamy NVIDIA Jetson arm64 - gdy instalujemy na procesorach arm
Przykład minimalnej konfiguracji Double Take
mqtt:
host:
username: <użytkownik>
password: <hasło>
client_id: double_take
frigate:
url: http://: #port dla frigate zainstalowanego jako dodatek to 5000
labels:
- person
Cześć, zainstalowałem deepstack w wersji gpu w odrębnym docker, wersja ta wykorzystuje CUDA w karcie NVIDIA gt1030.
Wszystko w HA działa, ale gdy pojawia się więcej obiektów person, deepstack się zawiesza, pomaga reset kontenera docker.
Prawdopodobnie karta nie wyrabia, a to tylko jedna kamera, z wykrywaniem w niskiej rozdzielczości. Polecenie nvidia-smi pokazuje wykorzystanie przez deepstack prawie 100% pamięci GPU.
Gdy odpalę wersje deepstack CPU, nie ma tego problemu, ale działa za to wolniej.
Czy u Ciebie Artur jest podobnie?
Jaki dokładne obraz kontenera wykorzystujesz?
Dodam, że HA stoi na i5 8 generacji+ dysk m2+ 16gb RAM, HA wersja Debian+ docker.
u mnie przy trzech kamerach zajętość karty wygląda tak:
Jak ma co analizować to mam jakieś piki ale ciężko nawet je wychwycić
To że pamięć jest zajęta to dobrze (po to jest) ważne aby moc na tym nie cierpiała.
Cześć wszystkim.
Pierwszy mój post więc proszę o wyrozumiałość.
Bawię się HomeAssistant’em od grudnia zeszłego roku i jestem w coraz większym szoku jak wszechstronne jest to narzędzie. Zaczynałem od Raspberry 3, potem przyszło na proxmox na HP T620 4 rdzenie 4 wątki i teraz po przegranych walkach wydajnościowych z Frigate i DeepStack postawiłem wszystko na proxmox i serwerze 12 rdzeniowym 24 wątkowym.
Powiem dla ciekawostki tylko tyle, że u mnie żeby stara kamera 2Mp mogła iść na strumieniu mjpg potrzeba aż 10 wątków aby jakoś było to zjadliwe, dopiero przy zaprzęgnięciu 16 wątków idzie to płynnie. Przekonwertowanie mjpg na H264 to niesamowicie duże obciążenie maszyny.
Konkluzja z testów jest taka - musicie użyć do projektu z Frigate tylko kamer o kodowaniu H264 bo inaczej nie ma to sensu.
Jednak gdyby się ktoś upierał to daje config do frigate - kamery mjpg.
Dodatkowo jest tam też konfiguracja BIRDSEYE
mqtt:
host: ........
port: 1883
topic_prefix: frigate
client_id: frigate
user: mqtt
password: mqtt
stats_interval: 60
# Opcjonalnie: konfiguracja z Birdseye
birdseye:
# Opcjonalnie: Włącz widok z Birdseye (domyślnie: pokazano poniżej)
enabled: True
# Opcjonalnie: Szerokość rozdzielczości wyjściowej (domyślnie: pokazana poniżej)
width: 1280
# Opcjonalnie: Wysokość rozdzielczości wyjściowej (domyślnie: pokazana poniżej)
height: 720
# 1 to najwyższa jakość, a 31 to najniższa. Kanały o niższej jakości zużywają mniej zasobów procesora.
quality: 8
# Opcjonalnie: tryb widoku. Dostępne opcje to: obiekty, ruch i ciągłość
# obiektów - kamery są uwzględniane, jeśli miały śledzony obiekt w ciągu ostatnich 30 sekund
# ruch - kamery są uwzględniane, jeśli ruch został wykryty w ciągu ostatnich 30 sekund
# ciągłe - wszystkie kamery są włączone zawsze
mode: objects
cameras:
wjazdtest:
ffmpeg:
input_args: -avoid_negative_ts make_zero -fflags nobuffer -flags low_delay -strict experimental -fflags +genpts+discardcorrupt -use_wallclock_as_timestamps 1
output_args:
record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v libx264 -an
rtmp: -c:v libx264 -an -f flv
inputs:
- path: http://................./video4.mjpg
roles:
- detect
- rtmp
detect:
width: 1920
height: 1080
record:
enabled: True
events:
retain:
default: 10
snapshots:
enabled: True
retain:
default: 10
edimax:
ffmpeg:
input_args: -avoid_negative_ts make_zero -fflags nobuffer -flags low_delay -strict experimental -fflags +genpts+discardcorrupt -use_wallclock_as_timestamps 1
output_args:
record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v libx264 -an
rtmp: -c:v libx264 -an -f flv
inputs:
- path: http://................/mjpg/video.mjpg
roles:
- detect
- rtmp
detect:
width: 1920
height: 1080
record:
enabled: True
events:
retain:
default: 10
snapshots:
enabled: True
retain:
default: 10
objects:
# Opcjonalnie: lista obiektów do śledzenia z labelmap.txt (domyślnie: pokazane poniżej)
track:
- person
- car
- cat
- dog
detectors:
cpu1:
type: cpu
cpu2:
type: cpu
Teraz prawdziwy powód pisania tego posta - miałem… w sumie to dalej mam (bo połączenie się restartuje co jakieś 40 sekund) problem z połączeniem double take z deepstack.
Połączenie dopiero mogło dojść do skutku jak zmieniłem konfigurację procesora w homeassistant na host - to dopiero ruszyło
Deepstack mam postawiony w tym samym proxmox’ie na osobnej wirtualnej maszynie i tam jak też zmieniłem typ procesora na host to przerwy w połączeniu po restarcie się zmniejszyły.
Dalej jednak jest to bardzo dalekie od ideału. Czy ktoś zna jakiś inny sposób na prawidłowe pożenienie tych programów?
Pozdrawiam
Przy opcji host, Proxmox stara się tak zarządzać zasobami tak aby fizyczne rdzenie były przydzielone maszynie wirtualnej maszynie. HA dałeś 2 core, w przybliżeniu to jeden fizyczny rdzeń (bo jest dwu wątkowy), Deepstack ma 16 core czyli kolejne 8 rdzeni zostaje zarezerwowane, razem te dwie maszyny to 9 rdzeni, zostaly 3 rdzenie, co jeszcze dziala na tym Proxmoxie?
Czy na Proxmox jest wystarczająca ilość RAMu dla wirtualnych maszyn?
Wrzuciłem mu dodatkowe 32GB ramu i wydaje mi się, że przerwy są krótsze.
Nie sądzę aby użytkownik musiał się uciekać do takich nakładów aby jakoś przyzwoicie wymienić informacje między frigate, dipstack a double take. Myślę, że po prostu coś mam sknocone z ustawieniami, ale pomysły mi się skończyły.
Ten screen jest ściągnięty z internetu dlatego są na nim takie ustawienia
A jakie masz teraz przerwy? Co jaki czas? Ja również mialem kłopoty z połączeniem Deepstack z DoubleTake . Połączenie sie dokonalo po przeczytaniu twego wpisu. Zmieniłem na Host
Mam pytanie. Czy po tej przerwie DeepStac u Ciebie też tak długo trwa połączenie z DoubleTake? Ponieważ u mnie to trwa różnie. Najdłużej to około 15 sekund. Deepstack mam zainstalowany na drugim kompie w Proxmox. Już robiłem testy instalując na innych komputerach i jest to samo. Może jakieś ustawienia Proxmox lub maszyny wirtualnej?
Mam to samo - na dzien dzisiejszy temat do szuflady - niestety brak czasu, ale u mnie zmienia sie wszstko z minuty na minute, wiec moze byc i tak, ze jutro powroci temat na tapete
powodzenia i przosze informuj o porazkach i sukcesach, bo to bardzo pomaga w rozwiazywaniu takich problemow
Ja mam problem z instalacją sterowników do corala usb na instalacji proxmox + hassos. Czy da się jakoś to ogarnąć ? Po podpięciu corala ani frigate ani proxmox nie widzą go prawidłowo.