---
title: "Alarm Image Resolution"
source: /gcxone/devices/alarm-image-resolution
locale: en
updated: 2026-10-11
---
## Overview

Every alarm image sent to GCXONE must be at least 640 pixels wide and at least 480 pixels high. This page explains the requirement and how to raise the alarm image resolution for each device type.

## The 640×480 Requirement

- **Both dimensions count.** 16:9 settings such as 640×360, 768×432 or 800×456 do not meet the requirement, because the height is under 480. For a 16:9 stream, choose 854×480 or larger, or switch the alarm/analytics stream to 4:3 (640×480).
- **Change the stream the alarm image comes from.** This is usually the sub-stream, secondary stream or analytics stream, not the main recording stream.
- **Change every stream the camera sends alarm images from.** A camera can send alarm images at different resolutions at different times, so checking a single image is not enough.

## Settings by Device Type

Find the device type in the table, then follow its section below.

| Device Type | Common Low Resolutions | Setting to Change |
| --- | --- | --- |
| ADPRO | 352×288 | Enable continuous recording (recommended); otherwise raise the XO analytic resolution (IP cameras) or upgrade to IP cameras (analog) |
| Axxon | 336×190; 640×360; 480×270 | Sub-stream / detection stream resolution |
| Camect | 640×360; 640×368 | Camera sub-stream resolution |
| Hikvision | 640×360; 640×376; 640×362 | Sub-stream resolution |
| Avigilon | 640×360; 384×216; 512×288 | Secondary stream resolution |
| Dahua Cloud ARC | 352×288; 640×291; 640×288 | Sub-stream resolution; replace HDCVI analog cameras |
| Dahua | 320×240; 640×360; 640×290 | Sub-stream resolution |
| Reconeyez | 320×180; 320×240 | Alarm photo resolution; otherwise replace the detector |
| Milestone | 400×225; 640×360 | Camera stream / alarm image profile |
| Virtual devices | 640×360; 400×225 | Resolution on the original device |
| Mobotix | 640×360 | Event image size |
| Ganz | 640×360 | Sub-stream resolution |
| AJAX | 320×240; 160×120 | Photo-verification resolution; otherwise replace the detector |
| Eagle Eye | 640×360; 800×456; 480×272 | Preview stream resolution |
| Hanwha | 600×480 | Second profile resolution |
| NXG Cloud NVR | 320×240 | Camera stream resolution |
| Genetec | 640×360 | Low-resolution stream |
| SenStar | 640×360 | Low-resolution stream |
| Cathexis | 640×360 | Secondary stream |

## ADPRO

ADPRO devices (FastTrace 2E, iFT and iFT Gateway) send 352×288 (CIF) analytics quad images by default, which is the XO default analytics stream. There are three parts to the fix:

- Enable continuous recording for every ADPRO camera, IP and analog. GCXONE then takes alarm images from the recording archive instead of the analytics stream. This is the recommended approach.
- IP cameras: also raise the XO analytic resolution.
- Analog cameras: also plan an upgrade to IP cameras.

### Recommended: Continuous Recording and Archive Alarm Images

By default, GCXONE receives ADPRO's analytics quad images. These come from the analytics stream, whose resolution is low and varies: CIF by default, never above 640×480, and dependent on what each camera offers. With continuous recording enabled, GCXONE pulls pre-alarm, alarm and post-alarm images directly from the recorded archive instead. This applies to both IP and analog cameras.

Benefits:

- **Highest available resolution:** alarm images come at the recording resolution, not at the analytics stream's CIF or 640×480 limit.
- **Consistent images:** every alarm image comes from the same recorded stream, so the resolution no longer varies between alarms or with the time of day.
- **Better detection quality:** GCXONE's verification runs on higher-resolution pre-alarm, alarm and post-alarm frames, which improves object detection.
- **Full event context:** continuous recording guarantees footage exists before the trigger, which event-only recording does not.

To set it up in the XO client:

**Step 1:** Set the recording quality. Go to **System → Video Inputs** and select the camera from the drop-down list. Under **Recording parameters**, set both **Continuous/Pre/Post quality** and **Event quality** above 640×480, for example 1280×720, 1920×1080 or the camera's native resolution. Tick **Always use event quality for continuous recording**, so continuous footage is recorded at the same resolution as event footage. Click **Save**, then repeat for every camera.

![ADPRO XO Video Inputs – Recording parameters](/api/media/file/image-6--edited-8c29cf53-edited-bbe5541b.png?prefix=media)

**Step 2:** Record continuously and on events, 24 hours a day. Go to **System → Recordings Behaviour**, select the camera's recording condition and click **Edit**. Under **Recording condition validity period**, tick every day including **Ho** (holidays), with a period of 1 January → 31 December. Under **How to record**, select **Time based** and make sure both the **Continuous** and **Event** bars cover 00:00–24:00. Click **Ok**, then **Save**.

![ADPRO XO Recordings Behaviour](/api/media/file/image-7--edited-7d48c2b8-edited-bc0f2d56.png?prefix=media)

