Configuration - Server Settings


To tailor your settings, click on the Server icon located at the top left of the Agent UI, and select "Settings" from the Configuration menu. Please note, if the server icon is highlighted with a colored background, this indicates you are operating on another user's Agent server through permissions, which may limit access to some features.


To manage your device configurations, simply click on the Server Icon followed by Backup/Restore under the Devices section. Here, you have the option to download configurations for your devices, system, and layouts, or upload previously saved files.

  • Name: Assign a unique name to your Agent instance. This is especially useful if you manage multiple servers on your account.
  • Default Language: Set the default language for your server
  • Show Logo: Display your business logo on the loading screen. This feature requires a business license and can be set up by uploading a logo through the File Upload option in the server menu. See an example.
  • Max CPU: Specify the maximum CPU usage for your server. Alerts will be sent if this limit is reached, and Agent will adjust camera framerates to manage the load. This feature is available only on Windows.
  • Priority: Set the priority of the Agent DVR process on your system. Recommend Above Normal.
  • Apply Schedule at Start: Enable this to apply your scheduling settings on startup, ensuring your devices are in the correct state according to your schedule. If unchecked, Agent will start with devices in their last known state.
  • Notify on Disconnect: Activate this to receive notifications if your server disconnects from web services unexpectedly.
  • VLC Directory: Specify the installation directory of VLC (v3+). This is usually auto-detected by the system.
  • Add to Database: Decide whether Agent should prompt you to add your camera to the wizard database when adding an unlisted camera.
  • Record all audio channels: Enable this to record all audio channels in the output files. Be aware that this can cause issues on some systems due to misreported bitrate, leading to instability.
  • Push to Talk: Enable push to talk mode, where communication is only possible when the talk button is pressed.
  • ONVIF Discovery: Enable or disable ONVIF device discovery on your network. ONVIF discovery runs every minute.
  • Experimental Features: Activate this to test new features in Agent. These features are typically under development and should generally be used only for testing purposes.
  • Logging: Consult the Logging section for details.
  • SignalR Method: Select the SignalR method (used by Agent for setting up remote connections). This is mainly for troubleshooting remote access issues.
  • Wait for SignalR: Enable this to wait for a SignalR response at startup, which can help resolve connection issues on OSX.
  • Time Formats: Refer to the Local Server section for more information.

AI Servers


Supported Cloud Providers

  • Box
  • DropBox
  • Google Drive
  • OneDrive
  • OneDrive Business
  • OpenDrive
  • S3

Click the appropriate button to authorize Agent to connect with your cloud host. If you encounter any issues, consider temporarily disabling 2-factor authentication on your cloud host account. Once Agent has access, you can manage cloud uploads by adjusting your camera cloud settings.

S3 Cloud Storage

For S3 Storage options, oauth is not used. Instead, you'll need to provide a client ID and a secret key for uploads. Agent is compatible with Amazon S3 and other S3 Providers like Google Cloud.

Amazon S3 Settings

Set up your storage account on AWS and enter the required S3 parameters. The URL field should be left blank for Amazon S3, as it's automatically configured.

Google Cloud S3 Settings

For Google Cloud S3 storage, begin by creating a new bucket in the Google Cloud interface. Then, generate an Access Key, which will provide a key and a secret for Agent configuration. Set the URL to Note: The region name is not required for this setup.


Stay up-to-date with the latest features for your cameras and PTZ models using Agent's database update options.

  • PTZ Models: Download the latest PTZ database to enhance control over your PTZ cameras.
  • Camera Definitions: Access the most recent camera definitions database. Updating this database enriches the Add Camera Wizard with new models, ensuring you're always equipped with the latest camera technology.

FTP Servers

Configure and manage your FTP servers conveniently here. Once a server is added, you can easily select it for any camera through the editing options. For more details on camera FTP settings, please refer to camera FTP.

  • Name: Assign a local name to your server for easy identification within Agent.
  • Username: Enter your FTP server username.
  • Password: Enter your FTP server password.
  • Server: Specify your FTP server URL, starting with ftp:// or sftp:// (e.g.,
  • Port: The port number your FTP server uses, typically 21 for ftp:// and 22 for sftp://.
  • Use SFTP: Enable this option if your server utilizes SFTP.
  • Use Passive: Opt for Passive FTP mode by checking this.
  • Rename: Activating this will have Agent upload files under a temporary name and then rename them post-upload. This is particularly useful to minimize flicker when streaming video via FTP and javascript. Learn more.
  • Max Queue: Set a limit for the upload queue size. If this limit is reached, Agent will stop accepting new files for upload. Note that the queue size is managed on a per-camera basis.


Using this tab you can add, edit and delete layouts


Use your LDAP server (openLDAP/ Active Directory etc) to handle logins. This uses the local logins feature so requires a Business license.

