Required Web API for 3rd party VMS
Get camera list (mandatory)
Camera ID is important to associate the metadata obtained from the i-PRO Active Guard server with the video data recorded on VMS server.
i-PRO Active Guard server needs to get camera information including camera ID from VMS server by WEB API.
- HTTP or HTTPS ( Selectable on i-PRO Active Guard server’s web)
- HTTP method : GET
- Port number: any number ( Customizable on i-PRO Active guard configuration)
- Authentication: Digest or Basic authentication
- Content-Type: application/json
- URL: {any URL} ( Customizable on i-PRO Active Guard server configuration file)
Response data should include camera ID, camera name, camera model, IP address and camera channel (for multi-sensor cameras).
Example of expected response from VMS server for get camera list API.
[
{
"ID": "ddcfde70-5808-4abb-a39a-d169c3b6f630",
"CameraName": "Parking log north direction",
"Model": "WV-S8544",
"IPAddress": "192.168.0.10",
"CameraChannel": "0",
},
{
"ID": "ba712a9b-4463-4b42-8eaa-f16efed5687e",
"CameraName": "Parking lot east direction",
"Model": "WV-S8544",
"IPAddress": "192.168.0.10",
"CameraChannel": "3",
}
]
Note
Json key for each field varies depends on VMS API specification, and the json key that i-PRO Active Guard server reads can be customized by editing configuration file.
For example , "ID", will be "CameraID","camera_id" and so on.
Receive alarm notification (optional)
i-PRO Active Guard server has function to notify following events.
When VMS server has WEB API to receive alarm, these events can be integrated on VMS.
- HTTP or HTTPS ( Selectable on i-PRO Active Guard server’s web)
- HTTP method : POST
- Port number: any number ( Customizable on i-PRO Active guard configuration)
- Authentication: Digest or Basic authentication
- URL: {any URL} ( URL can be customized on i-PRO Active Guard server side)
- Data format in HTTP body : XML format
Supported alarm event
Event type | Required camera application |
---|---|
Registered face detection | AI Face detection |
Registered people detection | AI People detection |
Registered vehicle detection | AI Vehicle detection |
Registered license plate detection | Vaxtor LPR |
Unregistered license plate detection | Vaxtor LPR |
License plate detection | Vaxtor LPR |
Advanced registered vehicle detection | Vaxtor LPR |
Registered code detection | Vaxtor OCR Genesis |
Unregistered code detection | Vaxtor OCR Genesis |
Code detection | Vaxtor OCR Genesis |
Registered container detection | Vaxtor OCR Container |
Unregistered container detection | Vaxtor OCR Container |
Container detection | Vaxtor OCR Container |
Advanced registered container detection | Vaxtor OCR Container |
Supported system event
- System error
Error that i-PRO Active Guard server detects. (ex. camera connection error between camera and i-PRO Active Guard server) - Exceed the receiving data limit (data loss)
When the data exceeds the setting value for "Max frequency of receiving object data (per sec)". - Reach the max usage of image storage drive (delete old images)
When the usage of image storage drive exceeds the setting value for "Max usage of image storage drive (GB)".
Registered face detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Registered face detection</AlertName>
<Image1Name>Detected face</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Image2Name>Registered face</Image1Name>
<Image2Data>(base64 encoded jpeg image) </Image1Data>
<Category>VIP</Category>
<Other1>0.99</Other1>
<Other2>293e4005-d5fe-4133-a923-4ab06cd6baf5</Other2>
</Alarm>
<Other1>: similarity value of matching, 0 to 1.
<Other2>: watchlist ID
3rd party VMS can get more details about this watchlist such as name, age, gender and so on by sending API "POST /ai/v1.0/matchinglist/list" to i-PRO Active Guard server with the ID.
More details about Web API specification.
Registered people detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Registered people detection</AlertName>
<Image1Name>Detected people</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Category>Registered people detection</Category>
<Other2>293e4005-d5fe-4133-a923-4ab06cd6baf5</Other2>
</Alarm>
<Other2>: watchlist ID
3rd party VMS can get more details about this watchlist such as name, registered attributes and so on by sending API "POST /ai/v1.0/matchinglist/list" to i-PRO Active Guard server.
Registered vehicle detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Registered vehicle detection</AlertName>
<Image1Name>Detected vehicle</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Category>Registered vehicle detection</Category>
<Other2>293e4005-d5fe-4133-a923-4ab06cd6baf5</Other2>
</Alarm>
<Other2>: watchlist ID
3rd party VMS can get more details about this watchlist such as name, registered attributes and so on by sending API "POST /ai/v1.0/matchinglist/list" to i-PRO Active Guard server.
Registered license plate detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Registered license plate detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Image2Name>Registered owner image</Image1Name>
<Image2Data>(base64 encoded jpeg image) </Image1Data>
<Category>VIP</Category>
<Other1>(Detected license plate number)</Other1>
<Other2>(watchlist ID)_(Plate ID)</Other2>
</Alarm>
<Other2>: (watchlist ID)_(Plate ID)
3rd party VMS can get more details about watchlist such as name and so on by sending API "POST /ai/v1.0/matchinglist/list" to i-PRO Active Guard server. Details about the licnese plate by API "/ai/v1.1/licenseplate/list" as well.
Unregistered license plate detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Unregistered license plate detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Category>VIP</Category>
<Other1>(Detected license plate number)</Other1>
</Alarm>
License plate detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>License plate detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Other1>(Detected license plate number)</Other1>
</Alarm>
Advanced registered vehicle detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Registered advanced vehicle detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Category>Registered advanced vehicle detection</Category>
<Other1>(Detected license plate number)</Other1>
<Other2>293e4005-d5fe-4133-a923-4ab06cd6baf5</Other2>
</Alarm>
<Other2>: watchlist ID
3rd party VMS can get more details about this watchlist such as name, registered attributes and so on by sending API "POST /ai/v1.0/matchinglist/list" to i-PRO Active Guard server.
Registered code detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Registered code detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Image2Name>Registered image</Image1Name>
<Image2Data>(base64 encoded jpeg image) </Image1Data>
<Category>(Registered group name)</Category>
<Other1>(Detected code)</Other1>
<Other2>(watchlist ID)_(Plate ID)</Other2>
</Alarm>
<Other2>: (watchlist ID)_(Plate ID)
3rd party VMS can get more details about watchlist such as name and so on by sending API "POST /ai/v1.0/matchinglist/list" to i-PRO Active Guard server.
Unregistered code detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Unregistered code detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Category>(Registered group name)</Category>
<Other1>(Detected code)</Other1>
</Alarm>
Code detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Code detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Other1>(Detected code)</Other1>
</Alarm>
Registered container detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Registered container detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Image2Name>Registered image</Image1Name>
<Image2Data>(base64 encoded jpeg image) </Image1Data>
<Category>(Registered group name)</Category>
<Other1>(Detected container)</Other1>
<Other2>(watchlist ID)_(Plate ID)</Other2>
</Alarm>
<Other2>: (watchlist ID)_(Plate ID)
3rd party VMS can get more details about watchlist such as name and so on by sending API "POST /ai/v1.0/matchinglist/list" to i-PRO Active Guard server.
Unregistered container detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Unregistered container detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Category>(Registered group name)</Category>
<Other1>(Detected container)</Other1>
</Alarm>
Container detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Container detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Other1>(Detected container)</Other1>
</Alarm>
Advanced registered container detection
Example
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>Registered advanced container detection</AlertName>
<Image1Name>Detected whole image</Image1Name>
<Image1Data>(base64 encoded jpeg image) </Image1Data>
<Category>Registered advanced container detection</Category>
<Other1>(Detected container)</Other1>
<Other2>293e4005-d5fe-4133-a923-4ab06cd6baf5</Other2>
</Alarm>
<Other2>: watchlist ID
3rd party VMS can get more details about this watchlist such as name, registered attributes and so on by sending API "POST /ai/v1.0/matchinglist/list" to i-PRO Active Guard server.
System event
Example of system error
<?xml version="1.0" encoding="utf-8"?>
<Alarm xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EventTime>2022-07-29T07:53:50.876Z</EventTime>
<CameraID>ddcfde70-5808-4abb-a39a-d169c3b6f630</CameraID>
<AlertName>i-PRO Active Guard Server system error</AlertName>
<Category>AI server error</Category>
<Other1>{Detail description}</Other1>
</Alarm>
In case of "Exceed the receiving data limit (data loss)" and "Reach the max usage of image storage drive (delete old images)" events, <Alert name> will be "AI server reach the max disk space" and "AI server exceed the receiving data limit" respectively.