**Step 3:** Check disk capacity and test. Continuous recording at high resolution uses far more storage than event recording, so check the disk capacity and retention on the ADPRO device and size the retention to cover at least the alarm-verification window. Check that the site uplink can carry archive image retrieval during alarms. Then trigger a test alarm and confirm that GCXONE shows pre-alarm, alarm and post-alarm images from the archive at the recording resolution.

**Step 4:** Check the NVR date, time and NTP synchronization. Go to **General → Date/Time** and check that:

- The time zone matches the site's physical location.
- Daylight saving is enabled only where it applies.
- A valid NTP server is configured, for example de.pool.ntp.org, or your organization's approved NTP server. NXGEN also provides an NTP server as a service, for both public and VPN-protected environments; contact Support for availability and details.
- The NVR can reach the NTP server. NTP normally requires UDP port 123.

Click **Sync** and wait for the synchronization to finish. Check that the displayed date and time are correct by comparing them with a known accurate source, such as a workstation synchronized to an authoritative time source, your network time server or another synchronized device. Save the configuration if required.

![ADPRO XO Date/Time](/api/media/file/8265AC3E-9375-412E-A0C0-EDEE8CB653E8-edited-64129427.png?prefix=media)

If continuous recording is not possible, raise the analytic resolution in the XO client instead (IP cameras only). Analog cameras cannot be configured this way and must be replaced with IP cameras.

### IP Cameras: Raise the Analytic Resolution

This requires ADPRO firmware XO 4.0 or later. From that version, the aspect ratio and quality of the analytics stream can be selected, up to a maximum of 640×480. Upgrade devices on older firmware first.

**Step 1:** In the XO client, open the camera's video input. If the camera is already enabled, click **Disable** so the settings can be changed.

**Step 2:** Set **Type** to **IP cam**.

**Step 3:** Set **Cam brand** to **ONVIF PROFILE S**, select **ONVIF-S/ONVIF-T**, and under **Channel selection** choose **Single** / **Channel 1** (for multi-sensor devices, the correct channel).

**Step 4:** Enter the camera's IP address, RTSP port (554), HTTP port (80), username and password. Use **Discover cameras** to find the address if needed.

**Step 5:** Under **Analytic resolution configuration**, set **Aspect ratio** to **16:9** and **Raw resolution** to **High**.

**Step 6:** Leave **Treat this cam as a single stream cam** unticked, so that the camera provides a separate analytics stream. Tick **Thermal** only for thermal cameras.

**Step 7:** Click **Enable**.

**Step 8:** In the **Video Inputs** screen (Info pane), check the analytics resolution that XO actually uses. Then trigger a test alarm and confirm in GCXONE that the image is at least 640×480.

![ADPRO XO IP camera – Analytic resolution configuration](/api/media/file/image-67--edited-ddc50341.png?prefix=media)

Notes:

- The camera must offer a stream at or above the chosen resolution. If a camera only offers a CIF sub-stream, raise its sub-stream in the camera's web interface first.
- Update the camera firmware to the latest version from the manufacturer.
- Keep enough bandwidth and decoding headroom. A higher analytic resolution increases the load on the ADPRO device, especially on units running many cameras.

### Analog Cameras: Upgrade Required

When **Type** is **Analog**, the XO client has no analytic resolution option. The analytics and alarm images stay at CIF (352×288), so these cameras cannot meet the 640×480 requirement.

- Find the analog channels: open each camera in the XO client and check the **Type** field.
- Replace each analog camera with an ONVIF Profile S/T IP camera. The ADPRO supported IP camera list gives the tested models.
- Configure the new camera as described in the IP camera section above, and re-run the analytics calibration, detection zones and PIR/double-knock setup.

## Axxon

Set the camera's low-quality stream to 1280×720, or at least 854×480, then check the alarm images again. 640×360 is a common Axxon setting and is valid for Axxon's own detection tools, but it does not meet the GCXONE requirement.

**Step 1:** In the Axxon Client, go to **Settings → Hardware** and select the camera.

**Step 2:** Tick **Send settings to device**. Without it, the stream parameters come from the camera's web interface and cannot be edited in Axxon.

**Step 3:** Open the **Second stream** (low-quality stream) tab and set **Resolution** to 1280×720, keeping the same aspect ratio as the main stream. Keep the frame rate at 6 fps or higher.

**Step 4:** Click **Apply**. If the camera was added in **Keep current settings** mode, make the same change in the camera's web interface instead.

**Step 5:** Trigger a test alarm and confirm the GCXONE alarm image is at least 640×480.

If a camera can only produce a CIF-class second stream, for example an analog camera behind a video encoder, replace it with an IP camera.

## Other Device Types

For every other device type, raise the stream or photo setting the alarm image comes from. Only battery detectors and analog channels may be limited below 640×480 by their hardware. Menu names follow the current vendor interfaces and can differ slightly by firmware.

### Hikvision and Ganz

Most of these cameras send a 16:9 sub-stream (640×360 or 640×376).

