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.
- 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'
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 ftp://192.168.12.1
- 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.
- 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.
- Bind to Interface: By default Agent listens on all interfaces. You can change that to listen on a specific network interface here. If this breaks access you will need to stop Agent and manually set the BindInterface to * in the file Agent/Media/XML/config.xml
- Port: The local port to use. Default is 8090.
- SSL Port: The port to use for SSL connections to your server. Requires a subscription or a business license. 0 = disable. Read this first!
- Username and Password Set optional login credentials for accessing the local server. Your web browser will prompt for these. If you forget this password you can reset it by:
- Stop the Agent service if it is running: Click Start - Run - Type "services.msc" - press enter. Right click "Agent" in the list and click Stop. You can prevent it from starting as a service when you reboot by right clicking on Agent, click Properties and set the startup type to "Disabled". Click Apply and OK.
- Open a console window: Click Start - Type "cmd", right click on "Command Prompt" and click "Run as administrator"
- Change directory to the Agent directory. Usually this would be "cd C:\Program Files\Agent"
- Reset the local password - type: "Agent.exe reset-local-login" on Windows or "dotnet Agent.dll reset-local-login" on OSX and Linux.
- Restart the Agent service (in the same way you stopped it)
- Protect API: Check this to force basic authentication with API endpoints. Enabling this may break some integrations.
- STUN Servers: These servers provide IP resolution features for negotiating local and remote connections through NATs. Removing them may break local and/or remote connectivity.more info. If you have broken something here you will need to stop Agent, edit the media/xml/config.xml file and reset the list under STUNServers with: "stun.l.google.com:19305,stun1.l.google.com:19305,stun2.l.google.com:19305,stun3.l.google.com:19305,stun4.l.google.com:19305"
- Enable ZeroConf: Enable the ZeroConf service so Agent can be discovered across the network.
- JPEG Quality: Agent uses this quality value to generate grabs and serve JPEG and MJPEG image streams. Higher quality uses more bandwidth. 75 is the default.
- Block External Access This stops Agent from responding to connection requests from the remote web portal. You can use the API to automate this via a schedule for added security.
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).
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.
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: Set a time limit for people accessing your server via permissions (minutes). 0 = unlimited.
- 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 firstname.lastname@example.org
- 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
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
- URL: The path to publish video to. Usually looks like rtmp://a.rtmp.youtube.com/live2
- 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.