Frigate - NVR z funkcją wykrywania obiektów w czasie rzeczywistym dla kamer IP HA

Gdzie jest ta kluczowa informacja? Jak mogłem ją ominąć :face_with_monocle:

@szopen - sokole oko

Świeży poradnik jak to zrobić w kontenerze LXC na PVE:

I jest to zapewne dużo wydajniejsze podejście niż kontener w wirtualnej maszynie, która stanowi kolejna warstwę wirtualizacji, bez bezpośredniego dostępu do zasobów hosta.

Jednak się udało


Do końca sam nie wiem w czym był problem, zrobiłem wszystko od początku, łącznie z passtrough iGpu z proxmox do vm debiana (po za tylko jedną różnicą, ba najpierw zainstalowałem na proxmox intel-media-va-driver i sprawdziłem vainfo). Ważne, że działa, teraz muszę się "dokształcić we frigate i poprawnie to skonfigurować.
Wielkie dzięki dla @angler za pomoc i wskazówki.

2 Likes

Czy ktoś może mi potwierdzić, że openvino i openvino-model są wbudowane we frigate i nie ma potrzeby dodatkowych instalacji w host, czy docker? Bez względu czy frigate jest zainstalowane na CT czy VM Proxmox?
Zainstalowałem testowo obie wersje, passthrough gpu wykonane poprawnie w obu instalacjach.

intel-gpu-top: Intel Alderlake_n (Gen12) @ /dev/dri/card1 -   30/ 596 MHz;  61% RC6;       53 irqs/s

         ENGINES     BUSY                                                                                                                                MI_SEMA MI_WAIT
       Render/3D    0.00% |                                                                                                                            |      0%      0%
         Blitter    0.00% |                                                                                                                            |      0%      0%
           Video    1.46% |█▉                                                                                                                          |      0%      0%
    VideoEnhance    0.00% |                                                                                                                            |      0%      0%

^Z
[1]+  Stopped                 intel_gpu_top

Przy konfiguracji:

detectors:
  ov:
    type: openvino
    device: GPU

model:
  width: 300
  height: 300
  input_tensor: nhwc
  input_pixel_format: bgr
  path: /openvino-model/ssdlite_mobilenet_v2.xml
  labelmap_path: /openvino-model/coco_91cl_bkgr.txt

Wyniki niemal identyczne dla obu wariantów instalacji: Detector Inference Speed = 10-15ms. Tu akurat screenz instalacji Proxmox → VM (debian12) → docker frigate:


U mnie kluczowa była konfiguracja:

    detect:
      width: 640
      height: 360

przy rozdzielczości moich kamer 1280x720 (gdzieś wyczytałem żeby zmniejszyć o połowę).

root@media:~# ffprobe rtsp://192.168.10.115
ffprobe version 5.1.6-0+deb12u1 Copyright (c) 2007-2024 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, rtsp, from 'rtsp://192.168.10.115':
  Metadata:
    title           : streamed by the macro-video rtsp server
  Duration: N/A, start: 0.019000, bitrate: N/A
  Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720, 20 fps, 50 tbr, 90k tbn
root@media:~#

Dopiero uczę się konfiguracji frigate i docelowo pewnie będzie to na lepszym sprzęcie z porządnymi kamerami, ale do tego czasu chciałbym już mieć to rozpracowane :).
Proszę więc o potwierdzenie moich przemyśleń, lub ewentualne poprawienie ich.