Phase 1 (Foundation): project skeleton, TOML config + Pydantic validation, MQTT bus wrapper, SQLite schema (9 tables), Click CLI, process supervisor. Phase 2 (Camera): RTSP capture via OpenCV, MOG2 motion detection with configurable sensitivity/zones, adaptive FPS recording (2fps idle/30fps motion) via FFmpeg subprocess, HLS live streaming, pre-motion ring buffer. Phase 3 (Web UI): Flask + Bootstrap 5 dark theme, 6 blueprints, Jinja2 templates (dashboard, kiosk 2x2 grid, events, sensors, recordings, settings), PWA with service worker + Web Push, full admin settings UI with config persistence. Remote Access: WireGuard tunnel configs, nginx reverse proxy with HLS caching + rate limiting, bandwidth-optimized remote HLS stream (426x240 @ 500kbps), DO droplet setup script, certbot TLS. 29 tests passing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 KiB
Vigilar Camera Hardware Guide
Practical guide for selecting, purchasing, and installing cameras for the Vigilar DIY home security system. All recommendations are for PoE IP cameras with native RTSP support -- no cloud dependency, no subscription fees.
Last updated: April 2026
1. Camera Recommendations
Selection Criteria
Every camera below meets these requirements:
- Native RTSP stream output (works directly with OpenCV + FFmpeg)
- PoE (IEEE 802.3af) -- single cable for power and data
- ONVIF Profile S compliance (interoperability, auto-discovery)
- H.265 or H.264 encoding
- No cloud account required for local operation
- MicroSD slot for on-camera fallback recording
Recommended Models
Reolink RLC-810A -- Best Overall Outdoor ($90)
| Spec | Value |
|---|---|
| Resolution | 3840x2160 (8MP/4K) @ 25fps |
| Lens | 2.8mm fixed, 101deg horizontal FOV |
| Night vision | 100ft / 30m IR (18x 850nm LEDs) |
| Weatherproofing | IP67 |
| AI detection | Person / Vehicle / Pet |
| Encoding | H.265 / H.264 |
| Power draw | ~12W max (PoE 802.3af) |
| ONVIF | Yes (Profile S) |
| Audio | Built-in microphone |
| Storage | MicroSD up to 512GB |
Why this camera: 4K resolution at a sub-$100 price point. The 8MP sensor provides enough detail for facial identification at 15-20ft and license plate reading at 25-30ft. Person/vehicle AI detection reduces false alerts from animals, swaying branches, etc. Widely used with Frigate, ZoneMinder, Blue Iris, and Home Assistant -- enormous community support for troubleshooting.
RTSP URLs:
Main stream (4K): rtsp://admin:<password>@<ip>/Preview_01_main
Sub stream (D1): rtsp://admin:<password>@<ip>/Preview_01_sub
Default port is 554. The sub stream is typically 640x360 and ideal for
Vigilar's motion detection pipeline (resolution_motion setting).
Vigilar config:
[[cameras]]
id = "front_door"
display_name = "Front Door"
rtsp_url = "rtsp://admin:yourpassword@192.168.1.101:554/Preview_01_main"
resolution_capture = [1920, 1080] # downscale from 4K to save storage
resolution_motion = [640, 360]
motion_fps = 25
idle_fps = 2
Note: You can capture at the native 4K (3840x2160) if storage allows, but 1080p is the sweet spot for Vigilar's HLS streaming and storage constraints.
Reolink RLC-520A -- Best Budget Dome Outdoor ($55)
| Spec | Value |
|---|---|
| Resolution | 2560x1920 (5MP) @ 25fps |
| Lens | 4.0mm fixed, 80deg horizontal FOV |
| Night vision | 100ft / 30m IR (18x 850nm LEDs) |
| Weatherproofing | IP67 |
| AI detection | Person / Vehicle |
| Encoding | H.265 / H.264 |
| Power draw | ~10W max (PoE 802.3af) |
| ONVIF | Yes (Profile S) |
| Audio | Built-in microphone |
| Storage | MicroSD up to 512GB |
Why this camera: The dome form factor is more discreet and vandal-resistant than bullet cameras. At $55, it is the cheapest option that still has confirmed RTSP/ONVIF support and AI-based person/vehicle detection. The 5MP resolution is more than sufficient for most positions. Slightly narrower FOV than the 810A (80deg vs 101deg), which makes it better suited for focused areas like a side gate or driveway where you want more zoom.
RTSP URLs: Same format as all Reolink PoE cameras:
Main stream (5MP): rtsp://admin:<password>@<ip>/Preview_01_main
Sub stream: rtsp://admin:<password>@<ip>/Preview_01_sub
Amcrest IP5M-T1179EW-AI-V3 -- Best Alternative Outdoor ($50-60)
| Spec | Value |
|---|---|
| Resolution | 2592x1944 (5MP) @ 20fps |
| Lens | 2.8mm fixed, 132deg horizontal FOV |
| Night vision | 98ft / 30m IR |
| Weatherproofing | IP67 |
| AI detection | Person / Vehicle |
| Encoding | H.265 / H.264 |
| Power draw | ~9W max (PoE 802.3af) |
| ONVIF | Yes (Profile S) |
| Audio | Built-in microphone |
| Storage | MicroSD up to 256GB |
Why this camera: Widest FOV of any camera in this price range at 132 degrees. Officially recommended by the Frigate NVR project. Amcrest has more granular RTSP configuration options than Reolink via their web interface. Confirmed working with Home Assistant ONVIF integration, Frigate, and any RTSP consumer.
RTSP URLs:
Main stream: rtsp://admin:<password>@<ip>:554/cam/realmonitor?channel=1&subtype=0
Sub stream: rtsp://admin:<password>@<ip>:554/cam/realmonitor?channel=1&subtype=1
Alternative simplified URL (also works):
rtsp://admin:<password>@<ip>:554/live
Reolink E1 Outdoor Pro (or RLC-520A indoors) -- Best Indoor ($55-80)
For indoor use, you have two good options:
Option A: Reolink RLC-520A used indoors ($55) The same dome camera listed above works perfectly indoors. Mount it in a corner near the ceiling. The dome form factor looks clean in a living space. The 100ft IR range is overkill for a room but means the IR LEDs run at low power, reducing that red-glow annoyance.
Option B: Reolink E1 Outdoor Pro (~$80) If you want pan-tilt for a large open area (living room, basement, warehouse):
- 4MP with 355deg pan / 50deg tilt
- Auto-tracking follows detected people
- Works as fixed camera when tracking is disabled
- Same RTSP URL format as other Reolink cameras
For most Vigilar setups, a fixed dome (Option A) is simpler and more reliable -- no moving parts, no auto-tracking logic to debug.
Models to AVOID
| Model | Reason |
|---|---|
| Reolink Argus / Go series | Battery-powered, no RTSP/ONVIF support |
| Any Reolink E1 (non-Pro) | Requires Home Hub for RTSP; not standalone |
| Wyze Cam v3/v4 | No native RTSP (requires firmware hack, breaks easily) |
| Ring / Nest / Arlo | Cloud-locked, no RTSP access |
| TP-Link Tapo C200/C310 | RTSP added via firmware but flaky; ONVIF missing |
| Generic Aliexpress "4K" | Often fake resolution, unstable RTSP, no firmware updates |
2. PoE Network Setup
PoE Switch Selection
For 4 cameras you need a switch with at least 5 PoE ports (4 cameras + headroom). An 8-port switch is the right buy -- room to grow.
Recommended: NETGEAR GS308PP ($70)
| Spec | Value |
|---|---|
| Ports | 8x Gigabit (all PoE+) |
| PoE budget | 83W (FlexPoE upgradeable to 123W) |
| Management | Unmanaged (plug and play) |
| Noise | Fanless (silent) |
| Warranty | Lifetime with next-business-day replacement |
Why: 83W is more than enough for 4 cameras drawing ~10-12W each (total ~48W with headroom). Fanless means zero noise in a utility closet. Unmanaged means zero configuration -- plug in cables and it works.
Power budget math:
4 cameras x 12W each = 48W
Switch headroom: 83W - 48W = 35W remaining
(enough for 2-3 more cameras later)
Budget alternative: TP-Link TL-SG1005P ($35)
5 ports (4 PoE + 1 uplink). 65W budget. Sufficient for exactly 4 cameras with no room to grow. Only buy this if you are certain you will never add a 5th camera.
If you want management: TP-Link TL-SG108PE ($60)
8 ports (4 PoE), 64W budget, basic web management with VLAN support. Useful if you want to isolate cameras on their own VLAN for security (recommended but not required for Vigilar).
Cable Types
| Scenario | Cable Type | Why |
|---|---|---|
| Indoor runs (attic, walls, basement) | Cat6 UTP CMR-rated | Standard indoor riser-rated cable |
| Outdoor exposed runs | Cat6 UTP outdoor-rated (UV/water resistant) | PE jacket resists sun and moisture |
| Underground burial | Cat6 direct-burial rated | Gel-filled, no conduit needed |
| Short patch runs (<10ft) | Pre-made Cat6 patch cables | Not worth crimping for short runs |
Maximum cable run: 328 feet (100 meters) per the Ethernet spec. Beyond that you need a PoE extender or switch relay.
Cable Routing Tips
Through exterior walls:
- Drill from inside out at a slight downward angle (5-10 degrees) so water runs away from the interior
- Use a 3/4" drill bit -- large enough for an RJ45 connector to pass through
- After running cable, fill the hole with silicone caulk or use a weatherproof cable gland/grommet
- Consider a weatherproof junction box on the exterior to make the connection point maintainable
Through attic:
- The cleanest install routes cable up into the attic, across the attic, and down through the soffit to the camera
- Use a flex drill bit (also called an installer bit, 3/4" x 54") to drill through top plates from inside the attic
- Attach cables to joists/rafters with cable staples (not tight -- leave slack)
- Keep ethernet cables 12+ inches away from electrical wiring to avoid interference
Through basement/crawlspace:
- Route along floor joists using J-hooks or cable staples
- Drill up through the sole plate where you need to reach an exterior wall
- Use fire-stop caulk when penetrating between floors (code requirement)
Tools needed for cable routing:
- Stud finder
- 3/4" installer flex bit (54" long) for drilling through top/sole plates
- Fish tape or glow rods for pulling cable through walls
- Drywall saw (for cutting low-voltage wall plate holes)
- Cable staple gun or J-hooks
- Headlamp (for attic work)
3. Mounting Guide
Outdoor Mounting
Soffit Mount (Recommended for most positions)
This is the cleanest outdoor install. The camera mounts under the roof overhang, protected from direct rain and sun.
- Hold the camera mounting plate against the soffit and mark screw holes
- If soffit is vinyl: drill through vinyl into the wood backing behind it. Use toggle bolts if there is no solid backing
- If soffit is aluminum: use self-tapping sheet metal screws into the wood behind
- Route cable up through the soffit (drill a 3/4" hole) into the attic space
- Apply silicone sealant around the cable entry point
- Attach camera to mounting plate
Advantages: Weather protection from the overhang, clean hidden cable routing, difficult for intruders to reach/tamper with.
Wall Mount
- Use a junction box mounted to the exterior wall with Tapcon concrete screws (for brick/stucco) or lag screws (for wood siding)
- Route cable through the wall behind the junction box
- Make the wall penetration inside the junction box so the box covers and weatherproofs it
- Seal all entry points with silicone
- Mount camera to junction box
Fascia/Eave Mount
Similar to soffit but on the vertical face of the eave. Use an angled mounting bracket (15-30 degrees) to tilt the camera downward. This is ideal for getting a wider view of a yard or driveway.
Mounting Heights and Angles
| Position | Recommended height | Tilt angle | Why |
|---|---|---|---|
| Front door | 8-10 ft | 15-20deg down | Captures faces of people approaching |
| Driveway/yard | 10-12 ft | 20-30deg down | Wide area coverage, hard to tamper |
| Side gate | 7-9 ft | 10-15deg down | Narrow passage, closer subjects |
| Indoor room | 7-8 ft (corner, near ceiling) | 10-15deg down | Covers most of the room diagonally |
Key principles:
- Higher = harder to tamper with, but faces become less identifiable
- 8-10ft is the sweet spot for face identification
- Aim cameras so the horizon line is in the upper third of the frame
- Avoid pointing cameras directly at the sky or strong light sources
- For night vision: the IR range (100ft) is the max, but usable identification distance is more like 30-50ft depending on subject reflectivity
Indoor Mounting
Corner ceiling mount (best coverage):
- Mount in the corner diagonally opposite the main entry point to the room
- This maximizes the visible area and captures faces of anyone entering
- Use the dome camera's built-in mount or a small L-bracket
- Cable can run up through the ceiling or along the wall with paintable cable raceway
Shelf/furniture placement (no drilling):
- Place camera on top of a bookshelf or cabinet
- Angle slightly downward
- Run cable behind furniture to a wall plate or directly to a switch
- Less ideal than ceiling corner mount but zero damage to walls
Weatherproofing Cable Entry Points
For every exterior cable penetration:
-
Cable gland (best): Threaded waterproof fitting, ~$2 each. Drill the exact hole size, thread the gland, pass cable through, tighten the compression nut. Watertight seal.
-
Silicone caulk (good enough): Fill the hole around the cable with exterior-grade silicone. Cheap and effective but harder to service later.
-
Weatherproof junction box (most maintainable): Mount a small outdoor junction box over the wall penetration. Cable enters the box from inside the wall and connects to the outdoor cable run inside the protected box. Easiest to service but adds cost and visual bulk.
Always ensure the drill hole angles slightly downward toward the exterior so gravity pulls water away from the interior.
4. Four-Camera Placement Strategy
The Four Positions
For a typical single-family home, these four positions provide the best coverage with no blind spots on approach routes:
STREET
____________
| |
[CAM 2]---->| FRONT |<----[CAM 1]
Side gate | DOOR | Front door / porch
| |
| |
| HOUSE |
| |
| |
[CAM 3]---->| BACK |<----[CAM 4]
Side yard | YARD | Backyard / patio
|____________|
BACKYARD
Camera 1: Front Door / Porch (PRIORITY 1)
- Model: Reolink RLC-810A (4K for face identification)
- Mount: Soffit above front door, 8-9ft high
- Aim: Straight out from the door, capturing anyone approaching
- FOV needed: ~100deg horizontal catches porch and walkway
- Why 4K here: This is your primary identification camera. Police need clear face shots. The 8MP sensor lets Vigilar crop and zoom in recordings.
Camera 2: Side Gate / Driveway (PRIORITY 2)
- Model: Reolink RLC-520A (5MP dome, discreet)
- Mount: Soffit or wall mount at the corner, 8-10ft high
- Aim: Along the side of the house toward the street
- FOV needed: 80deg is sufficient for a narrow side passage
- Why dome here: Vandal-resistant dome is harder to knock off or spray-paint. Side gates are common break-in approach routes.
Camera 3: Back Door / Patio (PRIORITY 3)
- Model: Amcrest IP5M-T1179EW (132deg wide angle)
- Mount: Eave or soffit at rear of house, 10-12ft high
- Aim: Across the full backyard
- FOV needed: The 132deg wide angle covers the most yard area with a single camera
- Why wide angle here: Backyards are large. The Amcrest's 132deg FOV covers more area than the Reolink's 80-101deg, reducing blind spots.
Camera 4: Garage / Interior (PRIORITY 4)
- Model: Reolink RLC-520A (5MP dome) used indoors
- Mount: Corner ceiling mount in garage, or inside a high-value room
- Aim: Diagonal across the space toward the main entry point
- Why indoors: If someone gets past the exterior cameras, this catches them inside. Garage is the most common interior break-in entry after doors.
Coverage Analysis
With this layout:
- 100% of approach routes are covered: front, both sides, rear
- Front door gets 4K identification: the most important camera position
- Backyard gets wide-angle: maximum area with one camera
- Interior fallback: catches intruders who bypass or disable exterior cameras
- Overlap between cameras 1 and 2 at the front corner provides redundancy on the most common approach
Night Vision Considerations
All recommended cameras have 100ft (30m) IR range. In practice:
| Distance | Identification quality |
|---|---|
| 0-15ft | Excellent (clear facial features, text on clothing) |
| 15-30ft | Good (face recognizable, body details visible) |
| 30-50ft | Fair (person detectable, gender/build visible, no face detail) |
| 50-100ft | Movement detection only (shape visible, no identification) |
Tips for better night performance:
- Mount cameras where existing outdoor lights provide supplemental illumination
- Avoid aiming cameras at reflective surfaces (white walls, parked cars with chrome) as IR reflection causes glare/washout
- If possible, add a dusk-to-dawn LED floodlight near cameras 3 and 4 (backyard) -- this enables color night vision on cameras that support it and dramatically improves identification range
- Keep camera lenses clean; dust and spider webs scatter IR light and create haze
5. Complete Shopping List
Cameras
| Item | Model | Qty | Unit Price | Total |
|---|---|---|---|---|
| Front door camera | Reolink RLC-810A (4K) | 1 | $90 | $90 |
| Side gate camera | Reolink RLC-520A (5MP dome) | 1 | $55 | $55 |
| Backyard camera | Amcrest IP5M-T1179EW-AI-V3 (5MP wide) | 1 | $55 | $55 |
| Garage/indoor camera | Reolink RLC-520A (5MP dome) | 1 | $55 | $55 |
| Subtotal | $255 |
Budget alternative: Replace the RLC-810A with a third RLC-520A ($55) and save $35. You lose 4K on the front door but 5MP is still decent.
All-same-brand alternative: 4x Reolink RLC-810A at $90 each = $360. Simpler to manage (one RTSP URL format, one firmware update process, one web UI).
Networking
| Item | Model / Description | Qty | Unit Price | Total |
|---|---|---|---|---|
| PoE switch | NETGEAR GS308PP (8-port, 83W) | 1 | $70 | $70 |
| Bulk ethernet cable | Cat6 UTP CMR 23AWG 500ft pull box | 1 | $55-75 | $65 |
| RJ45 connectors | Cat6 pass-through connectors (50-pack) | 1 | $12 | $12 |
| Crimping tool | RJ45 pass-through crimper with stripper | 1 | $25 | $25 |
| Cable tester | Basic RJ45 continuity tester | 1 | $12 | $12 |
| Short patch cables | Cat6 1ft patch cable (for switch end) | 4 | $3 | $12 |
| Subtotal | $196 |
Note on bulk cable vs pre-made: For runs over 25ft through walls/attic, bulk cable + crimping is far cheaper and you can make exact-length cables. For anything under 10ft (switch to patch panel), buy pre-made.
Bulk cable brands: Monoprice, Cable Matters, or trueCABLE are all reliable for Cat6 CMR-rated cable. Expect ~$55-75 for a 500ft box. A 500ft box is sufficient for a typical home with 4 cameras (average run 50-80ft each, plus waste from mistakes and test pulls).
Mounting Hardware
| Item | Description | Qty | Unit Price | Total |
|---|---|---|---|---|
| Junction boxes | Weatherproof outdoor camera junction box | 3 | $8 | $24 |
| Cable glands | PG9 waterproof cable glands | 6 | $1 | $6 |
| Tapcon screws | 3/16" x 1-3/4" (for brick/stucco) | 1 box | $8 | $8 |
| Lag screws | #10 x 2" stainless (for wood) | 1 box | $6 | $6 |
| Wall anchors | Plastic expansion anchors (assorted) | 1 pack | $5 | $5 |
| Silicone sealant | GE outdoor silicone caulk | 1 | $7 | $7 |
| Subtotal | $56 |
Cable Routing Supplies
| Item | Description | Qty | Unit Price | Total |
|---|---|---|---|---|
| Flex drill bit | 3/4" x 54" installer bit | 1 | $18 | $18 |
| Cable staples | Coax/ethernet cable staples (100pk) | 1 | $6 | $6 |
| Fish tape | 25ft steel fish tape | 1 | $15 | $15 |
| Low-voltage wall plates | 1-gang brush-style pass-through | 4 | $3 | $12 |
| Cable raceway | Paintable adhesive raceway 1" (for indoor runs) | 2 packs | $8 | $16 |
| Velcro cable ties | Reusable 8" ties (50-pack) | 1 | $6 | $6 |
| Electrical tape | For marking cable ends by camera | 1 | $3 | $3 |
| Subtotal | $76 |
Optional but Recommended
| Item | Description | Qty | Unit Price | Total |
|---|---|---|---|---|
| UPS for switch | APC BE425M (small UPS for PoE switch) | 1 | $45 | $45 |
| Keystone jacks | Cat6 keystone jacks (for wall plates) | 8 | $3 | $24 |
| Keystone wall plate | 1-gang single-port plate | 4 | $2 | $8 |
| Punch-down tool | 110 punch-down (for keystone jacks) | 1 | $10 | $10 |
| Label maker | Brother P-Touch for cable labeling | 1 | $20 | $20 |
| Subtotal | $107 |
Grand Total
| Category | Cost |
|---|---|
| Cameras | $255 |
| Networking | $196 |
| Mounting hardware | $56 |
| Cable routing | $76 |
| Required total | $583 |
| Optional extras | $107 |
| Total with all options | $690 |
6. RTSP URL Quick Reference
For Vigilar's config/vigilar.toml, use these RTSP URLs:
Reolink Cameras (RLC-810A, RLC-520A)
# Main stream (full resolution, for recording)
rtsp://admin:<password>@<ip>:554/Preview_01_main
# Sub stream (low resolution, for motion detection)
rtsp://admin:<password>@<ip>:554/Preview_01_sub
- Default username:
admin - Default password: set during initial camera setup via Reolink app or web UI
- Default RTSP port: 554
- ONVIF port: 8000 (for auto-discovery)
- Web UI:
http://<ip>(port 80)
Important: Do not use special characters in the RTSP password. Stick to alphanumeric characters. Special characters in URLs cause encoding issues with some RTSP clients including OpenCV.
Amcrest Cameras (IP5M-T1179EW)
# Main stream (full resolution, for recording)
rtsp://admin:<password>@<ip>:554/cam/realmonitor?channel=1&subtype=0
# Sub stream (low resolution, for motion detection)
rtsp://admin:<password>@<ip>:554/cam/realmonitor?channel=1&subtype=1
- Default username:
admin - Default password: set during initial setup via Amcrest web UI
- Default RTSP port: 554
- ONVIF port: 80
- Web UI:
http://<ip>(port 80, requires IE/Edge or Amcrest app for full features)
Vigilar Configuration Example (all 4 cameras)
[[cameras]]
id = "front_door"
display_name = "Front Door"
rtsp_url = "rtsp://admin:SecurePass1@192.168.1.101:554/Preview_01_main"
enabled = true
record_on_motion = true
motion_sensitivity = 0.7
motion_min_area_px = 500
pre_motion_buffer_s = 5
post_motion_buffer_s = 30
idle_fps = 2
motion_fps = 25
retention_days = 30
resolution_capture = [1920, 1080]
resolution_motion = [640, 360]
[[cameras]]
id = "side_gate"
display_name = "Side Gate"
rtsp_url = "rtsp://admin:SecurePass1@192.168.1.102:554/Preview_01_main"
enabled = true
record_on_motion = true
motion_sensitivity = 0.7
retention_days = 30
resolution_capture = [1920, 1080]
resolution_motion = [640, 360]
[[cameras]]
id = "backyard"
display_name = "Backyard"
rtsp_url = "rtsp://admin:SecurePass2@192.168.1.103:554/cam/realmonitor?channel=1&subtype=0"
enabled = true
record_on_motion = true
motion_sensitivity = 0.6
retention_days = 30
resolution_capture = [1920, 1080]
resolution_motion = [640, 360]
[[cameras]]
id = "garage"
display_name = "Garage"
rtsp_url = "rtsp://admin:SecurePass1@192.168.1.104:554/Preview_01_main"
enabled = true
record_on_motion = true
motion_sensitivity = 0.8
retention_days = 30
resolution_capture = [1920, 1080]
resolution_motion = [640, 360]
7. Bandwidth Planning
With your 22 Mbps upload, here is how the 4-camera system fits:
Local Network (LAN)
Each camera at 1080p 25fps H.265 generates approximately 4-6 Mbps. Four cameras = ~20-24 Mbps total ingest. A Gigabit PoE switch handles this trivially.
Remote Viewing (WAN)
Vigilar's remote config in vigilar.toml is already tuned for your upload:
[remote]
upload_bandwidth_mbps = 22.0
remote_hls_resolution = [426, 240]
remote_hls_fps = 10
remote_hls_bitrate_kbps = 500
max_remote_viewers = 4
At 500 kbps per remote HLS stream, 4 simultaneous viewers = 2 Mbps. Even if all 4 cameras stream remotely at once (4 x 500 kbps = 2 Mbps per viewer, 4 viewers = 8 Mbps), you stay well within the 22 Mbps upload limit.
Storage Estimates
At 1080p H.265 with motion-only recording (typical 2-4 hours of actual motion per day per camera):
| Retention | Storage per camera | Total (4 cameras) |
|---|---|---|
| 7 days | ~15-25 GB | ~60-100 GB |
| 30 days | ~60-100 GB | ~240-400 GB |
| 90 days | ~180-300 GB | ~720 GB - 1.2 TB |
The max_disk_usage_gb = 200 default in vigilar.toml will hold approximately
30 days of motion-triggered recordings from 4 cameras. Increase to 500 GB for
comfortable 30-day retention with buffer, or 1 TB for 90 days.
8. Initial Camera Setup Checklist
After mounting cameras and connecting cables:
-
Assign static IPs to each camera via your router's DHCP reservation (use the camera's MAC address). Suggested range: 192.168.1.101-104.
-
Access each camera's web UI at
http://<ip>and:- Change the default password to something strong (alphanumeric only)
- Set the time zone and enable NTP sync
- Disable cloud features / P2P (saves bandwidth, improves security)
- Enable RTSP (usually under Network > Advanced > RTSP)
- Set the main stream to 1920x1080 @ 25fps H.265 (or 4K if you prefer)
- Set the sub stream to 640x360 @ 15fps H.264
-
Test RTSP with VLC before configuring Vigilar:
vlc rtsp://admin:password@192.168.1.101:554/Preview_01_mainIf VLC shows video, the stream works and Vigilar will pick it up.
-
Test RTSP with ffprobe for detailed stream info:
ffprobe -rtsp_transport tcp rtsp://admin:password@192.168.1.101:554/Preview_01_main -
Update Vigilar config (
config/vigilar.toml) with the RTSP URLs. -
Start Vigilar and verify all cameras appear in the web UI:
vigilar start
Sources
- Reolink RLC-810A Product Page
- Reolink RLC-520A Product Page
- Amcrest IP5M-T1179EW-AI-V3 Product Page
- Reolink RTSP/ONVIF Support
- Reolink RTSP URL Format (VLC Guide)
- Amcrest RTSP URL Format
- Reolink PoE Tier List (The Hook Up)
- Amcrest IP5M-T1179EW Frigate Config
- Best Low-Cost PoE Switches (Data Wire Solutions)
- Reolink vs Amcrest Comparison
- Amcrest IP5M-T1179EW on Amazon
- Reolink RLC-810A on Amazon
- NETGEAR GS308PP PoE Switch