To access Server Settings, click on the Server icon at the top left of the Agent UI and "Settings" under Configuration. Note: If the server icon has a colored background this means you are accessing someone else's Agent server via permissions and some features may be unavailable.

Saving and Loading

To save or load your device configuration click on Server Icon and Backup/ Restore under Devices. There you can download your devices configuration, system configuration and layouts or upload previous files.


  • Name: Give your Agent instance a name. If you have multiple servers connected to your account it's a good idea to give them unique names.
  • Show Logo: Show your business logo on the loading screen. Requires a business license. Upload a logo via the File Upload option in the server menu. example.
  • Max CPU: This is the maximum CPU of the server. If your computer hits this limit you will get warnings in the browser and Agent will start reducing framerates of cameras to get under the limit. This is only available on Windows.
  • Apply Schedule at Start: Check this to have Agent apply the schedule at startup (works out what state all your devices should be in according to the schedule) - otherwise Agent will start with your devices in their last known state.
  • Notify on Disconnect: Check this and we will notify you if your server disconnects from web services without shutting down.
  • Storage Email Address: Enter this and we will send you notifications when your storage limit is hit (requires SMTP settings or a subscription)
  • Notify Trigger: Percentage used space of the storage location to trigger an email notification (note this is the allocated max space in the storage directory not the free space on the drive).
  • Email Interval: How often to send the storage warning emails (in hours).
  • Storage Interval: This controls how often Agent runs Storage Management
  • VLC Directory: The directory that VLC (v3+) is installed into. This is automatically populated if we can detect it on your system.
  • Add to Database: This controls if Agent will prompt you to add your camera to the wizard database when you add an unlisted camera.
  • Record all audio channels: If enabled this will write all audio channels to the output files. This has been known to cause issues on some systems where the bitrate is misreported by the operating system causing instability.
  • Max Log Size: This controls the maximum number of entries in the log queue.
  • FFMPEG Log Level: Sets the debug output level for ffmpeg. Warning: Trace will completely fill your logs so be sure to only use that option temporarily for debugging.
  • Experimental Features: Enable experimental features in Agent. We sometimes deploy new functionality for testing and it's hidden behind this switch. Generally only enable this if you are involved in testing.
  • Culture Codes : The culture code to use when formatting dates on timestamps. Examples: en-US for American English or fr-CA for Canadian French. For a full list see this list.
  • Time Formats : The formatter string to use to format dates within the Agent UI. Default is 12 hour, which is "MMM DD YYYY h:mm:ss A". 24 hour example: "YYYY-MM-DD H:mm:ss".
    • YYYY: 4-digit year '2019'
    • YY: 2-digit year '19'
    • MMMM: Full-length month 'June'
    • MMM: 3 character month 'Jun'
    • MM: Month of the year, zero-padded '06'
    • M: Month of the year '6'
    • DD: Day of the month, zero-padded '01'
    • D: Day of the month '1'
    • Do: Day of the month with numeric ordinal contraction '1st'
    • HH: hour of day from 0-24, zero-padded, '14'
    • H: hour of day from 0-24, '14'
    • hh: hour of day on 12-hour clock, zero-padded, '02'
    • h: hour of the day on 12 hour clock, '2'
    • mm: minute, zero-padded, '04'
    • m: minute, '4'
    • ss: second, zero-padded
    • s: second
    • A: 'AM' or 'PM'
    • a: 'am' or 'pm'

AI Settings

DeepStack AI/ senseAI

See AI Settings

Plate Recognizer

Get ALPR powered by Plate Recognizer. Free Trial available.
See ALPR User guide


Click a button to authorise Agent to upload to your cloud host. If you have problems you may need to disable 2 factor authentication on your cloud host account. When you have granted Agent access you can upload to the cloud by editing your camera cloud settings


This lets you update Agents Camera and PTZ model database

  • PTZ Models: Click to download the latest PTZ database for controlling PTZ cameras.
  • Camera Definitions: Click to download the latest camera definitions database. This updates the Add Camera Wizard with new models.


