im fairly new to home assistant but seem te be getting along with it.
One of the things that i don’t seem to get figured out is how to use is as a NVR for my camera’s. I currently have a simple 2K tapo ip-camera (and that works great with the tapo integration). But i want to skip the Tapo configurations, just give (an addon) the onvif/rtsp stream and make the rest of the magic happen locally.
I started playing around with Frigate but its pretty hardware intensive and i also don’t really get it figured out. There seem to be no fool-proof guides as far as i could find. Ideally the footage gets stored on my NAS, but the recordingtasks and motiondetection etc. happens in HA.
Any ideas how i could make this happen? I want it this way because i can combine different brands of camera’s etc and get great integration with all the sensors since they are made inside HA (which enables me to customize it more). The current tapo integration doesn’t even support the built-in AI-persondetection.
This is a function of running a NVR and less about frigate. Video processing takes a lot. I built my HA server to support plex (video server) and this made frigate easy. That said, you can adjust detect settings to reduce processing and google coral handles the rest.
What hardware are you using?
No. HA can’t do this ever. Frigate can.
Footage can be stored to NAS.
HA can do recording but you’ll have no way to review footage in a timeline or easily. Even recording will be weird. This is where frigate is useful it organizes and gives viewing method.
Technically you can disable detection on frigate and just record. In the end how you use frigate should be tuned for your hardware.
If you have frigate working you can ask at frigate GitHub and maybe ask here about how to do what you need. Specific questions.
I think frigate covers these needs and HA won’t work well
Motioneye is an option. I used this before frigate. It works really well but UI was slow. This was 8yr ago but at the time it was simplest to use and “Just worked”. No weird yaml or ffmpeg options.
There are others but all pretty terrible and motion detection take a lot of processing. Camera recording does as well.
My advice. Don’t try to use HA for your NVR. You really do need the right kind of hardware & software to do this well. I use BlueIris & I love it but the features it offers (like most of the other players in this space) do require the right kind of hardware for it to not be a royal pain in your arse.
Keep your NVR & HA separate but integrate them. For instance BlueIris will communicate with HA via MQTT. For me this works flawlessly.
I directly installed HAOS on an HP t620 thinclient (AMD Dual-Core GX-217GA 64-bit SOC (1.65 GHz, 1 MB L2 cache) with AMD Radeon HD 8280E (450MHz GPU) Graphics, 16GB DDR3L ram, no GPU and only 16GB ssd (im planning on upgrading the ssd but would still like the recordings on my NAS)).
I only started with home assistant a couple weeks ago and this nvr-idea was not taken into consideration when selecting the hardware. But maybe a Google coral usb will compensate.
The QuickSpecs document of this pc shows that H.264 is a supported video codec for hardware acceleration. But i dont seem to get figured out how to tell the frigate config to use this.
That sounds good. Is motion detection hardware intensive too? or just the AI-detection part where i ask it to look for cars or something. Would just enabling person-detection make a big difference compared to just motion-detection?
Just motion-detection is usually not helpful, since every falling leaf or tree branch moving in the wind constitutes motion. So you get a ton of triggers that aren’t useful. Hence the effort and compute power to try to figure which motion is interesting, like a person.
Motion detection is like running 4k video. Very GPU intensive. It checks frame by frame looking for changes. You can reduce frames it checks(frame rate), add masks etc to reduce the load. Look here for info.
It is basically required. Coral or GPU. coral is a fraction of the costs of gpu. USB is OK by PCI is at least twice as fast
Yes and No.
motion detection uses cpu and/or GPU
Object detection use coral or GPU
CPU can do both but will “miss detections” and fail at the task. If using a coral you likely won’t need to limit object detection unless you have several cameras running high frame rates. You problem now is likely related to motion detection and cpu usage.
Also, many people make the mistake of using high resolution camera image for detect stream but this is not directly advised. It’s advised to use resolution appropriate to desired object size in image. Something like that. If your monitoring a residence this means 720p resolution for detection will likely be Ok. If you are trying to detect a person on a football field higher detect resolution may be required. Lower resolution reduces workload. You can still use high resolution for recording. This is the way!
This. So the goal is to mask excess motion and capture minimum motion. This gets sent to object detection for score and classification. You then parse by score and classification to determine if you should be notified.
Since i installed proxmox on my intel nuc recently i also wanted to try all available NVR scripts on my intel skull canyon nuc (i7 cpu) - more or less for fun and out of curiosity.
I have 9 cameras and dedicated Dahua nvr machine. And i can say that none of available scripts can do nvr nearly as good as Danua. So, my advice would be: get a NVR. They aren’t so expensive, it’s worthed. Then just integrate cameras you want/need into HA just for viewing.