i-PRO Active Guard integration guide

 

Table of contents


 

Overview


3rd party camera extension software developed for the i-PRO camera can be used in the i-PRO Active Guard system with Video Insight, Genetec and Milestone.

More detail about i-PRO Active Guard is here.

This document is targeted at i-PRO camera extension software developer, how to implement the extension software that works with i-PRO Active Guard system, especially scopes the specific data format using i-PRO camera’s API.

Basic introduction about development is here.

 

System structure and features


Following features will be available on VMS.
・Show the event on VMS (date/time, camera, event name and some details)
・Configure rule based action
・Search alarm history

 

How to implement extension software for i-PRO Active Guard system


Applicable type of extension software

Only a type of extension software for event notification with some additional information can be applied. More advanced features (like object classification or counting) or functions (ex. bounding box) are not supported.

Sample application

Sample application for easy implementation is included in SDK package.

src/adamapp/active_guard_sample_app

src/adamapp-py/active_guard_sample_app

Camera API to use

i-PRO camera’s API “AdamApp API” includes the interface for 3rd party to notify event to external software via ONVIF(*1) meta data stream protocol.

The API “ADAM_MetaDataStream_SetRaw( ST_ADAM_METADATA_STREAM_RAW* pData )” is used for this integration. When the extension software detects the event and use this API, the data will be sent to iPRO Active Guard server and i-PRO Active Guard server also notify to VMS server

Please refer to API manual for more details.

(*1) : ONVIF is a trademark of ONVIF, Inc

E_ADAM_METADATA_TYPE

“ADAM_METADATA_TYPE_EVENT” is used for i-PRO Active Guard integration.

m_pData

“m_pData” should represent the event in ONVIF defined XML data format. Integration with i-PRO Active Guard is achieved by implementing according to the format described in this document.

Example of notification

<?xml version="1.0" encoding="UTF-8"?>
<tt:MetaDataStream xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:xsd="http://docs.onvif.org/ver10/schema">
<tt:Event>
<wsnt:NotificationMessage>
<wsnt:Topic Dialect="http://www.onvif.org/ver10/tev/topicExpression/ConcreteSet" xmlns:tns1="http://www.onvif.org/ver10/topics">tns1:AppEvent/SampleApplication/SampleDetection</wsnt:Topic>
<wsnt:Message>
<tt:Message UtcTime="2023-01-17T17:00:00.000Z">
<tt:Source>
<tt:SimpleItem Name="VideoSource" Value="VideoSourceConfig" />
</tt:Source>
<tt:Data>
<tt:SimpleItem Name="Event detail" Value="Detected size 84x120" />
<tt:SimpleItem Name="Likelihood” Value=“0.8" />
<tt:ElementItem Name="Image">
<xsd:base64Binary>(base64 encoded jpeg image)</xsd:base64Binary>
</tt:ElementItem>
</tt:Data>
</tt:Message>
</wsnt:Message>
</wsnt:NotificationMessage>
</tt:Event>
</tt:MetaDataStream>

Parameter Name

value

Description

Requirement Level

Parameter Name

value

Description

Requirement Level

Topic

tns1:AppEvent/{AppName}/{ EventName}

AppName: Application name. Event name: Event name. This name is shown on VMS. *App name is up to 256 characters using alpha-numeral, hyphen, under score and period as camera's SDK specification. App name is necessary to match "EXTAPP1"or"EXTAPP2"or ... in the response of "/cgibin/getinfo?FILE=1" from camera.

Mandatory

tt:Message> UtcTime

yyyy-mm-ddThh:mm:ss.fffZ

Timestamp of the event in UTC format. *i-PRO Active Guard server will overwrite the time when receiving the event.

Mandatory

tt:Message>tt:Data> tt:SimpleItem> Event Detail

string (up to 32 characters)

Additional information about the event. This value is shown on VMS

Optional

tt:Message>tt:Data> tt:SimpleItem> Likelihood

0.0-1.0

Likelihood value related to the event. This value is shown on VMS.

Optional

tt:Message>tt:Data> tt:ElementItem> Image

Base64 encoded jpeg image

(e.g. Cropped image of the detected object) This image is shown on VI and Milestone but not shown on Genetec.

Optional

*If the application does not use “Event detail”, “Likelihood” and “Image”,<tt:Data> are no need.

 

How to check implementation


After implementation, you can check if the camera sends data correctly not using tool “ResourceMonitorExtension” included in the camera SDK package. Enter “rtsp://<ip>/Src/MediaInput/stream_1?event=1” for “RTSP-URI”.

VMS and i-PRO Active Guard software are not required for this confirmation.

Please refer to the i-PRO Active Guard Setup manual for each VMS how to configure the system. Appendix describes how to set up the extension software on i-PRO Active Guard server and VMS.