To access Server Settings, click on the Server icon at the top left of the Agent UI and "Settings" under Configuration.
- 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.
- 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.
Use Raw mode when using IP cameras (Set the encoder to Auto when editing the camera) for maximum performance and playback whilst recording.
- Max Stream Size: The maximum resolution to stream to the web client with. High resolutions can use a lot of CPU.
- 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)
- 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.
- Max MJPEG Size: The maximum allowed MJPEG stream size (that Agent will generate via api).
- Add to Database: This controls if Agent will prompt you to add your camera to the wizard database when you add an unlisted camera.
- 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.
- Access Timeout: Set a time limit for people accessing your server via permissions (minutes). 0 = unlimited.
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.
- 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.
- Require SSL: Check this to require an SSL connection on the local server. 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 stopping Agent and calling "Agent.exe reset-local-login" on Windows or "dotnet Agent.dll reset-local-login" on OSX and Linux.
- Protect API: Check this to force basic authentication with API endpoints. Enabling this may break some integrations.
- 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.
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.
- 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.
- Use OpenCV to render text: Using opencv to render text (timestamp, overlays) can improve performance slightly but removes font support (Windows only).
- Interval Delay: The time between switching Views when using an interval mode layout in a Live View.
- 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 email@example.com
- 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.
- Encoder: Choose to use Auto, GPU or CPU. If the stream fails to publish try CPU.
- 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.