FRIGATE
Host your own pro-quality CCTV
Hosting CCTV at home can remove the reliance on expensive and often restrictive subscription services. Find out how with Matt Holder.
OUR EXPERT
Matt Holder has been a fan of the open source methodology for over two decades and uses Linux and other tools where possible.
An overview of Frigate’s main user interface.
This tutorial will look at some of the open source solutions that are available to self-host CCTV recording, playback and analysis in your own home. In this way, we can remove reliance on third-party services that charge a recurrent fee for a subscription service. Many services have moved to a subscription model in recent years and the amount spent on these soon adds up. The bulk of the article will cover the usage of Frigate, but other options will also be discussed.
Frigate (https://frigate.video) made its debut in 2019. What makes the software interesting is that it uses Google’s TensorFlow to categorise what’s causing motion. The software can also be configured to only store motion events attributed to certain things, such as people or cars. Frigate has a modern-looking web interface for the viewing of live cameras, events and for the export of footage.
Configuration takes place using a YAML file, where all aspects of the setup is configured, including camera addition, retention times, motion settings and adding zones to the footage. Frigate supports a wide range of camera output types and uses ffmpeg to grab the footage for processing. Frigate doesn’t support pan-tilt-zoom (PTZ) cameras , but has brilliant support for home automation.
Installation is simple using containers and can be carried out on as small a device as a Raspberry Pi. Interestingly, the motion categorisation can be performed by a Coral AI device, which can be connected via USB and can perform this task many times quicker than a CPU. For usage with a single camera, the Coral device isn’t strictly necessary, but for a larger number of devices it would be a sensible addition (stock is currently restricted, see box, facing page), so that the load on the server can be reduced. It also means that a less-powerful server can be used to host the system.