Using LDAP your users can sign into the local web client using their LDAP logins. This will authenticate them against your LDAP server and create a local account for them automatically

  • Enabled: Turn logins with LDAP on or off.
  • Server Address: Enter your LDAP server address, eg
  • Port: LDAP server port. Usually 389 or 636 for LDAP over SSL.
  • Is Active Directory: Check this if you are using AD (it modifies some of the fields passed to LDAP).
  • Use SSL: Check if you are using a secure connection
  • LDAP Search Base: Domain Search bases. eg DC=myorg,DC=com
  • Protocol Version: Default is 3
Group Permissions

Using Group Permissions you can add LDAP user group names and permissions to apply to those groups. You must add at least one LDAP group to configure LDAP logins. When a user logs in the system will match their LDAP usergroup membership against these groups and apply the permissions it finds. If a user is a member of multiple groups the permissions will be combined (via an OR operation).


Use this tab to license Agent DVR for business use.

Do you have a license for Agent DVR and want to move it to a new computer? See License Transfer.

You can also purchase licenses in volume via Purchase Order. See Volume Licensing.

White Labelling

Once Agent is Licensed you can customise it via the licensing tab to white label it for your business or your clients. See the additional options on the licensing tab:

  • Product Name Set an alternate product name to appear at the top of the UI (max 6 characters)
  • Show Logo Upload a logo using the Server Menu - File Upload option and this will be displayed by clients whilst the web app loads.
  • Show Help Links Switch on or off help links in the app that take the user to our website.
  • Show Remote Show or hide links to our remote services and integrations.
  • Show Licensing Show or hide this licensing tab. Note that if this tab is hidden the only way to display it again is to stop the Agent service, edit Media/XML/config.xml in the Agent directory and set ShowLicensing to "true" and then restart it.
  • About Text Set the text that is displayed when you click on the Information icon in the UI.

Local Server

  • Bind to Interface: By default, Agent monitors all interfaces. You can specify a particular network interface for monitoring here. If this setting disrupts access, you can revert to the default by setting BindInterface to '*' in Agent/Media/XML/config.xml.
  • Port: The local port used by Agent. Default is 8090.
  • SSL Port: The port for SSL connections to your server. This requires a subscription or a business license. Set to 0 to disable. Before setting this, please read the guidelines.
  • SSL Certificate: The certificate file for SSL connections (Linux/OSX only).
  • SSL Password: The password for your SSL certificate (Linux/OSX only).
  • Protect API: Enable basic authentication for API endpoints. Note that this may affect some integrations.
  • Access Timeout: Set a time limit for server access via permissions (in minutes). 0 for unlimited access.
  • Max Sessions: Limit the number of simultaneous web browser connections. Exceeding connections will be disconnected. Set to 0 for unlimited.
  • STUN Servers: These servers assist with local and remote connection negotiations through NATs. Removing them can impact connectivity. For more information and recovery steps, see this link.
  • Enable ZeroConf: Turn on ZeroConf service for network-wide discovery of Agent.
  • Enable Scrubbing (Time Machine): Activate scrubbing for real-time video navigation. Note: High CPU usage may occur depending on system and camera count. Disable if you encounter Time Machine issues. UI reload required for changes to take effect.
  • JPEG Quality: The quality setting for JPEG/MJPEG image streams. Higher values increase bandwidth usage. Default is 75.
  • Block External Access: Prevent Agent from responding to remote web portal requests. Automate this setting for security using the API.
  • Max Files: Set the maximum number of files to display in the UI across all devices. A "load more" icon appears when the limit is reached. Set to 0 for unlimited. Note: Large file quantities can slow the UI.
  • Max Photos: The maximum number of photos to load per device. Set to 0 for unlimited. Note: Large photo quantities can slow the UI.
  • Views: The number of available views on the live screen (v4.4.5.0+).
  • Plans: The number of available plans on the floorplan screen (v4.4.5.0+).
  • Culture Codes: Set the culture code for date formatting on timestamps (e.g., en-US for American English, fr-CA for Canadian French). See this list for more options.
  • Time Formats: Choose the format for date display in the Agent UI. Default is 12-hour format ("MMM DD YYYY h:mm:ss A"). For 24-hour format, use "YYYY-MM-DD H:mm:ss". Additional format codes are provided for customization.


  • Enabled: Toggle to turn Logging on or off.
  • Max Log Size: Determines the maximum number of entries that can be held in the log queue.
  • FFMPEG Log Level: Adjust the debug output level for ffmpeg. Caution: The Trace setting can rapidly fill your logs and should be used only briefly for specific debugging purposes.
  • SignalR Logging: Enables logging of communications with the SignalR server, useful for detailed debugging.


