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 disabled by using enabled: False. Cameras that are disabled through the configuration file will not appear in the Frigate UI and will not consume system resources.
Each role can only be assigned to one input per camera. The options for roles are as follows:
| Role | Description |
|---|---|
detect | Main feed for object detection. docs |
record | Saves segments of the video feed based on configuration settings. docs |
audio | Feed for audio based detection. docs |
- Frigate UI
- YAML
Navigate to SettingsâCamera configurationâStreams (FFmpeg).
| Field | Description |
|---|---|
| Camera inputs | List of input stream definitions (paths and roles) for this camera. |
For each input you can choose its source: select Restream (go2rtc) to pick an existing go2rtc stream from a dropdown (Frigate uses the rtsp://127.0.0.1:8554/<stream> path and preset-rtsp-restream input args for that input automatically), or Manual input path to type the stream URL directly.
Navigate to SettingsâCamera configurationâObject detection.
| Field | Description |
|---|---|
| Detect width | Width (pixels) of frames used for the detect stream; leave empty to use the native stream resolution. |
| Detect height | Height (pixels) of frames used for the detect stream; leave empty to use the native stream resolution. |
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
- 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 under the camera configuration section.
- Frigate UI
- YAML
Navigate to SettingsâGlobal configurationâCamera management and use the add camera button to configure each additional camera.
mqtt: ...
cameras:
back: ...
front: ...
side: ...
If you only define one stream in your inputs and do not assign a detect role to it, Frigate will automatically assign it the detect role. Frigate will always decode a stream to support motion detection, Birdseye, the API image endpoints, and other features, even if you have disabled object detection with enabled: False in your config's detect section.
If you plan to use Frigate for recording only, it is still recommended to define a detect role for a low resolution stream to minimize resource usage from the required stream decoding.
For camera model specific settings check the camera specific infos.
Setting up camera PTZ controlsâ
Not every PTZ supports ONVIF, which is the standard protocol Frigate uses to communicate with your camera. Check the official list of ONVIF conformant products, your camera documentation, or camera manufacturer's website to ensure your PTZ supports ONVIF. Also, ensure your camera is running the latest firmware.
Configure the ONVIF connection for your camera to enable PTZ controls.
- Frigate UI
- YAML
- Navigate to SettingsâCamera configurationâONVIF and select your camera.
- Set ONVIF host to your camera's IP address, e.g.:
10.0.10.10 - Set ONVIF port to your camera's ONVIF port, e.g.:
8000 - Set ONVIF username to your camera's ONVIF username, e.g.:
admin - Set ONVIF password to your camera's ONVIF password, e.g.:
password
- Set ONVIF host to your camera's IP address, e.g.:
cameras:
back:
ffmpeg: ...
onvif:
host: 10.0.10.10
port: 8000
user: admin
password: password
If the ONVIF connection is successful, PTZ controls will be available in the camera's WebUI.
Some cameras use a separate ONVIF/service account that is distinct from the device administrator credentials. If ONVIF authentication fails with the admin account, try creating or using an ONVIF/service user in the camera's firmware. Refer to your camera manufacturer's documentation for more.
If your ONVIF camera does not require authentication credentials, you may still need to specify an empty string for user and password, eg: user: "" and password: "".
If a camera connects but fails to authenticate, two optional fields can help:
tls_insecure: Skips TLS certificate verification and sends the ONVIF password as plaintext (PasswordText) instead of a hashed digest (PasswordDigest). Some cameras reject the digest token and only accept plaintext. This weakens connection security, so only enable it on a trusted local network.ignore_time_mismatch: ONVIF authentication tokens include a timestamp, and a camera will reject the token if its clock differs too much from Frigate's. Enabling this makes Frigate compensate for the time offset so authentication can still succeed. Running NTP on both the camera and the Frigate host is the recommended fix; only use this in a "safe" environment, as it slightly weakens token validation.
If your camera has multiple ONVIF profiles, you can specify which one to use for PTZ control with the profile option, matched by token or name. When not set, Frigate selects the first profile with a valid PTZ configuration. Check the Frigate debug logs (frigate.ptz.onvif: debug) to see available profile names and tokens for your camera.
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.
ONVIF PTZ camera recommendationsâ
This list of working and non-working PTZ cameras is based on user feedback. If you'd like to report specific quirks or issues with a manufacturer or camera that would be helpful for other users, open a pull request to add to this list.
The FeatureList on the ONVIF Conformant Products Database can provide a starting point to determine a camera's compatibility with Frigate's autotracking. Look to see if a camera lists PTZRelative, PTZRelativePanTilt and/or PTZRelativeZoom. These features are required for autotracking, but some cameras still fail to respond even if they claim support. If they are missing, autotracking will not work (though basic PTZ in the WebUI might). Avoid cameras with no database entry unless they are confirmed as working below.
| Brand or specific camera | PTZ Controls | Autotracking | Notes |
|---|---|---|---|
| Amcrest |