Integrating with NX Witness
Welcome!
This is the Alarm Filter's guide on how to integrate with Network Optix's Nx Witness VMS. Follow the information below to help you get started.
Ensure that you have the following:
- Installers to Nx Witness' VMS server and desktop client
- A download of the OpenGL emulator library, version 23.1.0
First, run the installation from the download releases from https://meta.nxvms.com/download/releases/windows.
Run the server, localhost:7001, with client set to UI app.
Stop the server as a powershell admin. This can also be done in the server GUI at localhost: 7001 as well.
Then unzip the plugin folder with plugin dll. Be sure to extract all of the dependencies to where the server is installed.
After, start up the server
API on the server is available on (for localhost): https://localhost:7001/#/api-tool/main?type=1
⚠️ If the nx client is installed on a VM, it might not work without a workaround. You can first try to start the desktop client without the workaround.
Download the OpenGL emulation library (version 23.1.0).
To decide which package you need, MSVC or MinGW, please check the readme.md documentation. Extract the archive to a folder. Copy opengl32.dll, libglapi.dll, and libgallium_wgl.dll files. Paste the copied files to the folder where the Nx Desktop executable is located. Open CMD and enter this command to create the environment variable to enable OpenGL software rendering:
Set up rules to choose events to send to the Alarm Filter
Add event rules by right-clicking a camera, and then, click on Camera Rules in the context menu. This opens the dialog below.
Select an event of your choice, action should be http request to “irisityalarmfilter”. This will connect event and plugin action. That the request is sent when event happens is not of importance. The important thing is that the rule details in the server contains “irisityalarmfilter” so the plugin to know which events to search for in server while processing frames.

Possible to add multiple rules to a camera
Possible to add multiple cameras to a rule
To see more info add rule: diagnostic event, action show desktop notification:

Go to menu > system administration > plugins
This is the location where the API key is entered. One API key identifies the account in the Irisity Alarm Filter in which the alarms are to end up. One API key for all cameras.

Camera settings toggle plugin on or off, primary or secondary stream.
Nx might require to “enable recording” in camera settings or view the camera for nx to send frames to plugin
The plugin operates in the following manner:
The Alarm Filter requires 3 frames:
- When the event happens
- One second before the event happens
- Same second and one second after the event happens
When the plugin starts, this process will start up on the camera the plugin starts on. The plugin will also make a one-time search for a string "irisityalarmfilter" within the Nx server rules, which will also then find the Rule ID. In summary, for each camera the plugin runs on, it will find the Rule ID if the string matches.
- This integration is currently compatible with Nx server version 6
- The IDs of the cameras from the Nx Witness' GUID are generated from the camera itself, which means that it will be the same if the camera is removed from one server to another.
-