Local realtime person detection for RTSP cameras

You know never mind, to make it easier just install on NUC directly, and then make a setup to make snapshots backups.
That should be the easiest solution for you.
Once in a while make a local copy of the backup to your PC

If u can use the nuc install it will save you much hassle to install docker and home assistant supervised.

It’s the easiest route for u since you are not familiar with Linux.

I got the 2x PCI Corals running :grin:. It seems that protection mode needs to be disabled for it to work - did you find that? Inference speed for the pair seems to be about 7ms in my case.

coral_triple_17-04-2021

Now testing triple Corals.

For kicks I got the double coral’s working too. One in the wifi slot and one in my other NVME slot. Ready to load it down once I get my other NIC in to dedicate to just the camera VLAN.

Did little video on this Frigate thing recently. Might help with some of the YAML struggles of the getting over the first camera “hump”.

4 Likes

My advice would be to learn linux. It isn’t difficult to start, just install Debian OS and follow the guide here: Installing Home Assistant Supervised on Debian 10

You then have a handy linux GUI to play with, as well as Home Assistant. If you stick with it, you will find that anything is possible and everything becomes easier as you continue to learn.

The easy route isn’t always the best route, particularly when you have the will to learn.

2 Likes

Hello there,

while detecting people, the software generates a couple of pictures. Then, after a while, it deletes all but one picture and present this as the best image.

I would like to keep all of the generated images.

Where do I define this?
Here is my config:

#cameras:
  Nextone:
    ffmpeg:
      inputs:
        - path: rtsp://xxx:[email protected]:2554/axis-media/media.amp
          roles:
            - detect
    width: 1920
    height: 1080
    fps: 5

    snapshots:
      enabled: True
      timestamp: True
      bounding_box: True
      crop: False
      required_zones: []
      retain:
        default: 10
        objects:
          person: 15
          car: 15

    objects:
      track:
        - person
#        - cat
#        - dog
#        - car
      filters:
        person:
          min_area: 100
          max_area: 1000000
          min_score: 0.5
          threshold: 0.7
detectors:
  cpu1:
    type: cpu

Thank you very much.
Cheers
Chris

Any ideas? Recommendations?

Can anyone give me some advise on this post I did the other day please?

I believe I cannot get Frigate to run due to my CPU not having AVX support.

So does this mean I cannot use my existing system (HP Proliant N36l) if I want to use Frigate? I HAVE TO swop my hardware?

Or any other options please?

"Frigate working fine in a docker on my Dell R710, thank you very much but unfortunately that thing eats electric!

So I have tried the exact same set up on a older smaller pc to run 24/7, a HP Proliant nl36.
but I am having a major issue!
AMD Athlon™ II Neo N36L Dual-Core @ 1300 MHz
Unraid set up
Home Assistant VM
Trying either Docker or Home Assistant addon, I am getting the message below,

The NL36 is old and I found this thread that I ‘think’ is related but could do with some help please
Fatal Python error: Illegal instruction · Issue #695 · blakeblackshear/frigate · GitHub but I don’t think its been implemented in frigate yet, if it is this issue, anyway round it please?

I do have a PCI and also a USB coral plugged in and i have tried setting detectors as coral, PCI and USB
I have also tried removing the hardware config input arguments.

Any suggestions appreciated please?

 * Starting nginx nginx
   ...done.
Fatal Python error: Illegal instruction
Current thread 0x00007f11fdbc6740 (most recent call first):
  File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 1101 in create_module
  File "<frozen importlib._bootstrap>", line 556 in module_from_spec
  File "<frozen importlib._bootstrap>", line 657 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 991 in _find_and_load
  File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1042 in _handle_fromlist
  File "/usr/local/lib/python3.8/dist-packages/tflite_runtime/interpreter.py", line 36 in <module>
  File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 783 in exec_module
  File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 991 in _find_and_load
  File "/opt/frigate/frigate/edgetpu.py", line 15 in <module>
  File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 783 in exec_module
  File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 991 in _find_and_load
  File "/opt/frigate/frigate/app.py", line 19 in <module>
  File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 783 in exec_module
  File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 991 in _find_and_load
  File "/opt/frigate/frigate/__main__.py", line 7 in <module>
  File "/usr/lib/python3.8/runpy.py", line 87 in _run_code
  File "/usr/lib/python3.8/runpy.py", line 194 in _run_module_as_main

"

This is brilliant and works fantastically, thank you.
Just one query, should Frigate record audio with its clips and recordings, as mine doesn’t?

Not sure what you mean protection mode? Are you talking about privileged mode?

Not by default, try removing -an from your output args. If that doesn’t work, replace -an with -codec:a aac

The latter worked in my case.

1 Like

Thank you “-codec:a aac” worked a treat

1 Like

Hi there,

Other people seem to have got this to work on older CPUs: https://github.com/blakeblackshear/frigate-hass-addons/pull/12

So it should be possible to get Frigate working without swapping hardware.

Where do you put the output_args?
All I get is:

 * Starting nginx nginx
   ...done.
Error parsing config: expected a dictionary for dictionary value @ data['ffmpeg']['output_args']

You can place under an individual camera, but I wanted all cameras, so put it here:

ffmpeg:
  hwaccel_args:
    - -hwaccel
    - vaapi
    - -hwaccel_device
    - /dev/dri/renderD128
  output_args:
    clips: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -codec:a aac
2 Likes

So simple… Thanks!

You could possibly achieve that with best_image_timeout. So something like:

  Nextone:
    ffmpeg:
      inputs:
        - path: rtsp://xxx:[email protected]:2554/axis-media/media.amp
          roles:
            - detect
    width: 1920
    height: 1080
    fps: 5
    best_image_timeout: 5

The default value is 60.

The easiest way to keep all images is to assign a clips role to the camera, unless your use case prevents that.

Did you solve this?

Did you got it working?