MQTT, a key IoT messaging protocol, facilitates seamless integration of devices and services across your network. Configure MQTT settings here to enable MQTT Events on your devices, or use Actions for sending custom messages to the MQTT server. Also, Agent can be configured to react to MQTT commands. For more details, see MQTT.

  • Enabled: Toggle to activate or deactivate MQTT.
  • Server: Input the IP address of your MQTT Server.
  • Port: Specify the port used by your MQTT Server (default is 1883).
  • Check Interval: Set the interval in seconds for Agent to send keep-alive messages, ensuring a stable connection.
  • Protocol: Choose the connection protocol, either None or SSL.
  • QoS: Quality of Service level. Refer to your MQTT server documentation for details.
  • Client ID: Your MQTT client ID. Agent can often generate this automatically.
  • Username: Your MQTT server username.
  • Password: Your MQTT server password.
  • Send Stats: Enable this to allow Agent to send statistics to MQTT, such as CPU usage, memory usage, and drive usage (Windows only).


NDI (Network Device Interface) simplifies the process of accessing IP video sources, offering built-in discovery features. Many cameras and video surveillance systems are already NDI-ready, making integration with Agent DVR effortless. For more information about NDI technology and compatible devices, visit Agent DVR supports NDI sources with video and audio capabilities, as well as PTZ control via NDI.

  • Groups: Here, you can add NDI groups if applicable. Enter each group on a new line.
  • Extra IPs: Add specific NDI IP addresses for device scanning. Each IP should be on a new line.
  • Show local devices: Toggle this option to decide whether NDI devices on the local computer (which is running Agent DVR) should be displayed in the list.


Agent DVR utilizes keywords in ONVIF event XML packets to identify motion events. Since these packets can vary across different camera models, we provide an option for you to add custom event XML from your camera to trigger ONVIF events. This feature is particularly useful if you encounter issues with standard ONVIF event detection.

  • Detect XML: Insert the specific ONVIF XML event packet from your camera here.
  • Event Logging: Enable this to log all incoming XML from the camera, which is helpful for debugging purposes. Access these logs at /logs.html on your local server.

For instance, if you notice entries in the logs at /logs.html like:

Ignored ONVIF event: <tt:Source xmlns:tt=""><tt:SimpleItem Name="VideoSource" Value="V_SRC_000" /><tt:SimpleItem Name="Rule" Value="MyMotionDetectorRule" /></tt:Source><tt:Data xmlns:tt=""><tt:SimpleItem Name="State" Value="true" /></tt:Data>

And Agent is not recognizing it as a motion event, you can add the following to the Detect XML field:

<tt:SimpleItem Name="Rule" Value="MyMotionDetectorRule" /></tt:Source><tt:Data xmlns:tt=""><tt:SimpleItem Name="State" Value="true" /></tt:Data>

Agent will then interpret events containing this specific text as motion events.


These settings govern how Agent DVR renders and delivers video to the web browser and through the API.

  • Max Stream Size: Sets the highest resolution for streaming to the web client. Higher resolutions can significantly increase CPU usage.
  • Max MJPEG Size: The maximum MJPEG stream size Agent will generate via the API.
  • Default MJPEG Size: The default MJPEG stream size Agent will generate via the API, used when no size parameter is specified.
  • Codec: Select the recording codec, either H264 or VP8.

    H264 is widely supported for hardware encoding, offering maximum performance. However, H264 files must be fully written before playback. If recording fails, try VP8, especially if your ffmpeg version lacks H264 encoding.

    VP8 usually lacks hardware support but allows playback of .webm files during recording.

    Tip: For IP cameras, use Raw mode (set on the recording tab when editing the camera) for optimal performance and immediate playback.

  • Video FPS: The maximum frames per second for video sent to the web browser.
  • Center Images: Toggle this to choose between filling the available space with the camera image or maintaining the original aspect ratio.
  • Use GPU: Enable GPU usage for decoding saved video files.
  • High Performance Resizing: Use a basic resizing algorithm to reduce CPU usage, though it may result in less smooth playback.
  • Default GPU Decoder *: Choose the preferred hardware decoder. Agent will try other options if the preferred one fails.
  • Default Codec *: Choose the preferred hardware encoder. Agent will use alternative options if necessary.
  • Use OpenCV to render text: Opt for OpenCV for rendering text (like timestamps, overlays) to slightly boost performance, but this removes font support (Windows only).
  • Interval Delay: The delay between switching Views in an interval mode layout in Live View.

* Note that GPU encoding and decoding depend on your computer's hardware compatibility, drivers, and FFmpg library support. To check if Agent is utilizing your hardware devices, start a recording and view the logs at /logs.html in the local client. Agent should revert to CPU-based encoding if GPU encoding is unsuccessful.

