I’ve now managed to get the stream of my HiWatch Series, model HWI- T641H-Z 2.8-12 mm by accessing via browser to rtsp://USERNAME:PASSWORD@192.168.30.50:554/Streaming/Channels/101. Working nice. But on its own, very unusful unless I get storage and image detection going. So, I need something like Frigate.
I believe the Frigate docs suggest running in a docker container installed on a VM. Very convienient as I have Proxmox (installed on a optiples 7070 micropc with 32MB ram) running a VM on which i have a few containers. The idea is to mount a “frigate” dataset created on my Truenas server on Proxmox which is then mounted to the VM. Lots of layers but hoping it should be ok.
I heard that the Google Coral TPU is not sold anymore. Is this going to be a problem for Frigate image recognition? Are there alternatives to the Coral TPU?
Regarding Google Coral, from the docs: https://docs.frigate.video/frigate/hardware
The Coral is no longer recommended for new Frigate installations, except in deployments with particularly low power requirements or hardware incapable of utilizing alternative AI accelerators for object detection. Instead, we suggest using one of the numerous other supported object detectors. Frigate will continue to provide support for the Coral TPU for as long as practicably possible given its still one of the most power-efficient devices for executing object detection models.
Personally, I’d recommend OpenVINO. It works on iGPUs, and if that’s not possible it’s quite performant on CPUs. I currently run a Google Coral and the Linux driver is no longer officially maintained meaning it breaks every now and then after a kernel update, next time it breaks I’m going with OpenVINO.
Also, I’d install Docker in an LXC for Frigate, it makes passing the iGPU through to it a lot easier.
You can still get the Google Coral (both the USB dongle and M.2/PCIe versions), but Google has effectively abandoned the official drivers. You’ll need to use community-maintained DKMS drivers if you go with the PCIe version on newer Linux kernels.
If you want a modern alternative, look into the Hailo-8 or Hailo-8L M.2 AI accelerators. They plug right into an open M.2 slot and natively integrate into recent versions of Frigate. Keep in mind that these accelerators ONLY process object detection inference - they do not handle video decoding.
For video decoding, your OptiPlex 7070’s Intel CPU has Quick Sync Video (QSV). You can pass
/dev/drithrough to your container, and Intel iGPU hardware acceleration will handle decoding the RTSP streams with minimal CPU overhead.If you prefer an all-in-one approach, an Intel or Nvidia GPU can handle both video decoding and object detection (via OpenVINO or TensorRT), but a Micro PC limits your physical expansion options.
Storing recordings on a TrueNAS share over NFS or SMB works just fine. Mount the NFS share directly in Proxmox or the VM host, then pass the directory through to your Docker container.
In my experience frigate is quite CPU intensive. I have 10 cameras and my old I7-8700 would die trying to have frigate process them all.
I opted for a different approach with LazyNVR (https://codeberg.org/LazyNVR/lazynvr-sources) leveraging the capability of the camera to perform motion detection and video recording directly. This offloaded my CPU and now I can record all 10 cameras on a OPi3.
I’ve tried LazyNVR but I couldn’t figure out how to make it work with my cameras. There seem to be no real instructions. I don’t even get how it’s supposed to find the cameras, there’s no place to put an IP.
Have you read the readme? There is literally a text config file to fill with the camera info (url of image).
Feel free to open a ticket on codeberg or DM/PM me for any additional detail.
Indeed documentation could be better…
This camera (Reolink E330) doesn’t have HTTP (80 or 443), just RTSP (554), ONVIF (8000) and the proprietary interface that their own app uses (9000).
The Frigate docker image is generally nasty. It’s humongous (5.5 GB), bundles and runs a ton of different things whether you use them or not, uses s6 as init and supervisor which is a piece of crap, and it cannot be secured – it won’t run as a non-privileged user, it won’t drop caps, you can’t make it read-only because some genius configured nginx to put temporary files in with the app files, it conveniently includes
aptso the attacker can install anything they might want inside the container, and in fact recommends running in privileged mode(!).I think it’s the most security-hostile docker image I have ever seen.
Good! I was probably doing something wrong, but in any case seems more logical to leverage the cameras internal detection.
Yeah Frigate devs claim it can’t be done, but it works in other projects like Shinobi.
Have an i3 8xxx running 7 cams. Avg 15% detection CPU.
Took a while to get my config right.My complaint isn’t that frigate is inefficient it’s that it’s way too easy to make it inefficient.
Feels like nextcloud…
I have the same setup. Run ov on the igpu, works great.