Add or edit FTP servers here. When you have added a Server you can select it when editing a camera. See camera FTP

  • Name: Give your server a name - this is only used locally with Agent
  • Username: Your FTP server username
  • Password: Your FTP server password
  • Server: Your FTP server URL. Should start with ftp:// or sftp:// eg
  • Port: The port your FTP server is running on. Usually ftp:// uses 21 and sftp:// uses 22
  • Use SFTP: Check this if your server uses SFTP.
  • Use Passive: Check this to use Passive FTP mode.
  • Rename: This makes Agent upload a temporary file and then rename it when it's uploaded. This is good for reducing flicker when using FTP to stream video via javascript.
  • Max Queue: If the FTP server is busy uploading files this is the size limit of the queue. - once agent reaches this limit new files will be rejected from upload. The queue size is on a per-camera basis.


Using this tab you can add, edit and delete layouts


Use this tab to license Agent DVR for business use.

Local Server


MQTT is a standard IoT messaging protocol and lets you integrate devices and services across your network. You can configure it here and enable MQTT Events on your devices or use Actions to send custom messages to this MQTT server.

Agent can also respond to commands from MQTT. See MQTT.

  • Enabled: Switch MQTT on or off.
  • Server: Enter the IP address of the MQTT Server
  • Port: Enter the port the MQTT Server is using (default is 1883)
  • Check Interval: Agent sends keep-alive messages to make sure the connection is available on this interval (seconds)
  • Protocol: Protocol is either None or SSL.
  • QoS: Quality of Service. See your MQTT server documentation.
  • Client ID: Your client ID. Agent can usually randomly generate this.
  • Username: Your MQTT username
  • Password: Your MQTT password
  • Send Stats: Agent can send stats to MQTT (like CPU usage, memory usage, drive usage) - Check this to enable (Windows only).


NDI provides easy access to IP video sources with built in discovery. Some cameras and video surveillance systems come ready with NDI support enabling you to easily add them to Agent DVR, See for more information. Agent DVR supports video+audio NDI sources and PTZ via NDI

  • Groups: Add NDI groups here (if applicable). New line separated.
  • Extra IPs: Add NDI IP addresses here to scan for devices. New line separated.
  • Show local devices: Choose whether to list NDI devices on the local computer (running Agent DVR).


Agent looks for key words in ONVIF event XML packets to detect motion events. These packets can vary between cameras so we've provided a field here where you can add your own camera's event XML to trigger ONVIF events. Only use this if you are having issues with ONVIF events.

  • Detect XML: Add the ONVIF XML event packet here.
  • Event Logging: Log all incoming XML from the camera (useful for debugging). Logs are available at /logs.html on the local server.


These settings control how Agent renders and delivers video to the web browser and over the API.

  • Max Stream Size: The maximum resolution to stream to the web client with. High resolutions can use a lot of CPU.
  • Max MJPEG Size: The maximum allowed MJPEG stream size (that Agent will generate via api).
  • Default MJPEG Size: The default MJPEG stream size (that Agent will generate via api) - when no size parameter is passed in.
  • Codec: The codec to record to. Choose from H264 or VP8.

    H264 has widespread hardware encode support - use this for maximum performance. A drawback of H264 is that the file must be fully written before it can be played back. Some operating systems come with ffmpeg versions that don't have H264 encoding enabled. If recordings fail try switching the encoder to use VP8 instead.

    VP8 doesn't generally have hardware encode support but the .webm files it generates can be played back whilst they are being recorded.

    Tip Use Raw mode to record with IP cameras (Set the encoder to Raw on the recording tab when editing the camera) for maximum performance and playback whilst recording.

  • Video FPS: The maximum FPS of the Video sent to the web browser.
  • Center Images: Check this to toggle whether Agent fills the available space with the camera image or maintains the original aspect ratio of the incoming camera video.
  • Use GPU: Check this to use the GPU when decoding saved video files.
  • Default GPU Decoder *: Select the default hardware decoder to use. This is a preferred device - if it fails, Agent will try the other options.
  • Default GPU Encoder *: Select the default hardware encoder to use. This is a preferred device - if it fails, Agent will try the other options.
  • Use OpenCV to render text: Using opencv to render text (timestamp, overlays) can improve performance slightly but removes font support (Windows only).
  • Default Language: Select the default language for your server. This controls the language used to render some text elements on images.
  • Interval Delay: The time between switching Views when using an interval mode layout in a Live View.