RTMP Servers

Agent DVR offers the capability to stream video to RTMP endpoints like Twitch and YouTube, enabling you to broadcast or embed the stream on your website. For more information on how to embed these streams, please refer to RTMP Settings.

RTMP streaming can be activated from the Server menu or scheduled to start and stop automatically using a device scheduler.

  • URL: The RTMP endpoint to publish video to, typically in the format of rtmp://
  • Stream Key: Refer to the embedding guide linked above for instructions on obtaining your stream key.
  • Size: Select a resolution for your broadcast. Remember, higher resolutions consume more bandwidth and CPU resources.
  • Quality: Adjust the basic quality setting. The default is 8. Lower values mean reduced quality but also lower bandwidth usage.
  • Frame Rate: Set your desired frame rate for the video. The default is 15 frames per second.
  • Use GPU: Enable this option to utilize your GPU for encoding the stream.
  • Include Audio: Include audio in your stream. If disabled, Agent will create a dummy silent audio track.
  • Max Duration: Set the maximum streaming duration. Agent will stop streaming after this period. Enter 0 for continuous streaming.


These settings are designed to manage how Agent handles the arming and disarming of the system, either through the UI lock icon or via integrations/API.

  • Arm Delay: The time delay in seconds from when you click the Arm icon (the lock icon at the top left in Agent) to when Agent actually activates alerts.
  • Disarm Code: This code is used to disarm Agent, applicable in tools like Alexa. The default code is 1234.
  • Arm Profile: Choose a profile to automatically apply when the system is armed (using the lock icon in the top left corner of the UI).
  • Disarm Profile: Choose a profile to automatically apply when the system is disarmed (using the unlock icon in the top left corner of the UI).
  • Access Timeout: This setting has been moved to the Local Server settings.


You have the option to use an subscription for email alerts or configure your own SMTP server. Remember, to send emails, you need to set up an action for email sending. For help with any issues, refer to SMTP Troubleshooting.

  • Use SMTP: Enable this to use your own SMTP server for messaging.
  • Username: Your SMTP server username.
  • Password: Your SMTP server password.
  • From Address: The email address to send from, for example,
  • Server: The IP or web address of your SMTP server.
  • Port: The port your SMTP server uses. The default is 25.
  • Use SSL: Enable this option for SMTP communication over SSL.
  • Send full size images: Check this to send images in full resolution instead of sending resized, smaller versions.


  • Configure: See Storage Settings
  • Storage Email Address: Provide an email address to receive alerts when storage limits are reached. This requires SMTP settings or a subscription.
  • Notify Trigger: Set the percentage of used space in the storage location to trigger an email notification. Note that this refers to the allocated max space, not the free space on the drive.
  • Email Interval: Determine the frequency of storage warning emails, measured in hours.
  • Storage Interval: Adjust the frequency of Storage Management operations by Agent.


For information on remote user permissions, please refer to Remote Permissions.
Note: The free version of Agent DVR allows for one admin user to be added.

With a Business License, you can add multiple users with different permissions to your local Agent DVR server.

To add users, go to Server Settings and access the Users tab.

  • Username: This is the username for local server login (it is different from your username).
  • Password: Create a password for the local account.
  • Groups: Assign or create groups for the user. Groups function similarly to remote user permissions, but there's no need to include the server name. Leave this blank to allow access to all devices. To restrict access:
    • Assign a group name in the device settings under the General tab (e.g., "outside").
    • In the user's permissions, add the group "outside" to restrict their access to devices labeled as such.
  • Is Admin: Grants full access to all features and settings. If the user is an admin, the 'Read Only' setting below is disregarded.
  • PTZ: Allows PTZ (Pan-Tilt-Zoom) control access.
  • Own Views: The user can save their own view configurations.
  • Read Only: Restricts the user from modifying device settings.
  • Download: Permits the user to download recordings.
  • Audio: Allows the user to listen to live and recorded audio.
  • Talk: Enables the user to use talk-back features.
Forgot the Admin Login?

If you forget the admin login and are locked out of Agent, you can reset it by following these steps:

  • Stop the Agent service, if it's running.
  • Open a console window: Click Start, type "cmd", right-click on "Command Prompt" and select "Run as administrator".
  • Navigate to the Agent directory, typically "cd C:\Program Files\Agent".
  • Reset the local password by typing "Agent.exe reset-local-login" on Windows or "dotnet Agent.dll reset-local-login" on OSX and Linux.
  • Restart the Agent service using the same method as for stopping it.

You can automate the adding of new users using LDAP.

Session Management

From the Server menu, click on Session Management to access these controls. This is only visible to administrators.

This displays the usernames and IP addresses of recent logins to the server. You can force disconnect specific sessions from here.

Filter Applied