The Camera HealthCheck feature provides continuous monitoring of camera availability and performance across the Cloud VSaaS platform. By periodically accessing each camera's live stream, the system ensures cameras are online, accessible, and functioning as expected. HealthCheck results are visually represented and logged for real-time awareness and historical analysis.
The feature is designed around three primary goals:
Validate that all cameras are online and functioning correctly
Provide proactive alerts for failed or degraded camera feeds
Offer flexible control via scheduling, hierarchy-based configuration, manual execution, and exclusion mechanisms
Modern video surveillance systems rely on large numbers of cameras operating continuously. When a camera stops functioning correctly, the issue may remain unnoticed until footage is required for a security incident. Common problems include:
Camera connectivity loss or total offline status
Blocked, obstructed, or vandalized lenses
Extremely low-light or night conditions making video unusable
Overexposed or washed-out images from glare or direct light sources
Camera movement or deliberate tampering
Software-level video feed failures (no license, no signal)
Without automated monitoring, these issues can remain undetected for extended periods, potentially compromising security operations and post-incident investigations. The Camera HealthCheck feature addresses these challenges by automatically verifying camera availability and analyzing video snapshots at scheduled intervals.
Figure 1: HealthCheck — what it does, productivity impact, vulnerabilities closed and growth impact
Continuous Camera Monitoring: Periodically verifies that each camera is reachable and delivering a valid video stream.
Automatic Failure Detection: Automatically identifies cameras that are offline, unreachable, or experiencing feed failures.
Image Condition Analysis: Detects image conditions that may affect video usability, including low light, glare, and blocked views.
AI-Based Anomaly Detection: In Advanced mode, AI models analyse camera snapshots to detect obstruction, glare, and camera movement.
Flexible Scheduling: HealthChecks run automatically at configurable intervals or can be triggered manually on demand.
Hierarchical Configuration: Settings applied at any level of the platform hierarchy (Service Provider to Sensor) are inherited downward.
Centralized Dashboard: Color-coded status indicators and dashboards provide instant platform-wide camera health awareness.
When a HealthCheck is executed, the platform performs the following steps in sequence:
The system connects to the camera's live stream.
A snapshot is captured from the camera feed.
HealthCheck algorithms analyze the image against configured checks.
A health verdict is generated (e.g., healthy, low light, obstructed).
Results are recorded, logged, and displayed in the platform interface.
HealthChecks can run automatically on a configured schedule or be triggered manually by operators at any time.
The HealthCheck dashboard in GCXONE (accessible from the eye icon in the left sidebar) provides a real-time overview of all cameras. At the top, summary cards display counts for: Checked Cameras, Healthy Cameras, Connection Failure, Black Screen Cameras, Low Light Cameras, Obstructed Cameras, and No Reference Images.
Below the summary cards, cameras are shown in either grid view or list view. Each camera card displays the current snapshot, a reference image for comparison, the camera name, site, device, and current status. The interface supports the following filter and display controls:
Status filter — Healthy, Failed, or No Reference Image.
Camera Type filter — narrow results to a specific device or sensor type.
Include Inactive Sensors toggle — show cameras that are not currently active.
Include Excluded Sensors toggle — show cameras that have been manually excluded from HealthCheck monitoring.
Generate Report button — creates a downloadable HealthCheck report for the selected customer and site scope.
Camera Status States
Figure 2: HealthCheck Dashboard — summary cards (Checked Cameras, Healthy, Connection Failure, Black Screen, Low Light, Obstructed, No Reference Images) and camera grid view with Current / Reference image per camera
Figure 3: HealthCheck list view — Camera Name, Site, Device, Camera Type, Last time checked, Ref Image, State (Healthy / unavailable) and Actions
Figure 4: Camera detail view — current snapshot with timestamp, health status, breadcrumb navigation (Customer → Site → Device → Camera), and action buttons: Live View, Playback, Run Once, Attach Ref., Pause HealthCheck toggle
The platform provides three monitoring modes, each designed for a different level of operational maturity. The appropriate mode is selected per camera or inherited from a higher level in the platform hierarchy.
Figure 5: HealthCheck Plans — feature comparison across Basic (Foundational), Plus (Proactive) and Advanced (Predictive)
In Advanced mode, each camera snapshot is evaluated through an ordered sequence of checks. The pipeline executes checks in priority order — if an issue is detected at any step, that result is returned and all subsequent checks are skipped.
The following sections describe each HealthCheck in detail — including verdicts returned, capabilities, known limitations, and configuration parameters where applicable.
Figure 6: Check Specifications — the HealthCheck dashboard as referenced throughout Section 8; use the filter controls and camera list to locate specific cameras and review their per-check status
Determines whether the camera feed is too dark to be usable, or whether the camera appears completely offline.
Verdicts
Configuration Parameter
Scans dark frames for VMS overlay text that indicates a software-level feed failure, such as a missing license or no signal condition.
Verdicts
Identifies whether a snapshot originates from an audio-only device rather than a camera, preventing misclassification as an offline camera.
Verdicts
Detects calibration test patterns in the camera feed, which indicate the camera is in a test/setup state rather than delivering a live scene.
Verdicts
Detects washed-out frames caused by strong light sources, direct sunlight, or reflective surfaces entering the camera's field of view.
Verdicts
Detects physical blockage of the camera lens, such as spray paint, tape, cloth, or objects placed directly in front of the camera.
Verdicts
Detects whether a camera has been physically redirected or moved from its original pointing direction. Requires a reference image to compare against.
Verdicts
Recommendations for Best Results
Mask very bright areas outside the camera perimeter to reduce interference
Disable camera-side image preprocessing before capturing reference images
Disable on-screen overlays (timestamps, labels) where possible
Update reference images to account for seasonal or significant scene changes
HealthCheck settings can be applied at any level of the platform hierarchy. A camera always uses the most specific configuration available, falling back up the hierarchy if none exists at its level:
Service Provider → Customer → Site → Device → Sensor (Camera)
Example: If no HealthCheck setting exists at the camera (sensor) level, the platform falls back to the device level, then site, then customer, then the Service Provider default.
To subscribe cameras to HealthCheck, navigate to the desired level in the hierarchy tree and open the Analytics tab. Cameras at any level can be subscribed individually or in bulk using the Subscribe All option.
Figure 7: Analytics tab at Service Provider level — Camera Health Analytics v2 column showing active schedule (green checkmark + schedule name) and unsubscribed customers (red X)
Use Subscribe all to activate all cameras for a customer in one click.
When subscribing, select a schedule from the Time Range dropdown. Available options include daily, weekly, monthly, and once-a-day schedules. Select None to subscribe without a schedule (manual / on-demand only).
Figure 8: Update Analytics dialog — Subscribe / Unsubscribe action for Health Check+ with Time Range options (None, daily 12 hrs, Weekly)
Operators with appropriate permissions can trigger a HealthCheck manually at any time using the Run Once option. This is available in Plus and Advanced modes and does not require a scheduled interval to be configured.
9.4 Analytics Scheduler
The Analytics Scheduler tab lists all active scheduled HealthCheck jobs across all customers and sites, with the ability to delete individual schedules.
Figure 9: Analytics Scheduler — active HealthCheck schedule entries showing Name, Access Level, Analytics (Camera Health Analytics v2), Schedule time, Site and Actions
Log in to the platform and navigate to Configuration → the target level (Service Provider, Customer, Site, Device, or Sensor).
In the Analytics tab, locate the Camera Health Analytics v2 row. A red ✕ means the camera is not yet subscribed.
Click the settings icon to open the Update Analytics dialog. Select a schedule from the Time Range dropdown (or select None for manual-only).
Click Subscribe. The status column will update to show a green ✓ and the active schedule name. Use Subscribe All to activate all cameras under a customer in one action.
Suspend HealthCheck executions temporarily — useful during maintenance windows or planned downtime.
Pause vs. Tag
Use Pause for time-bounded exclusions with a known end date. Use Tag-based exclusion when the resolution date is unknown.
HealthCheck includes a built-in reporting engine that allows operators and administrators to generate and distribute camera health reports — automatically or on demand.
Reports can be generated in two ways:
Manually — click Generate Report from the HealthCheck interface at any time to produce an instant snapshot of current camera health status.
Scheduled — configure a recurring report schedule to have reports sent automatically, even when no issues are detected.
Figure 10: Reports Dashboard — Active Schedules (5), Reports Sent This Month (26,643), and Failed Deliveries (148), with schedule list showing Customers, Sites, Frequency, Next Run, Report Type, and Status
Scheduled reports support the following frequencies:
Daily
Weekly
Bi-weekly
Monthly
Reports are delivered according to the configured schedule regardless of whether any failures are detected. This ensures consistent SLA documentation and audit trails.
Each generated HealthCheck report includes the following information:
Report date and time range covered.
Site name and scope (customer / sites included).
Percentage of cameras operating normally — giving an at-a-glance health score per site.
Snapshot of the live view for each camera — showing the actual image captured during the check.
Sensor name, site details, and device information for every camera reviewed.
Connectivity issues — cameras that failed to respond during the check.
Obstruction detections — cameras where the view was fully or partially blocked.
Low light detections, black screen detections, and any other failed check types.
Each report schedule can be fully customized to match your organization's branding and delivery requirements:
Figure 11a: Schedule New Report — Step 1: Enter schedule name, choose to save as template, and select report type (System Healthcheck or Customer Success)
Figure 11b: Schedule New Report — Schedule Frequency: Daily, Weekly, Bi-Weekly, or Monthly, with time and timezone configuration
Figure 11c: Schedule New Report — Step 5 (Email & Review): Report Styling with Primary/Secondary Color pickers, Email Template from-address, and live Branding Preview
SLA validation — provide clients with scheduled proof that cameras are healthy and monitored.
Audit trail — maintain a record of system health over time for compliance and review.
Proactive communication — notify stakeholders automatically before they ask about system status.
HealthCheck is fully integrated with the GCX-ONE alarm management system. When a camera fails a HealthCheck — whether due to connectivity loss, obstruction, black screen, or low light — the platform automatically triggers an alarm without any manual intervention.
When a HealthCheck failure is detected, the system:
Generates an alarm and sends it to the operator queue immediately.
Classifies the alarm by failure type — for example, an offline camera triggers an event named "health failed connectivity issues", while an obstructed camera triggers an obstruction event.
Makes the camera available for direct inspection via the View action in the HealthCheck interface.
HealthCheck alarms can trigger automated workflows configured in the platform. Examples include:
Cameras, sites, and devices can be organized using Tags — labels with custom names, colors, and icons. Tags are designed for grouping high-priority or sensitive entities across different customers and sites. In the context of HealthCheck, tags work as follows:
Tag a site, device, or sensor — and optionally all entities below it (devices and sensors) — so the entire scope inherits the tag automatically.
Open HealthCheck filtered to a specific tag to see only the cameras that matter most for that zone or priority group.
Generate targeted HealthCheck reports scoped to a tag, ensuring stakeholders receive only the data relevant to their sites.
Save a custom Live View that combines tagged devices from different customers and sites into a single consolidated monitoring view.
Figure 12: Tags Management — create and manage tags with custom name, color, and icon; assign to customers, sites, or devices for targeted HealthCheck filtering and reporting
HealthCheck is not limited to fixed cameras. It can also be applied to the mobile tower infrastructure managed through Tower Guard. This means the same automated connectivity and health checks that run on cameras can be extended to the devices and sensors mounted on mobile towers — giving operations teams unified health visibility across both fixed and mobile deployments.
The following event codes are generated by the HealthCheck system and can be consumed by downstream alerting, notification, or integration workflows:
Select Advanced mode for high-security or high-value camera deployments where predictive maintenance is required.
Configure HealthChecks at the Customer or Site level to ensure full coverage without configuring each camera individually.
Review and update Tampering & Tilt reference images after any significant scene changes, camera maintenance, or seasonal shifts.
Disable on-screen overlays (timestamps, camera names) on cameras enrolled in Advanced mode to improve image analysis accuracy.
Use on-demand (Run Once) checks after any camera maintenance, repositioning, or infrastructure change to confirm cameras are healthy before returning to scheduled operation.
Monitor the HealthCheck dashboard regularly and set up alert notifications for Camera.health.fail events to ensure rapid response to failures.