* GPU encoding and decoding depends on hardware compatibility and drivers in your computer and on which libraries FFMPEG has been built with support for. Start a recording and check the logs in Agent (at /logs.html in the local client) to see if Agent is using your hardware devices. Agent should fall back to CPU based encoding if GPU encoding fails.


These settings control how Agent handles arming and disarming the system via the lock icon in the UI (or integrations/ API).

  • Arm Delay: This is the delay in seconds between clicking the Arm icon (top left in Agent - the lock icon) and Agent actually enabling alerts.
  • Disarm Code: This is the code to disarm agent which is used by Alexa. The default is 1234.
  • Arm Profile: Select a profile to auto apply when the system is armed (lock icon in top left corner of the UI).
  • Disarm Profile: Select a profile to auto apply when the system is disarmed (unlock icon in top left corner of the UI).
  • Access Timeout: Moved to Local Server settings


You can either use an subscription to send email alerts or use your own SMTP server. Note that to send emails you will need to add an action to send an email.. Troubleshooting

  • Use SMTP: Check this to enable messaging via your own SMTP server.
  • Username: Your SMTP username
  • Password: Your SMTP password
  • From Address: The from address eg
  • Server: The IP or web address of your SMTP server
  • Port: The port SMTP is running on. Default is 25
  • Use SSL: Check this to enable SMTP over SSL
  • Send full size images: Check this to send full resolution images instead of resized smaller images.


See Storage Settings

Streaming (RTMP)

Agent can stream video to RTMP endpoints like Twitch and YouTube which you can then use to broadcast or embed in your website. See Embedding

You can trigger RTMP streaming from the Server menu or you can use a device scheduler to start and stop RTMP streaming automatically.

  • URL: The path to publish video to. Usually looks like rtmp://
  • Stream Key: See the embedding guide linked above to get your stream key.
  • Size: Choose a resolution to publish with. The higher the resolution the more bandwidth and CPU will be used.
  • Quality: Basic quality setting - default is 8. Lower value will mean less quality but lower bandwidth use.
  • Frame Rate: Set a target framerate for the published video. Default is 15.
  • Use GPU: Enable this to use your GPU to encode the stream.
  • Include Audio: Check this to push audio to the stream as well as video. If this is turned off Agent will generate a dummy silent audio track.
  • Max Duration: Agent will automatically stop streaming after this period of time. Enter 0 to disable.

Users (Local Users, available on v4.4.7.0+)

See Remote Permissions for remote user permissions.
The free version of Agent DVR allows one (admin) user to be added.

With a Business License you can add multiple users with varying permissions to the local Agent DVR server.

See Server Settings - Users tab to add users.

  • Username: The username to login with (not your username)
  • Password: Nominate a password for the local account
  • Groups: Select or enter groups. This is much like the permissions groups for remote users but you don't need to enter the server name here. To let them access all devices just leave this field blank. To restrict access to devices:
    1. Add a group name to the Group field on the General tab when you edit a device. For example "outside"
    2. On the user's permission add the group "outside". They will then only be able to access devices with "outside" in the group field.
  • Is Admin: User can access everything. If the user is an admin then read only is ignored below.
  • PTZ: Sets access to PTZ control.
  • Own Views: User has their own copy of the view configuration saved.
  • Read Only: User cannot modify device settings.
  • Download: User can download recordings.
  • Audio: User can listen to live and recorded audio.