**Step 1:** In the camera's web interface, go to **Configuration → Video/Audio → Video**. On an NVR, open the channel's encoding settings instead.

**Step 2:** Set **Stream Type** to **Sub-Stream**, then set **Resolution** to 640×480, 704×576 or 1280×720, whichever the model offers.

**Step 3:** Click **Save**, then repeat for each channel on the NVR.

Ganz cameras have a similar sub-stream setting in their web interface.

### Dahua and Dahua Cloud ARC

**Step 1:** In the web interface of the camera, NVR or XVR, go to **Setup → Camera → Encode** (**Main Menu → Camera → Encode** on recorders).

**Step 2:** Under **Sub Stream**, set **Resolution** to D1 (704×576), VGA (640×480) or 720P.

**Step 3:** Click **Save**, then repeat for each channel.

Dahua Cloud ARC cameras at 352×288 are usually analog/HDCVI channels on an XVR set to CIF. Raise the XVR sub-stream to D1 or 720P. If the channel cannot go higher (older CVBS cameras), replace the camera with an HDCVI or IP camera.

### Camect

Camect uses the camera's secondary stream for detection and alarm images. In each camera's own web interface, set the sub-stream to at least 854×480, 1280×720 or 640×480, then restart the camera on the Camect hub so the new stream is picked up.

### Avigilon

**Step 1:** In the Avigilon Control Center Client, open **Setup** for the camera, then **Compression and Image Rate**.

**Step 2:** Set a 4:3 or 16:9 resolution whose lowest stream is at least 640×480, for example 1280×720 or higher. Where the camera exposes secondary-stream settings, set the secondary stream to at least 854×480.

If the secondary stream stays below 640×480 because ACC fixes it, contact Support so the alarm images can be taken from the primary stream.

### Milestone

**Step 1:** In the Milestone XProtect Management Client, go to **Recording Servers**, select the camera, and open the **Settings** tab.

**Step 2:** Find the stream GCXONE uses (usually the live or secondary stream) and set its **Resolution** to at least 640×480 (1280×720 recommended).

**Step 3:** Click **Save**.

Cameras at 400×225 often have a scaled "Live" stream. Point the alarm image to a stream at native resolution.

### Reconeyez

Reconeyez detectors send 320×180 or 320×240 alarm images, because the Bridge uploads a reduced JPG to the cloud. The full image stays on the detector. The upload quality is a setting that trades image size against battery life.

- In Reconeyez Cloud, open **Devices**, select the detector, and raise the alarm image quality/size to the highest option that produces at least 640×480.
- Expect shorter battery life. On high-traffic sites, add the solar or battery extension pack, or a mains charger.
- If no setting reaches 640×480 on that detector model, replace it with a model that does.

### AJAX

AJAX MotionCam (PIRCAM) detectors default to 320×240. They can be set to 640×480, and some Superior models to 960×720.

- In the AJAX PRO app, select the hub, go to **Devices**, select the detector, and open **Settings**.
- Set the photo resolution to 640×480 (or 960×720 where offered).
- On Superior MotionCam G3, choose 864×720. Its 576×480 option is too narrow.
- MotionCam Outdoor models only go up to 640×352, so they cannot meet the requirement and must be replaced.

### Virtual Devices

A virtual device shows the alarm images of the original sensor it is linked to. Raise the resolution on the original device, using the section for its device type.

### Mobotix and Eagle Eye

- **Mobotix:** In the camera's **Setup Menu → General Image Settings**, set the image format to VGA (640×480), XGA or HD (1280×720) instead of the 640×360 wide format. Save the settings permanently.
- **Eagle Eye:** In the Eagle Eye VMS camera settings, set the preview resolution to at least 640×480, or 854×480 if 16:9. Where the preview resolution cannot be changed, contact Support so the alarm images can be taken from the main stream.

### Hanwha, NXG Cloud NVR, Genetec, SenStar and Cathexis

- **Hanwha Wisenet:** 600×480 is 40 pixels too narrow. In the camera's web interface, go to **Setup → Video profile** and set the profile used for alarms to 640×480 or larger.
- **NXG Cloud NVR:** Raise the camera's stream at the camera itself to at least 640×480.
- **Genetec Security Center:** In Config Tool, open the camera's **Video** tab and set the **Low resolution** stream to at least 854×480.
- **SenStar Symphony:** Set the camera's secondary stream to at least 854×480.
- **Cathexis CatVision:** Set the camera's secondary stream to at least 854×480.

## Check the Result

A camera is fixed only when every alarm image it sends to GCXONE is at least 640×480, over at least a few days of real alarms.

- After changing the setting, trigger a test alarm and check the image resolution in GCXONE.
- Keep checking the images from real alarms over the next few days.
- Where the hardware cannot reach 640×480 (ADPRO analog cameras, CIF-only encoders, MotionCam Outdoor), plan the replacement.

## When to Contact Support

Contact Support when:

- The device has no setting that reaches 640×480.
- The integration still delivers a smaller image after the change.

See [Contact Support](/gcxone/support/contact).