Skip to main content

Camera Configuration

Setting Up Camera Inputs

Several inputs can be configured for each camera and the role of each input can be mixed and matched based on your needs. This allows you to use a lower resolution stream for object detection, but create recordings from a higher resolution stream, or vice versa.

A camera is enabled by default but can be temporarily disabled by using enabled: False. Existing events and recordings can still be accessed. Live streams, recording and detecting are not working. Camera specific configurations will be used.

Each role can only be assigned to one input per camera. The options for roles are as follows:

RoleDescription
detectMain feed for object detection
recordSaves segments of the video feed based on configuration settings. docs
rtmpDeprecated: Broadcast as an RTMP feed for other services to consume. docs
mqtt:
host: mqtt.server.com
cameras:
back:
enabled: True
ffmpeg:
inputs:
- path: rtsp://viewer:{FRIGATE_RTSP_PASSWORD}@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
roles:
- detect
- rtmp # <- deprecated, recommend using restream instead
- path: rtsp://viewer:{FRIGATE_RTSP_PASSWORD}@10.0.10.10:554/live
roles:
- record
detect:
width: 1280 # <- optional, by default Frigate tries to automatically detect resolution
height: 720 # <- optional, by default Frigate tries to automatically detect resolution

Additional cameras are simply added to the config under the cameras entry.

mqtt: ...
cameras:
back: ...
front: ...
side: ...

For camera model specific settings check the camera specific infos.

Setting up camera PTZ controls

Add onvif config to camera

cameras:
back:
ffmpeg:
...
onvif:
host: 10.0.10.10
port: 8000
user: admin
password: password

then PTZ controls will be available in the cameras WebUI.

An ONVIF-capable camera that supports relative movement within the field of view (FOV) can also be configured to automatically track moving objects and keep them in the center of the frame. For autotracking setup, see the autotracking docs.