Skip to content

Integration

IRIS+ Essential is not only a stand-alone solution, but can be used in an integrated system as well. Each article contains valuable information about the required settings in IRIS+ Essential, as well as in the corresponding third-party software.

General concept

Components

The integration has 3 components:

  • IRIS+ Essential

  • a third-party application (preferably a VMS)

  • a Connector

Note: In this document, the Third party application is often referred to as VMS, however it can be any software with similar capabilities.

Topology

Integration Topology

IRIS+ Essential

  • Receives video streams from cameras.
  • Detects incidents.
  • Notifies the operator on its user interface.
  • Sends Event messages with metadata to an external API via HTTP.

VMS

  • Receives good quality video streams from cameras.
  • Stores video/Provides user interface for operators including incident management.
  • Has an interface to receive real time notifications (alarms/events) from external sources.

Connector

  • Dedicated to a specific VMS.
  • Usually running on the same machine as the VMS.
  • Associates streams registered in IRIS+ Essential with streams registered in the VMS (easier if the VMS provides a unique identifier for each camera).
  • Receives Event messages or pulls count data from IRIS+ Essential.
  • Converts IRIS+ Essential Events to a message which is readable by the VMS.

Capabilities

Capabilities are determined by both IRIS+ Essential and the VMS. The following information is available in the IRIS+ Essential Event’s metadata:

  • the incident’s solution type (e.g. Intrusion)
  • the timestamp of the incident
  • camera identifier(s)
  • the detections’ coordinates in the camera frame
  • confidence value - events with lower confidence can be filtered in order to decrease false positive alarms

This information is translated by the Connector component. The capabilities of the VMS may limit the forwarded information and the overall end user experience.

Example scenario

Setup

  • IRIS+ Essential is installed on an NVidia Jetson NX box.
  • The VMS is installed on a Windows server.
  • The Connector is installed on the same machine.
  • Both machines are on the same local network with fixed IP addresses.

The VMS is configured according to its own documentation with the following requirements:

  • Observed Cameras must be registered in both IRIS+ Essential and in the VMS. The VMS may use the primary stream of the cameras with higher resolution and FPS compared to IRIS+ Essential. A unique identifier should be memorized for each registered camera. The identifiers will be used in IRIS+ Essential configuration.
  • Access credentials for the connector.
  • All other settings in order to receive external events.

The Connector is configured according to its own documentation with the following requirements:

  • Access credentials for the VMS.
  • An unused port for its service.
  • The (network) location of the VMS interface.
  • Observed Cameras must be registered in both IRIS+ Essential and in the VMS. IRIS+ Essential often uses a secondary stream of the same camera with lower resolution and FPS.
  • Cameras’ Technical names must be set. Each technical name should be unique and should match the unique identifier of the same camera in the VMS.
  • The network address of the Connector (host, port) must be set in the alarm configuration.

Workflow

In this example, it is assumed Intrusion detection is used.

  1. An intruder enters an observed area.
  2. The camera stream is sent to IRIS+ Essential.
  3. IRIS+ Essential detects the intruder and immediately sends an Event to the Connector.
  4. The Connector converts the incoming Event and sends it to the VMS.
  5. The VMS triggers an alarm and notifies the operator.

Implementations

Video Management Systems (VMS)

Milestone XProtect and Mobotix HUB

Milestone XProtect is one of the most popular Video Management Systems. IRIS+ Essential is able to send alarms to this system so you can manage incidents in your well known platform. Mobotix HUB is also capable of receiving alarms - see the Milestone XProtect integration guide for configuration.

Genetec Security Center

The Genetec Security Center software suite is a leading Video Management System to which IRIS+ Essential has the capability to send alarms.

Nx Witness / DW Spectrum / Wisenet Wave

Nx Witness, DW Spectrum and Wisenet Wave are cross-platform IP video management systems / video surveillance software designed to discover, view, record, and manage IP video cameras. They allow integration with other AI, analytics and I/O devices - IRIS+ Essential being one of them.

