Local DIY Surveillance System
Introduction
The surveillance system runs 100% locally and consists of one external camera, the Yard, and two internal cameras: the Living Room and the Kitchen (a USB webcam).
Everything is managed in Frigate, which detects motion, occupancy, person recognition, etc.
Recordings happen only when no one is at home and only when a person is detected, no 24/7 recordings. Retained for 10 days for person alerts only: motion and object-only footage is not kept, so the car parked in the yard no longer fills the disk.
The outdoor camera uses the flash as an alert when motion is detected at night, providing color night vision.
Cameras
Living Room

- Main Stream: H265, 2560x1440, 25 fps, 8192 Kbps
- Sub Stream: H264, 800x448, 15 fps, 512 Kbps
Yard

Watches the driveway and the two garage doors.
- Main Stream: used for recording and live view
- Sub Stream: H264, 800x448, used for detection
Kitchen
Trust Full HD USB webcam connected to the server, MJPEG 1280x720, one stream for detection only: it never records.
It looks at the kitchen table, which the Living Room camera does not really see.
Specs Required
- 4MP is enough, reaching 2560x1440
- POV of 2.8mm if wide view from an angle is needed
- POV of 3.6mm if standard view is needed
- ONVIF for handy integration in Home Assistant using go2rtc
Camera Form Factor Decision
Turret
Preferred for outdoor installations as they have a more standard and obvious CCTV camera style.
Easier to mount to outdoor poles.
Bullet
Smaller and less visible indoors.
Less CCTV look so it does not look out of place indoors.
Cabling & Wiring (PoE)
Cable Selection
Cat5e F/UTP (Solid Bare Copper)
Kenable External Copper Ethernet Cable Cat 5e FTP 100m
- 24AWG PURE COPPER: 100% solid copper braided pairs for reliable performance up to gigabit speeds, compatible with 10/100/1000Mbps networks
- FULL F/UTP SHIELD: Sheet protection against electromagnetic interference with grounding drainage wire, ideal for noisy environments
- WEATHER RESISTANT: UV resistant PE sheath with internal film that prevents condensation, perfect for outdoor installations, burial or building mounting
- FLUKE A 100M TESTED: Each spool is tested to professional standards for strength, insertion loss and guaranteed network performance
- 100M SPOOL: Handy length for residential and commercial projects, 6mm flexible cable easy to install in any environment
Why Cat5e and not Cat6?
Thickness/Flexibility: Cat6 is thick and rigid due to its internal plastic spline and thicker copper cores, making it extremely difficult to pull through narrow domestic wall conduits. Cat5e is much thinner and more flexible.
Performance: Cat5e supports speeds up to 1 Gbps and fully supports PoE/PoE+ up to 100 meters (328 feet). Since a 4MP camera uses only ~6-8 Mbps, Cat5e is more than sufficient.
Why Pure Copper (CU) is Mandatory over CCA (Copper Clad Aluminum)?
Though Pure Copper costs twice as much as CCA, the difference is critical for PoE and safety:
Power Stability & Voltage Drop: CCA has high electrical resistance. When cameras draw more power (especially at night when IR LEDs turn on), CCA can cause voltage drops, leading to random camera reboots or disconnects. Pure copper maintains solid, continuous voltage.
Safety & Heat: Because of high resistance, CCA cables get hot under continuous PoE loads. In closed, narrow domestic wall conduits, this presents a real fire hazard.
Pulling Strength vs. Brittleness: Aluminum is extremely brittle. If you pull a CCA cable with any force through tight domestic wall conduits, the internal wires are highly likely to snap and break, ruining the installation. Pure copper is highly ductile and can survive heavy pulling and tight bends.
No Corrosion: Aluminum oxidizes (rusts) quickly when exposed to air. Crimped RJ45 connectors on CCA will degrade over a few months, causing packet drops. Pure copper does not oxidize at the contacts.
Why FTP (Shielded)?
Mandatory shield since the network cables will use the same flexible conduit as the 230V power cables.
Use shielded connectors too to ground electrical interference.
The RJ45 connectors are Cat5e/6 compatible and metal-shielded to allow the metal drain wire to ground properly.
Approach & Configuration
- Main Stream: Record max quality locally in H.265 to save disk space, live stream on devices.
- Sub Stream: Use for AI detection in H.264 to save CPU.
- Smart Features: Disable internal camera recordings when the family is at home; Frigate state detection (e.g. garage door open/closed state).
- Night Vision: Use Infrared (Black & White) for better AI contrast and reduced motion blur.
Frigate
Frigate is the engine of the camera system: it pulls all the cameras, restreams them for live view and recording, and runs the AI for object detection, face recognition, licence plate reading and the garage door zones. It runs in a container on my home server and it stays on the LAN, with no external links on the internet.
Streams
Each camera is opened once and restreamed, then both the detector and the live view read the restream. PoE cameras allow few simultaneous sessions, so this keeps one per stream instead of one per consumer.
Detection is wired to the sub stream and recording to the main one, so the AI never touches 1440p.
Detection
Object detection runs on the Intel iGPU with OpenVINO, at around 7 ms per inference. The CPU stays free, and it is why I never needed a Coral TPU. The iGPU also handles the video decoding for the two PoE cameras.
Face recognition uses the large model since a GPU is available, and licence plates are read but nothing is triggered by them yet.
Motion Tuning
I made motion detection a bit less sensitive, so sun moving, foliage and rain stop producing motion boxes, and I turned off the contrast boost because at night it was inventing motion.
Masks cover the street, a tree and the clothes line: what happens there is not mine to react to, and it must not trigger anything.
What It Tracks
The list is deliberately short: only people indoors, and people, cars, motorcycles and bicycles in the yard. The Kitchen counts people at the table and nothing else.
Objects that stand still are never expired, so a parked car or somebody sitting at the table keeps its presence.
Garage Door Zones
The two garage doors have a zone each, and they work as a safety interlock: if a person, a bike, the motorcycle or the parked car is too close, the door is not allowed to open until the area in front of it is clear.
Recording
Frigate cannot know if someone is at home, so a Home Assistant automation switches the recordings of the Living Room and the Yard on when the family leaves and at night, and off when someone is back and in the morning.
The Kitchen never records, its one job is the table.
Only person alerts are kept, for 10 days. Everything else is dropped seconds later, so nothing accumulates on the disk. The tradeoff, accepted for the disk: no footage survives for an event that is not a person.
Storage
Recordings live on a dedicated 500 GB disk, while the configuration, the database and the models stay on the SSD on purpose. The recordings are never backed up: losing the footage costs nothing.