Frigate NVR & TP-Link Tapo camera's

Pagina: 1
Acties:

  • Tweaker_Ruwy
  • Registratie: Februari 2024
  • Laatst online: 12:39
Hier draait Frigate met Dual TPU binnen home assistant met een veelvoud aan reolink camera's, een antieke dahua en zelfs een oude smartphone. Hopelijk maakt dat dat ik mij mag scharen onder de groep van "zij die tips kunnen geven" ;)

Vaak is de basis een correcte config van je camera zelf: resolutie, framerate, constant bitrate zijn aspecten die de stream frigate uitleest beinvloeden: hogre resoluties maken dat frigate meer CPU/GPU gebruikt, evenals een hogere framerate. Bitrate wil je voor frigate veelal op constant hebben staan.

Als je clients hebt die verbinding maken met een enkele camera dan is het gebruik van Go2RTC binnen frigate zinvol; dan leest Go2RTC alle ingevoerde camera's 1x uit en alle andere clients kunnen dan verbinding maken met de stream via frigate ipv rechtstreeks met de camera, waardoor de camera zelf wordt ontlast. Dit geef ik nu even aan omdat ik in mijn onderstaande voorbeeld dus wel rechtstreeks met de camera verbindt omdat er in mijn geval niets anders verbonden is met de Dahua.

Onderstaand mijn config voor de Dahua en benodigde detectors/ffmpeg instellingen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
detectors:
  coral01:
    type: edgetpu
    device: pci:0
  coral02:
    type: edgetpu
    device: pci:1
# M2 Dual TPU in een M2 > PCI adapter. Kan ook CPU of NVidia oid zijn


ffmpeg:
  hwaccel_args: preset-vaapi
  input_args: preset-rtsp-restream
  output_args:
    record: preset-record-generic-audio-aac
# Hardware acceleration op de Intel iGPU. Omdat ik voor andere camera's wel Go2RTC gebruik staat input_args op rtsp restream. (Want home assistant gebruikt de restreams, behalve de dahua) Als je dit niet opgeeft pakt frigate een aantal default waardes. Dus dit is vooral een stukje optimalisatie obv de aanwezige hardware.


  Dahua:
    enabled: true
    ffmpeg:
      inputs:
        - path: rtsp://USER:PASS@IPADDRESS:PORT/cam/realmonitor?channel=1&subtype=0
          roles:
            - detect
            - record
    detect:
      enabled: true # <---- disable detection until you have a working camera feed
      width: 1920 # <---- update for your camera's resolution
      height: 1080 # <---- update for your camera's resolution
      fps: 10
    record: # <----- Enable recording
      enabled: true
      retain:
        days: 2
        mode: all
      alerts:
        retain:
          days: 2
      detections:
        retain:
          days: 2
    snapshots: # <----- Enable snapshots
      enabled: true
      bounding_box: false
      retain:
        default: 1
        objects:
          person: 1
    ui:
      order: 9
      dashboard: true


Zoals je ziet: geen Go2RTC opgegeven. Verder is dit ook zo'n beetje de meest basic config voor een camera. Onderstaand nog de instellingen in de camera zelf wat betreft de stream. Weinig spannends. De oplettende lezer zal zien dat mijn detect stream wordt verkleind van 2592x1520@30fps naar 1920x1080@10fps om het systeem toch een beetje te ontzien.

Afbeeldingslocatie: https://tweakers.net/i/0pL0y45_cr5dFl-D1hCg2xYNDAs=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/XhIWmVIGOMHgxfgFpw9jm6Mt.png?f=user_large

Verder: Check de logs ook vaak. Als frigate een stream niet kan openen geeft het log vaak best goed aan wat er mis is. Onderstaand een voorbeeld bij mij. (De telefoon staat niet aan, dus kan Go2RTC geen stream openen en geeft de camera binnen frigate een 404 omdat de stream bij Go2RTC (op IP 127.0.0.1 dus ook niet bestaat. Best logisch dus.)
Afbeeldingslocatie: https://tweakers.net/i/gNLRhKUjb7dcQ71fZbYa_N3MtpM=/800x/filters:strip_exif()/f/image/gG2uh745AH3wgBT9reZegrwi.png?f=fotoalbum_large