Adding an IP camera to Frigate lets you turn any network camera into a smart security system with AI-based motion detection. This guide walks you through installation, configuration, and optimization so your home or business stays secure. Whether you’re using Reolink, Hikvision, or Dahua cameras, Frigate makes it simple.
Quick Answers to Common Questions
Tip/Question?
Can I use wireless IP cameras with Frigate?
Yes! As long as your wireless camera supports RTSP (most do), connect it like any wired model. Just ensure strong Wi-Fi signal near the camera to avoid dropped frames.
Tip/Question?
Do I need a powerful computer for Frigate?
Not necessarily. A Raspberry Pi 4 with 4GB RAM works for one or two 1080p cameras. For more cams or 4K, consider a mini PC or use Coral accelerators to boost performance.
Tip/Question?
Why does my camera feed lag in Frigate?
Lagging usually comes from high resolution, FPS, or network congestion. Lower the detect area size, reduce FPS to 5, or move the camera closer to your router.
Tip/Question?
Can Frigate work with multiple IP cameras?
Absolutely! Just duplicate the camera section in your config.yml for each feed. Name them uniquely (e.g., back_door, garage) and assign separate RTSP URLs.
Tip/Question?
Is there a mobile app for Frigate?
Frigate doesn’t have its own app, but it integrates with Home Assistant, which has excellent iOS/Android apps. Use those to view clips and receive alerts.
How to Add IP Camera to Frigate: Complete Step-by-Step Guide
Have you ever wanted to upgrade your old security camera into a smart, AI-powered device that can recognize people, cars, and even pets? With Frigate, an open-source video analytics engine, you can do just that. Frigate runs locally (no cloud needed) and uses machine learning to detect objects in real time. But before you see those alerts pop up on your phone, you need to connect your IP camera to Frigate.
In this guide, we’ll walk you through everything you need to know—from preparing your camera to configuring Frigate in minutes. Whether you’re using a budget-friendly Reolink cam or a professional-grade Hikvision unit, this process works the same. By the end, you’ll have a fully functional smart surveillance system that’s private, efficient, and customizable.
What Is Frigate?
Frigate is a popular open-source project that turns your home server or Raspberry Pi into a real-time object detection system. Unlike traditional motion sensors that trigger on any movement, Frigate analyzes video feeds using deep learning models to identify specific objects like humans, vehicles, or animals. It then records only relevant clips and sends smart alerts.
Visual guide about How to Add Ip Camera to Frigate
Image source: tv-tokyo.co.jp
One of Frigate’s biggest advantages is its local processing. Your video never leaves your network, ensuring privacy and reducing latency. Plus, it integrates seamlessly with Home Assistant, so you can automate lights, locks, or notifications when someone arrives.
Prerequisites Before Adding IP Camera to Frigate
Before diving into setup, make sure you have these essentials:
- A supported ONVIF or RTSP-enabled IP camera (e.g., Reolink E1, Hikvision DS-2CD2042WD-I, Amcrest IP2M-841)
- A computer or single-board computer (like Raspberry Pi 4/5, Intel NUC, or Odroid)
- Docker installed on your host machine
- Stable local network with good bandwidth (at least 100 Mbps recommended)
- Basic knowledge of command line or terminal
If you’re not sure whether your camera supports RTSP, check the manufacturer’s specs or log into its web interface and look for “Stream” settings. Most modern IP cameras do, but older models might require firmware updates.
Step 1: Prepare Your IP Camera for Frigate
Find Your Camera’s RTSP URL
The first step is locating your camera’s RTSP stream address. This is usually formatted like:
rtsp://username:password@camera_ip_address:port/stream_path
For example:
rtsp://admin:mypassword@192.168.1.100:554/stream1
To find this:
- Log into your camera’s web interface (usually via browser at http://192.168.1.100)
- Go to Settings > Network > Streaming or Video
- Look for “RTSP Service” status—make sure it’s enabled
- Note the username, password, IP address, port (often 554), and stream path (common paths: /stream1, /h264_stream, or /videoMain)
Test the Stream with VLC
Open VLC Media Player and go to Media > Open Network Stream. Paste your RTSP URL and click Play. If you see live video, your camera is ready. If not, double-check credentials, IP address, or firewall rules.
Optimize Camera Settings
For best performance with Frigate:
- Set resolution to 1080p (1920×1080) or lower if your Pi struggles
- Use H.264 codec (not H.265)
- Disable unnecessary features like two-way audio or PTZ controls
- Enable night vision mode if available—Frigate handles low light well
Step 2: Install Frigate Using Docker
The easiest way to run Frigate is with Docker. Here’s how to set it up:
Install Docker & Docker Compose
On Linux (Ubuntu/Debian):
sudo apt update
sudo apt install docker.io docker-compose -y
sudo usermod -aG docker $USER
newgrp docker
On macOS or Windows, download Docker Desktop from docker.com.
Create Frigate Configuration Directory
Run this command to make a folder for Frigate data:
mkdir ~/frigate && cd ~/frigate
Create docker-compose.yml
Inside the frigate directory, create a file named docker-compose.yml and paste this template:
version: '3.9'
services:
frigate:
container_name: frigate
image: ghcr.io/blakeblackshear/frigate:stable
restart: unless-stopped
shm_size: "1gb"
privileged: true
devices:
- /dev/bus/usb:/dev/bus/usb
volumes:
- ./config:/config
- ./media:/media
- ./clips:/media/frigate
cap_add:
- SYS_ADMIN
environment:
- FRIGATE_RTSP_PASSWORD=your_camera_password
network_mode: host
Replace your_camera_password with your actual camera password. The network_mode: host helps with camera access on some systems.
Step 3: Configure Frigate YAML File
Now create the main config file:
nano ~/frigate/config.yml
Paste this basic configuration:
mqtt:
host: mqtt.local
cameras:
front_door:
ffmpeg:
inputs:
- path: rtsp://admin:yourpassword@192.168.1.100:554/stream1
roles:
- detect
- record
detect:
width: 1280
height: 720
fps: 5
record:
enabled: True
retain_days: 10
events:
pre_capture: 5
post_capture: 10
snapshots:
enabled: True
timestamp: True
bounding_box: True
crop: False
Customize these fields:
- front_door: Change to your camera name (use lowercase, no spaces)
- admin:yourpassword: Update with your camera login
- 192.168.1.100: Replace with your camera’s IP
- width/height: Match your camera’s native resolution
- fps: Start with 5–10; higher FPS uses more CPU
Advanced Detection Zones
To reduce false positives, define detection zones:
detection_zones:
front_yard:
coordinates: 0,0,1280,200,1280,720,0,720
objects:
- person
- car
mask: 0,0,1280,0,1280,720,0,720
This tells Frigate to only alert if a person or car enters the top 200 pixels of the frame—perfect for ignoring tree branches swaying in the wind.
Step 4: Launch Frigate and Test Camera Feed
Back in your terminal:
cd ~/frigate
docker-compose up -d
Wait 30 seconds, then open http://localhost:5000 in your browser. You should see a live feed labeled “front_door”.
If you see a black screen or error:
- Check if the RTSP URL works in VLC
- Verify credentials in both camera and Frigate config
- Ensure camera isn’t blocked by firewall or VLAN
Step 5: Enable Object Detection and Alerts
By default, Frigate detects people, cars, and animals. To customize:
objects:
track:
- person
- bicycle
- car
- motorcycle
- dog
- cat
To get push notifications, integrate with MQTT (used by Home Assistant). Set up an MQTT broker (like Mosquitto), then Frigate will send alerts when tracked objects enter defined zones.
Optimizing Performance for Best Results
Use Coral USB Accelerator (Optional)
For faster inference, plug in a Coral USB accelerator. Frigate automatically detects it and speeds up processing by 3–5x. No code changes needed—just add this to your docker-compose.yml:
devices:
- /dev/bus/usb:/dev/bus/usb
Tune CPU Usage
If your Pi gets hot, reduce FPS or resolution. Try:
- FPS: 5 instead of 10
- Detect area: 640×480 instead of full 1080p
- Limit concurrent cameras to 1–2 per device
Record Only Motion Events
Prevent storage bloat by recording only when motion is detected:
record:
enabled: True
retain_days: 7
events:
pre_capture: 2
post_capture: 15
Troubleshooting Common Issues
Camera Shows Black Screen
This usually means Frigate can’t reach the RTSP stream. Try:
- Restart the camera
- Update camera firmware
- Test URL in VLC again
- Add
?timeout=20&stimeout=20to RTSP path (e.g.,/stream1?timeout=20)
High CPU Usage
Frigate is resource-heavy. Solutions:
- Upgrade to Raspberry Pi 5 or x86 machine
- Install Coral TPU
- Lower FPS or use hardware decoding (if supported)
No Alerts Despite Movement
Check:
- Detection zones are placed correctly
- Object types match what you’re tracking
- MQTT is connected if using external alerts
Conclusion: Your Smart Security System Is Ready
You’ve now successfully added an IP camera to Frigate and transformed it into a smart, AI-driven security tool. From detecting intruders to logging pet antics, Frigate gives you control without relying on cloud services. With proper setup, your system will run smoothly for years with minimal maintenance.
Remember: start simple, test often, and tweak as needed. Over time, you’ll learn which settings work best for your environment. And when you’re ready, expand your setup by adding more cameras—Frigate handles multiple feeds effortlessly.
Stay secure, stay private, and enjoy peace of mind with your new Frigate-powered surveillance system.