Synectics Synergy

An open architecture platform, Synergy is designed to present and manage alarms, video, and transactional data from independent sub-systems.

Central Station Monitoring (CSM) services

Immix CS

Immix CS is a software able to operate in Central stations and consolidates a wide range of security products into one operator interface.

SureView Response

SureView is a Software-as-a-Service able to provide a single screen to coordinate alarms and events that comes into a Security Operations Center from any source. IRIS+ Essential is able to interface with it.

Sentinel

Sentinel is a state of the art alarm handling Alarm Monitoring Software by Monitor Computer Systems.

Custom Solutions

Google BigQuery

Google BigQuery is a serverless data warehouse providing scalable data analysis. Solutions can export their output to be monitored live in BigQuery.

Ultinous API

Alarm API

This guide will aid developers in order to receive and process alarms triggered by IRIS+ Essential to be integrated with their custom solution.

Counter API

For people and vehicle counting.

IRIS+ Essential's measurement-based counters are designed to be used with custom third party software. Read the Counter API guide to learn how the data created by the counters can be read from IRIS+ Essential.

Traffic Counting API

For counting people and vehicles entering and exiting a set area. The data produced by Traffic Counter can be accessed by third-party tools - see the Traffic Counting API and Google BigQuery sections for integration instructions.

Metadata Output API

For monitoring the metadata of detections. Use it to utilise IRIS+ Essential's detection and tracking features without alarms generated - see the Metadata Output API section for instructions.

Alarms via E-mail

IRIS+ Essential can be configured to send alarms via e-mail. This enables you to use IRIS+ Essential in conjunction with e-mail notifications, or omit the use of IRIS+ Essential altogether. The service can be set up to be used by either human beings or automated systems.

Video Output

IRIS+ Essential offers the possibility of producing annotated RTSP streams of registered input cameras, which can be used in Video Management Systems or via tools such as ffmpeg. See the Video Output section for instructions.

Monitoring

SNMP

SNMP settings are available in the Control Panel.

Status via HTTP API

You can programmatically acquire several metrics from the IRIS+ Essential via its HTTP API.

The response contains a JSON object with the available metrics. Integrating applications should accept unknown keys in the response, as new metrics may be added in later versions.

The endpoint is authenticated via API token in the Authorization header, see here.

Standard HTTP response codes are used:

  • 200 for successful response
  • 401 for authentication failure
  • >=500 if the API could not respond due to error

The following example uses curl to test if the IRIS+ Essential API endpoint is reachable.

1
curl  -H 'Authorization: Bearer <API token>' -H 'Accept: application/json' 'http://<address-of-ualarm>/API/system/status'

or, if HTTPS is configured

1
curl  -H 'Authorization: Bearer <API token>' -H 'Accept: application/json' 'https://<address-of-ualarm>/API/system/status'
Response body example
{

  "sysuptime": 78792, //< system uptime in seconds

  "avgcpu": 22, //< average CPU utilization

  "avggpu": 0,  //< average GPU utilization (used by video analitics)

  "ram_available_megabytes": 4900,    //< unused RAM

  "ram_used_megabytes": 7859,         //< RAM usage

  "ram_used_pcnt": 38,                //< RAM used percentage

  "ualarm": {

  "systemstatus": 1, //< 1=OK, 2=ERROR

  "videostorage_total_bytes": 491182010368,  //< storage assigned for Event videos

  "videostorage_free_bytes": 401370316800,   //< storage free

  "videostorage_used_pcnt": 19,              //< storage used percentage

    "systemstatus_msg": " ",  //< if systemstatus is 2, a message describes it.

    "cameras_statuses": [
      {
        "id": "cam5",
        "display_name": "display name of cam5",
        "technical_name": "technical name of cam5",
        "problems": []
      },
      {
        "id": "cam7",
        "display_name": "Garage",
        "technical_name": "garage cam",
        "problems": []
      }
    ]
  }
}