frigate-configurator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFrigate NVR Configuration Expert
Frigate NVR配置专家
Comprehensive Frigate NVR configuration assistance with optimized YAML generation, detector setup, and troubleshooting.
提供全面的Frigate NVR配置支持,包括优化的YAML生成、检测器设置和故障排查。
BEFORE YOU START
开始之前
This skill prevents 12+ common errors and saves ~60% tokens on Frigate configuration.
| Metric | Without Skill | With Skill |
|---|---|---|
| Setup Time | 2-4 hours | 30-45 min |
| Common Errors | 12+ | 0 |
| Token Usage | ~15,000 | ~6,000 |
本技能可避免12种以上常见错误,并能减少约60%的Frigate配置token消耗。
| 指标 | 未使用本技能 | 使用本技能 |
|---|---|---|
| 部署时间 | 2-4小时 | 30-45分钟 |
| 常见错误 | 12+ | 0 |
| Token消耗 | ~15,000 | ~6,000 |
Known Issues This Skill Prevents
本技能可避免的已知问题
- Bus errors from insufficient shared memory allocation
- Green/distorted video from incorrect resolution configuration
- Database locked errors when using network storage for SQLite
- Missing audio in recordings due to default audio stripping
- MQTT connection failures from using localhost in Docker
- Coral TPU not detected due to missing device passthrough
- High CPU usage from missing hardware acceleration
- False positives from missing motion masks on timestamps
- No alerts triggered due to misconfigured required_zones
- Recording corruption from h265 streams without transcoding
- go2rtc WebRTC failures from missing STUN configuration
- Object detection misses from wrong detect stream resolution
- 共享内存分配不足导致的总线错误
- 分辨率配置错误导致的画面绿屏/失真
- SQLite数据库存储在网络存储时出现的数据库锁定错误
- 默认音频剥离导致的录像无音频问题
- Docker容器内使用localhost导致的MQTT连接失败
- 未进行设备透传导致Coral TPU无法被识别
- 未启用硬件加速导致的高CPU占用
- 未为时间戳添加运动遮罩导致的误报
- required_zones配置错误导致的无警报触发
- h265流未转码导致的录像损坏
- 未配置STUN导致的go2rtc WebRTC失败
- 检测流分辨率错误导致的目标检测遗漏
Quick Start
快速开始
Step 1: Create Minimal Configuration
步骤1:创建最简配置
yaml
mqtt:
enabled: false
cameras:
front_door:
ffmpeg:
inputs:
- path: rtsp://user:pass@192.168.1.100:554/stream1
roles:
- detect
detect:
width: 1280
height: 720
fps: 5Why this matters: Start with the absolute minimum to verify camera connectivity before adding complexity. Frigate requires explicit detect stream role assignment.
yaml
mqtt:
enabled: false
cameras:
front_door:
ffmpeg:
inputs:
- path: rtsp://user:pass@192.168.1.100:554/stream1
roles:
- detect
detect:
width: 1280
height: 720
fps: 5为什么这很重要: 在添加复杂配置前,先从最简配置开始验证摄像头连接性。Frigate需要明确指定检测流的角色。
Step 2: Add Hardware-Accelerated Detector
步骤2:添加硬件加速检测器
yaml
detectors:
coral:
type: edgetpu
device: usbyaml
detectors:
coral:
type: edgetpu
device: usbOR for Intel with OpenVINO:
或者针对Intel平台使用OpenVINO:
detectors:
ov:
type: openvino
device: GPU
**Why this matters:** CPU detection is not recommended for production. Even a single USB Coral TPU dramatically reduces CPU usage and improves detection latency.detectors:
ov:
type: openvino
device: GPU
**为什么这很重要:** 不推荐在生产环境中使用CPU进行检测。即使是一个USB Coral TPU也能显著降低CPU占用并提升检测延迟。Step 3: Enable Recording with Retention
步骤3:启用带保留策略的录像功能
yaml
record:
enabled: true
retain:
days: 1
mode: motion
alerts:
retain:
days: 14
detections:
retain:
days: 7
cameras:
front_door:
ffmpeg:
inputs:
- path: rtsp://user:pass@192.168.1.100:554/stream1
roles:
- detect
- path: rtsp://user:pass@192.168.1.100:554/stream2
roles:
- recordWhy this matters: Use separate streams for detect (low-res) and record (high-res) to optimize performance. Retention modes prevent storage from filling up.
yaml
record:
enabled: true
retain:
days: 1
mode: motion
alerts:
retain:
days: 14
detections:
retain:
days: 7
cameras:
front_door:
ffmpeg:
inputs:
- path: rtsp://user:pass@192.168.1.100:554/stream1
roles:
- detect
- path: rtsp://user:pass@192.168.1.100:554/stream2
roles:
- record为什么这很重要: 为检测(低分辨率)和录像(高分辨率)使用独立流以优化性能。保留策略可防止存储被占满。
Critical Rules
关键规则
Always Do
务必遵守
- Use and
widththat match your camera's ACTUAL resolution (verify with VLC)height - Set fps between 5-10 (higher wastes resources, lower misses events)
detect - Use separate streams for (sub-stream) and
detect(main stream)record - Allocate adequate in Docker (64MB minimum per camera)
shm-size - Create motion masks for timestamp overlays and areas with constant motion
- Use environment variables for credentials:
{FRIGATE_RTSP_PASSWORD} - Test RTSP URLs in VLC first before adding to Frigate config
- 使用与摄像头实际分辨率匹配的和
width(通过VLC验证)height - 将帧率设置在5-10之间(过高浪费资源,过低会遗漏事件)
detect - 为(子流)和
detect(主流)使用独立的流record - 在Docker中分配足够的(每台摄像头至少64MB)
shm-size - 为时间戳覆盖层和持续运动区域创建运动遮罩
- 使用环境变量存储凭据:
{FRIGATE_RTSP_PASSWORD} - 在添加到Frigate配置前,先在VLC中测试RTSP URL
Never Do
绝对禁止
- Never use or
localhostfor MQTT inside Docker containers127.0.0.1 - Never set detect resolution higher than 1280x720 (wastes detector capacity)
- Never enable recording without specifying retention policy
- Never mount on network storage without relocating database
/media/frigate - Never mix multiple detector types for object detection (e.g., Coral + OpenVINO)
- Never use UDP RTSP transport without explicit configuration (TCP is default)
- 不要在Docker容器内为MQTT使用或
localhost127.0.0.1 - 不要将检测分辨率设置为1280x720以上(浪费检测器容量)
- 不要在未指定保留策略的情况下启用录像
- 不要在未迁移数据库的情况下将挂载到网络存储
/media/frigate - 不要混合使用多种检测器类型进行目标检测(如Coral + OpenVINO)
- 不要在未显式配置的情况下使用UDP RTSP传输(默认是TCP)
Common Mistakes
常见错误示例
Wrong:
yaml
cameras:
cam1:
ffmpeg:
inputs:
- path: rtsp://192.168.1.100/stream
roles:
- detect
- record
detect:
width: 1920
height: 1080
fps: 30Correct:
yaml
cameras:
cam1:
ffmpeg:
inputs:
- path: rtsp://192.168.1.100/substream
roles:
- detect
- path: rtsp://192.168.1.100/mainstream
roles:
- record
detect:
width: 1280
height: 720
fps: 5Why: Using 1080p@30fps for detection wastes resources. Detection works best at 720p or lower at 5fps. Always use the camera's sub-stream for detection and main stream for recording.
错误配置:
yaml
cameras:
cam1:
ffmpeg:
inputs:
- path: rtsp://192.168.1.100/stream
roles:
- detect
- record
detect:
width: 1920
height: 1080
fps: 30正确配置:
yaml
cameras:
cam1:
ffmpeg:
inputs:
- path: rtsp://192.168.1.100/substream
roles:
- detect
- path: rtsp://192.168.1.100/mainstream
roles:
- record
detect:
width: 1280
height: 720
fps: 5原因: 使用1080p@30fps进行检测会浪费资源。检测在720p或更低分辨率、5帧率下效果最佳。务必使用摄像头的子流进行检测,主流进行录像。
Known Issues Prevention
已知问题预防方案
| Issue | Root Cause | Solution |
|---|---|---|
| Bus Error | Insufficient shared memory | Set |
| Database Locked | SQLite on network storage | Use |
| Green/Distorted Video | Wrong resolution in config | Match camera's actual output resolution |
| No Audio in Recordings | Default audio removal | Use |
| MQTT Connection Failed | localhost in Docker | Use host IP address instead |
| Coral Not Detected | Missing device passthrough | Add |
| High CPU Usage | Missing hwaccel | Add appropriate preset (vaapi/qsv/nvidia) |
| Missing Alerts | No required_zones | Configure zones with review.alerts.required_zones |
| UDP Stream Failures | TCP is default in Frigate | Add |
| 问题 | 根本原因 | 解决方案 |
|---|---|---|
| 总线错误 | 共享内存不足 | 在docker-compose中设置 |
| 数据库锁定 | SQLite存储在网络存储 | 使用 |
| 画面绿屏/失真 | 配置的分辨率错误 | 匹配摄像头的实际输出分辨率 |
| 录像无音频 | 默认移除音频 | 使用 |
| MQTT连接失败 | Docker内使用localhost | 使用主机IP地址替代 |
| Coral TPU未被识别 | 未进行设备透传 | 在Docker设备映射中添加 |
| CPU占用过高 | 未启用硬件加速 | 添加对应的预设(vaapi/qsv/nvidia) |
| 无警报触发 | 未配置required_zones | 通过review.alerts.required_zones配置区域 |
| UDP流失败 | Frigate默认使用TCP | 在输入参数中添加 |
Configuration Reference
配置参考
config.yml Structure
config.yml结构
yaml
undefinedyaml
undefinedMQTT Configuration (optional but recommended)
MQTT配置(可选但推荐)
mqtt:
enabled: true
host: 192.168.1.50
port: 1883
user: "{FRIGATE_MQTT_USER}"
password: "{FRIGATE_MQTT_PASSWORD}"
mqtt:
enabled: true
host: 192.168.1.50
port: 1883
user: "{FRIGATE_MQTT_USER}"
password: "{FRIGATE_MQTT_PASSWORD}"
Detector Configuration
检测器配置
detectors:
coral:
type: edgetpu
device: usb # or pci for M.2/PCIe
detectors:
coral:
type: edgetpu
device: usb # 或pci用于M.2/PCIe接口
Global Object Settings
全局目标设置
objects:
track:
- person
- car
- dog
- cat
filters:
person:
min_area: 5000
max_area: 100000
threshold: 0.7
objects:
track:
- person
- car
- dog
- cat
filters:
person:
min_area: 5000
max_area: 100000
threshold: 0.7
Recording Settings
录像设置
record:
enabled: true
retain:
days: 1
mode: motion
alerts:
retain:
days: 14
detections:
retain:
days: 7
record:
enabled: true
retain:
days: 1
mode: motion
alerts:
retain:
days: 14
detections:
retain:
days: 7
Snapshot Settings
快照设置
snapshots:
enabled: true
retain:
default: 7
snapshots:
enabled: true
retain:
default: 7
Camera Configuration
摄像头配置
cameras:
front_door:
enabled: true
ffmpeg:
inputs:
- path: "rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.1.100:554/stream1"
input_args: preset-rtsp-restream
roles:
- detect
- path: "rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.1.100:554/stream0"
input_args: preset-rtsp-restream
roles:
- record
output_args:
record: preset-record-generic-audio-aac
detect:
width: 1280
height: 720
fps: 5
motion:
mask:
- 0,0,200,0,200,100,0,100 # Timestamp area
zones:
front_yard:
coordinates: 100,500,400,500,400,720,100,720
objects:
- person
- car
review:
alerts:
required_zones:
- front_yard
**Key settings:**
- `detect.fps`: 5 is optimal for most cameras (reduces detector load)
- `detect.width/height`: Must match actual camera sub-stream resolution
- `record.retain.mode`: Use `motion` or `active_objects` to save storage
- `motion.mask`: Define polygons as comma-separated coordinates
- `zones.coordinates`: Bottom-center of bounding box determines zone presencecameras:
front_door:
enabled: true
ffmpeg:
inputs:
- path: "rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.1.100:554/stream1"
input_args: preset-rtsp-restream
roles:
- detect
- path: "rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.1.100:554/stream0"
input_args: preset-rtsp-restream
roles:
- record
output_args:
record: preset-record-generic-audio-aac
detect:
width: 1280
height: 720
fps: 5
motion:
mask:
- 0,0,200,0,200,100,0,100 # 时间戳区域
zones:
front_yard:
coordinates: 100,500,400,500,400,720,100,720
objects:
- person
- car
review:
alerts:
required_zones:
- front_yard
**关键设置:**
- `detect.fps`:对于大多数摄像头来说,5是最优值(可降低检测器负载)
- `detect.width/height`:必须与摄像头子流的实际分辨率匹配
- `record.retain.mode`:使用`motion`或`active_objects`以节省存储空间
- `motion.mask`:用逗号分隔的坐标定义多边形
- `zones.coordinates`:目标框的底部中心位置决定其所属区域Hardware Acceleration Presets
硬件加速预设
Intel (6th Gen+)
Intel(第6代及以上)
yaml
undefinedyaml
undefinedFor Intel gen8+ (prefer QSV)
适用于Intel第8代及以上平台(优先使用QSV)
ffmpeg:
hwaccel_args: preset-intel-qsv-h264 # or preset-intel-qsv-h265
ffmpeg:
hwaccel_args: preset-intel-qsv-h264 # 或preset-intel-qsv-h265
For Intel gen1-gen7 (use VAAPI)
适用于Intel第1-7代平台(使用VAAPI)
ffmpeg:
hwaccel_args: preset-vaapi
undefinedffmpeg:
hwaccel_args: preset-vaapi
undefinedNVIDIA GPU
NVIDIA GPU
yaml
ffmpeg:
hwaccel_args: preset-nvidiaRequires NVIDIA Container Toolkit:
yaml
undefinedyaml
ffmpeg:
hwaccel_args: preset-nvidia需要NVIDIA容器工具包:
yaml
undefineddocker-compose.yml
docker-compose.yml
services:
frigate:
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=all
undefinedservices:
frigate:
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=all
undefinedAMD GPU
AMD GPU
yaml
ffmpeg:
hwaccel_args: preset-vaapiyaml
ffmpeg:
hwaccel_args: preset-vaapidocker-compose.yml
docker-compose.yml
environment:
- LIBVA_DRIVER_NAME=radeonsi
undefinedenvironment:
- LIBVA_DRIVER_NAME=radeonsi
undefinedRaspberry Pi
Raspberry Pi
yaml
undefinedyaml
undefinedRaspberry Pi 4/5
Raspberry Pi 4/5
ffmpeg:
hwaccel_args: preset-rpi-64-h264 # or preset-rpi-64-h265
Requires: `gpu_mem=128` in `/boot/config.txt` and device mapping in Docker.ffmpeg:
hwaccel_args: preset-rpi-64-h264 # 或preset-rpi-64-h265
要求:在`/boot/config.txt`中设置`gpu_mem=128`,并在Docker中进行设备映射。Object Detector Types
目标检测器类型
USB Coral TPU
USB Coral TPU
yaml
detectors:
coral:
type: edgetpu
device: usb # Single USB Coral
# device: usb:0 # First of multiple USB CoralsDocker device mapping:
yaml
devices:
- /dev/bus/usb:/dev/bus/usbyaml
detectors:
coral:
type: edgetpu
device: usb # 单个USB Coral
# device: usb:0 # 多个USB Coral中的第一个Docker设备映射:
yaml
devices:
- /dev/bus/usb:/dev/bus/usbM.2/PCIe Coral TPU
M.2/PCIe Coral TPU
yaml
detectors:
coral:
type: edgetpu
device: pci
# device: pci:0 # First of multiple PCIe Coralsyaml
detectors:
coral:
type: edgetpu
device: pci
# device: pci:0 # 多个PCIe Coral中的第一个OpenVINO (Intel)
OpenVINO(Intel)
yaml
detectors:
ov:
type: openvino
device: GPU # or CPU
model:
path: /openvino-model/ssdlite_mobilenet_v2.xml
width: 300
height: 300yaml
detectors:
ov:
type: openvino
device: GPU # 或CPU
model:
path: /openvino-model/ssdlite_mobilenet_v2.xml
width: 300
height: 300ONNX (Multi-GPU)
ONNX(多GPU)
yaml
detectors:
onnx:
type: onnx
# Automatically uses: ROCm (AMD), OpenVINO (Intel), TensorRT (NVIDIA)yaml
detectors:
onnx:
type: onnx
# 自动适配:ROCm(AMD)、OpenVINO(Intel)、TensorRT(NVIDIA)Advanced Features
高级功能
Zone-Based Speed Estimation
基于区域的速度估算
yaml
zones:
driveway:
coordinates: 100,500,400,500,400,720,100,720
distances:
- "100,500|400,500|20ft" # 20 feet between points
speed:
threshold: 15 # Minimum mph to registeryaml
zones:
driveway:
coordinates: 100,500,400,500,400,720,100,720
distances:
- "100,500|400,500|20ft" # 两点间距离为20英尺
speed:
threshold: 15 # 触发速度的最低阈值(英里/小时)Audio Detection
音频检测
yaml
audio:
enabled: true
listen:
- bark
- fire_alarm
- scream
- speech
cameras:
front_door:
ffmpeg:
inputs:
- path: rtsp://camera/stream
roles:
- audioyaml
audio:
enabled: true
listen:
- bark
- fire_alarm
- scream
- speech
cameras:
front_door:
ffmpeg:
inputs:
- path: rtsp://camera/stream
roles:
- audioGenAI Event Descriptions
生成式AI事件描述
yaml
genai:
enabled: true
provider: ollama
base_url: http://192.168.1.100:11434
model: llavayaml
genai:
enabled: true
provider: ollama
base_url: http://192.168.1.100:11434
model: llavaFace Recognition (Frigate+)
人脸识别(Frigate+)
yaml
face_recognition:
enabled: true
threshold: 0.6
cameras:
front_door:
detect:
width: 1280 # Higher res improves face detectionyaml
face_recognition:
enabled: true
threshold: 0.6
cameras:
front_door:
detect:
width: 1280 # 更高分辨率可提升人脸识别效果License Plate Recognition
车牌识别
yaml
lpr:
enabled: true
cameras:
driveway:
lpr:
enabled: trueyaml
lpr:
enabled: true
cameras:
driveway:
lpr:
enabled: truego2rtc Integration
go2rtc集成
yaml
go2rtc:
streams:
front_door:
- rtsp://user:pass@192.168.1.100:554/stream1
- "ffmpeg:front_door#video=copy#audio=opus"
webrtc:
candidates:
- 192.168.1.50:8555
- stun:8555yaml
go2rtc:
streams:
front_door:
- rtsp://user:pass@192.168.1.100:554/stream1
- "ffmpeg:front_door#video=copy#audio=opus"
webrtc:
candidates:
- 192.168.1.50:8555
- stun:8555Docker Compose Template
Docker Compose模板
yaml
services:
frigate:
container_name: frigate
image: ghcr.io/blakeblackshear/frigate:stable
restart: unless-stopped
shm_size: "256mb"
devices:
- /dev/bus/usb:/dev/bus/usb # USB Coral
- /dev/dri/renderD128:/dev/dri/renderD128 # Intel GPU
volumes:
- ./config:/config
- ./storage:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "8971:8971" # Web UI
- "8554:8554" # RTSP feeds
- "8555:8555/tcp" # WebRTC
- "8555:8555/udp" # WebRTC
environment:
FRIGATE_RTSP_USER: admin
FRIGATE_RTSP_PASSWORD: ${RTSP_PASSWORD}
FRIGATE_MQTT_USER: frigate
FRIGATE_MQTT_PASSWORD: ${MQTT_PASSWORD}yaml
services:
frigate:
container_name: frigate
image: ghcr.io/blakeblackshear/frigate:stable
restart: unless-stopped
shm_size: "256mb"
devices:
- /dev/bus/usb:/dev/bus/usb # USB Coral
- /dev/dri/renderD128:/dev/dri/renderD128 # Intel GPU
volumes:
- ./config:/config
- ./storage:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "8971:8971" # Web UI
- "8554:8554" # RTSP流
- "8555:8555/tcp" # WebRTC
- "8555:8555/udp" # WebRTC
environment:
FRIGATE_RTSP_USER: admin
FRIGATE_RTSP_PASSWORD: ${RTSP_PASSWORD}
FRIGATE_MQTT_USER: frigate
FRIGATE_MQTT_PASSWORD: ${MQTT_PASSWORD}Bundled Resources
附带资源
Templates
模板
Located in :
templates/- - Production-ready compose file
docker-compose.yml - - Minimal starter config
config-minimal.yml - - Full-featured config template
config-full.yml
位于目录下:
templates/- - 生产环境可用的Compose文件
docker-compose.yml - - 最简入门配置
config-minimal.yml - - 全功能配置模板
config-full.yml
References
参考文档
Located in :
references/- - Detector performance comparison
detector-comparison.md - - All available FFmpeg presets
ffmpeg-presets.md - - MQTT topic reference
mqtt-topics.md
位于目录下:
references/- - 检测器性能对比
detector-comparison.md - - 所有可用的FFmpeg预设
ffmpeg-presets.md - - MQTT主题参考
mqtt-topics.md
Scripts
脚本
Located in :
scripts/- - Validate config syntax before applying
validate-config.sh
位于目录下:
scripts/- - 在应用前验证配置语法
validate-config.sh
Dependencies
依赖项
Required
必需依赖
| Package | Version | Purpose |
|---|---|---|
| Docker | 20.10+ | Container runtime |
| docker-compose | 2.0+ | Service orchestration |
| 软件包 | 版本 | 用途 |
|---|---|---|
| Docker | 20.10+ | 容器运行时 |
| docker-compose | 2.0+ | 服务编排 |
Optional
可选依赖
| Package | Version | Purpose |
|---|---|---|
| NVIDIA Container Toolkit | Latest | NVIDIA GPU support |
| Coral Edge TPU runtime | Latest | Coral TPU support |
| 软件包 | 版本 | 用途 |
|---|---|---|
| NVIDIA容器工具包 | 最新版 | NVIDIA GPU支持 |
| Coral Edge TPU运行时 | 最新版 | Coral TPU支持 |
Official Documentation
官方文档
Troubleshooting
故障排查
Camera Shows Offline
摄像头显示离线
Symptoms: Camera fps shows 0, web UI shows offline status
Solution:
bash
undefined症状: 摄像头帧率显示为0,Web UI显示离线状态
解决方案:
bash
undefinedTest RTSP URL directly
直接测试RTSP URL
ffprobe -rtsp_transport tcp "rtsp://user:pass@ip:554/stream"
ffprobe -rtsp_transport tcp "rtsp://user:pass@ip:554/stream"
Check Docker logs
查看Docker日志
docker logs frigate 2>&1 | grep -i "camera_name"
undefineddocker logs frigate 2>&1 | grep -i "camera_name"
undefinedHigh CPU Usage
CPU占用过高
Symptoms: CPU consistently above 80%, system becomes unresponsive
Solution:
- Enable hardware acceleration (see presets above)
- Reduce detect fps from 10 to 5
- Lower detect resolution to 720p or below
- Add Coral TPU for object detection
症状: CPU持续高于80%,系统无响应
解决方案:
- 启用硬件加速(参考上方预设)
- 将检测帧率从10降低到5
- 将检测分辨率降至720p或更低
- 添加Coral TPU进行目标检测
No Objects Detected
无目标被检测到
Symptoms: Motion detected but no object events created
Solution:
- Verify detector is configured and running: check
/api/stats - Check object filters aren't too restrictive (min_area, threshold)
- Ensure detect stream resolution is correct
- Verify objects list includes desired types
症状: 检测到运动但未生成目标事件
解决方案:
- 验证检测器已配置并运行:查看
/api/stats - 检查目标过滤器是否过于严格(min_area、threshold)
- 确保检测流分辨率正确
- 验证目标列表包含所需类型
Recording Not Working
录像功能不工作
Symptoms: Events show but no recordings available
Solution:
yaml
undefined症状: 显示事件但无可用录像
解决方案:
yaml
undefinedEnsure record role is assigned
确保已分配record角色
cameras:
cam1:
ffmpeg:
inputs:
- path: rtsp://camera/stream
roles:
- record # Must be explicitly set
record:
enabled: true # Must be true
undefinedcameras:
cam1:
ffmpeg:
inputs:
- path: rtsp://camera/stream
roles:
- record # 必须显式设置
record:
enabled: true # 必须设置为true
undefinedSetup Checklist
部署检查清单
Before deploying Frigate, verify:
- Docker and docker-compose installed
- RTSP URLs tested in VLC (note actual resolution)
- Camera credentials ready for environment variables
- Storage volume has adequate space (100GB+ recommended)
- Shared memory size configured (64MB per camera minimum)
- Hardware acceleration device mapped (if applicable)
- Coral TPU device mapped (if using)
- MQTT broker accessible (if integrating with Home Assistant)
- Port 8971 available for web UI
- Firewall allows required ports (8554, 8555 for streaming)
在部署Frigate前,请确认:
- 已安装Docker和docker-compose
- 已在VLC中测试RTSP URL(记录实际分辨率)
- 已准备好摄像头凭据用于环境变量
- 存储卷有足够空间(推荐100GB以上)
- 已配置共享内存大小(每台摄像头至少64MB)
- 已映射硬件加速设备(如适用)
- 已映射Coral TPU设备(如使用)
- MQTT代理可访问(如与Home Assistant集成)
- 端口8971可用于Web UI
- 防火墙允许所需端口(8554、8555用于流传输)