frigate/docs/docs/configuration/cameras.md
Josh Hawkins 5a5d23b503
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
Docs refactor (#22703)
* add generation script

a script to read yaml code blocks from docs markdown files and generate corresponding "Frigate UI" tab instructions based on the json schema, i18n, section configs (hidden fields), and nav mappings

* first pass

* components

* add to gitignore

* second pass

* fix broken anchors

* fixes

* clean up tabs

* version bump

* tweaks

* remove role mapping config from ui
2026-03-30 10:36:45 -06:00

16 KiB
Raw Blame History

id title
cameras Camera Configuration

import ConfigTabs from "@site/src/components/ConfigTabs"; import TabItem from "@theme/TabItem"; import NavPath from "@site/src/components/NavPath";

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

Navigate to .

Field Description
Camera inputs List of input stream definitions (paths and roles) for this camera.

Navigate to .

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.

Navigate to and use the add camera button to configure each additional camera.

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

:::note

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

:::warning

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.

  1. Navigate to 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
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.

:::note

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.

:::

:::tip

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 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 Generally, Amcrest should work, but some older models (like the common IP2M-841) don't support autotracking
Amcrest ASH21 ONVIF service port: 80
Amcrest IP4M-S2112EW-AI FOV relative movement not supported.
Amcrest IP5M-1190EW ONVIF Port: 80. FOV relative movement not supported.
Annke CZ504 Annke support provide specific firmware (V5.7.1 build 250227) to fix issue with ONVIF "TranslationSpaceFov"
Axis Q-6155E ONVIF service port: 80; Camera does not support MoveStatus.
Ctronics PTZ
Dahua Some low-end Dahuas (lite series, picoo series (commonly), among others) have been reported to not support autotracking. These models usually don't have a four digit model number with chassis prefix and options postfix (e.g. DH-P5AE-PV vs DH-SD49825GB-HNR).
Dahua DH-SD2A500HB
Dahua DH-SD49825GB-HNR
Dahua DH-P5AE-PV
Foscam In general support PTZ, but not relative move. There are no official ONVIF certifications and tests available on the ONVIF Conformant Products Database
Foscam R5
Foscam SD4
Hanwha XNP-6550RH
Hikvision Incomplete ONVIF support (MoveStatus won't update even on latest firmware) - reported with HWP-N4215IH-DE and DS-2DE3304W-DE, but likely others
Hikvision DS-2DE3A404IWG-E/W
Reolink
Speco O8P32X
Sunba 405-D20X Incomplete ONVIF support reported on original, and 4k models. All models are suspected incompatable.
Tapo Many models supported, ONVIF Service Port: 2020
Uniview IPC672LR-AX4DUPK Firmware says FOV relative movement is supported, but camera doesn't actually move when sending ONVIF commands
Uniview IPC6612SR-X33-VG Leave calibrate_on_startup as False. A user has reported that zooming with absolute is working.
Vikylin PTZ-2804X-I2 Incomplete ONVIF support

Setting up camera groups

Camera groups let you organize cameras together with a shared name and icon, making it easier to review and filter them. A default group for all cameras is always available.

On the Live dashboard, press the + icon in the main navigation to add a new camera group. Configure the group name, select which cameras to include, choose an icon, and set the display order.

camera_groups:
  front:
    cameras:
      - driveway_cam
      - garage_cam
    icon: LuCar
    order: 0

Two-Way Audio

See the guide here