V2/Integrate/XProtect Video
Contents
Senfi XProtect Video Adapter
The Senfi XProtect Video Adapter is available to onboarded partners only. If you would like to join as a Senfi partner, please send us an email with your organization name and contact details.
General
The Senfi XProtect Video Adapter provides Senfi integration with the Milestone XProtect Video Management Software.
Features include:
- View live video streams in Senfi
- Send PTZ commands to PTZ camera from Senfi
- Forward and synchronize XProtect alarms to/from Senfi
Senfi XProtect Video Adapter supports XProtect 2018 and later only.
Milestone XProtect Video Management Software Basics
Milestone XProtect is a Video Management Software (VMS) product offered by Milestone Systems A/S. For more information, view here
In the rest of this document, "XProtect" will be used to refer to an installed instance of Milestone XProtect.
XProtect Devices
Several device types can be added to XProtect. The supported device types are:
- Camera devices
- Streams video
- Can have Pan-Tilt-Zoom (PTZ) capability
- Can raise events related to video/video analytics. e.g. Motion Detected Event
- Input devices
- Simple 2-state/binary devices e.g. Tamper detection, momentary trigger
- Can raise events related to changes of its state e.g. Input Rising Event
Note: Devices can also raise other system, device-specific or custom events, but their discussion is beyond the scope of this article.
XProtect Alarms
XProtect devices can raise Alarms from Events. Alarms will be shown in the Milestone XProtect Smart Client's Alarm Manager. Alarms have a name, which is used to identify the type of alarm (i.e. an alarm definition).
Alarms have 4 default states. Users can also add additional alarm states.
- New
- Acknowledged
- On Hold
- Closed
Alarms can be configured with a "related camera". This is mapped to each device that can raise a particular alarm.
Triggered alarms also contain other data such as:
- Local ID
- Priority
- Category
- Description
- Timestamp
Steps to Install and Configure Senfi XProtect Video Adapter
Installation
- Request for a copy of the Senfi XProtect Video Adapter installer by sending an email to us.
- Run the installer on a Windows machine. It uses the following ports by default: 22020, 10085, 10086, 10087.
- After installation, Senfi XProtect Video Adapter can be accessed with the following URL: http://localhost:22020/ui/login
- Users can also use the Start Menu to access this page: Start -> Senfi XProtect Video Adapter (folder) -> Senfi XProtect Video Adapter
Generate Integration Key-Secret Pair
A Senfi API Key and associated secret is required to login/register the Senfi XProtect Video Adapter. View here to generate an integration key/secret pair in the CMS.
Login Page
- Server/Gateway Hostname - This should be app.senfi.io
- Login via your Senfi API Key and associated secret pair.
- If you require proxy, please send us an email with your organization name and contact details for further instructions.
Setup Page
This page is used to register the Senfi XProtect Video Adapter with Senfi.
Fill in:
- Server/Gateway Hostname - This should be app.senfi.io
- Video Adapter Name
- Integration Key - Your Senfi API Key
- Secret - Secret to your Senfi API Key
After registration, you will see a Video Adapter ID. The ID and Video Adapter Name will be shown in the Senfi CMS Video page when you use the CMS to configure site/asset to video stream.
Click Setup XProtect to continue.
XProtect Config
This page is used to configure the connection to the Milestone XProtect server
Fill in:
- XProtect Server hostname or IP address
- XProtect Server port - 80 (Default)
- XProtect Account Username - Username to an Administrator account on the XProtect server
- XProtect Account Password - Password to above
- XProtect Account Domain (Optional) - Fill this in if your XProtect account is a domain LDAP account
- Credential Type - Windows or Basic Account
- Management Server Encrypted – If XProtect server has SSL enabled (e.g. using https), select “Yes”
- Event Server Encrypted – If XProtect server has SSL enabled (e.g. using https), select “Yes”
- XProtect Adapter hostname or IP address - localhost (Default/Cannot be modified)
- XProtect Adapter port - 8732 (Default/Cannot be modified)
- XProtect Adapter Streaming Base Port - 49152 (Default)
Click "Update Configuration" to set or change the configuration. If successful, the page will show "Connected to XProtect Server: <IP/Hostname>".
Video
The Video page is used to configure live video from XProtect that will be available for streaming to Senfi.
To add a new Stream
- Go to the "Video" tab.
- Click "Stream +". The Stream > Add New page will appear.
- Specify
- Stream Name
- Stream Type (XProtect)
- Select from the list of cameras in the XProtect server
- If the selected camera has PTZ capability, you can check the "PTZ" checkbox to enable PTZ capability in Senfi
- Preview stream by selecting "PREVIEW" beside "Source URL" (Optional).
- Select "ADD" to add stream.
Note:
- This is similar to Video Adapter
- Only "On Demand" state is available.
Alarm
The Alarm page is used to configure XProtect alarms which will be raised as Senfi External Events. Following is the pipeline of how XProtect alarms will be raised as Senfi External Events:
- Something happens to/in a XProtect device
- An alarm is raised by XProtect
- Senfi XProtect Video Adapter is notified
- If an External Event has been configured for the XProtect Alarm and alarm state combination, and that External Event has been selected as raisable for the XProtect device, a Senfi External Event is generated by Senfi XProtect Video Adapter.
- If the External Event (assuming that the External Event is linked to a Senfi Asset in the CMS) has been configured to raise a Senfi Alarm, a Senfi Alarm is raised.
View link for discussion of Senfi's External Events.
The Alarm page is split into 2 tabs:
- Alarm - To configure XProtect Alarm/Alarm state combination mapping to Senfi external event (i.e. which external event to be sent)
- Device - To configure XProtect device mapping to Senfi external event (i.e. which XProtect devices can send which external events)
XProtect Alarm Tab
In this tab, a list of XProtect alarm definitions configured on the XProtect Server are shown. To forward an alarm/state combination to Senfi as an external event:
- Click the Pencil icon on the desired XProtect alarm
- In Senfi Event Raised, select + EVENT FOR INCOMING ALARM - 1 Senfi event will be added to be generated when a New alarm is received by the adapter.
- Fill in Name - Name of external event in Senfi
- A standard input and description has been auto-filled to be displayed in the eventual alarm in Senfi. To modify, change in Advanced section:
- Inputs - Select from list of XProtect alarm data you want to use for inputs in the eventual Senfi alarm's description
- Description - Description of the eventual Senfi alarm, with embedded per-alarm-instance inputs
- Click SAVE & EXIT
This tab only configures XProtect Alarm/State combo to Senfi External Event mapping. To associate Senfi External Event from a particular XProtect device to be sent to Senfi, go to the XProtect Device tab.
Milestone Device Tab
In this tab, a list of Milestone camera and input devices configured on the Milestone Server are shown.
To map mapped alarms (configured in the Milestone Alarm Tab) from Milestone devices to Senfi assets:
- Click the Pencil icon on the desired Milestone device
- Write down the source_id for the corresponding Milestone Device. You will need this information later when configuring Senfi assets in the CMS.
- In Senfi Event Triggered, select one or more mapped Senfi External Event that this Milestone device will trigger in Senfi.
- Click SAVE & EXIT
Note: In Step 3, all Senfi External Event mapped by this adapter will be shown. This may include events that cannot be raised by the selected Milestone Device (e.g. a Camera raising an input triggered external event mapped to a Milestone input alarm)
Backup & Restore
To backup configuration, click BACKUP
To restore from previously downloaded backup config file, click RESTORE
To remove all streams and reset settings to factory default, click RESET TO FACTORY DEFAULT
Steps to Use Configured Milestone Video and External Events in Senfi CMS
To use the configured video and external events in Senfi, additional configuration needs to be performed in the Senfi CMS.
Associate Video Adapter to Site in CMS
- Go to the Video Page
- In the VIDEO ADAPTER tab, find the Name (or Video Adapter ID) of the Senfi Milestone Video Adapter, and click the Pencil icon
- Select the Site to associate this video adapter with
- Optionally, provide a description
- Click the Tick arrow to save.
Link Video Streams to Asset in CMS
- Edit the Asset
- Click + STREAM
- Select the Milestone video camera in the drop down list
- Select whether to Allow PTZ if PTZ has been enabled.
- Preview stream by selecting "PREVIEW" beside "Source URL" (Optional).
- Click SAVE & EXIT
Link External Event to Asset in CMS
For External Events generated by Senfi Milestone Video Adapter to be attributed to a Senfi Asset, the Senfi Asset must be configured with an External Event source, with the source_id you written down in the "Milestone Device Tab" section Step 2.
- Edit the Asset
- Click + EVENT
- Select the External Event in the drop down list
- User Tags, enter the source_id of the Milestone device. This is the source_id you have written earlier in "Milestone Device Tab" Step 2
- Click SAVE & EXIT

