Configure Sentinel MJPEG Streaming

A useful technique when integrating Witness with third party CCTV systems is to provide the Sentinel UI as a video stream to the recording system just like any other camera. This enables the UI to be recorded alongside the CCTV video streams. This offers the capability to play back all the streams, including the UI to fully review an incident. It also provides an alternative approach to storing lots of tracks in the Witness database. The UI recording can be stored for as long as the normal CCTV video giving access to all track movement over that period.

The MJPEG streaming protocol is not supported by all clients therefore compatibility should be checked. For testing purposes, both the Chrome browser and VLC support MJPEG.

Step-by-step guide

  1. Find the file Witness.Sentinel.Settings.xml in the main Witness application folder.

  2. Edit the file using a text editor, such as Notepad or preferably an application which is XML aware, such as Notepad++.

  3. Within the file find the element <ImageServer> and make the following changes:

    1. Change Enabled to True to switch the server on.

    2. Change the Port to send the stream over. The default is 8090.

    3. Change FramePeriodMs to set the frequency of sampling. This value is in milliseconds and is 250ms by default which equates to a 4Hz frame rate.

  4. The resulting XML section should look like this:

Witness.Sentinel.Settings.xml
<ImageServer> <Enabled>True</Enabled> <Port>8090</Port> <FramePeriodMs>250</FramePeriodMs> </ImageServer>

Sentinel must be open for the streaming to work. Therefore procedures should be put in place to ensure Sentinel is restarted after a power cut or system restart. Also bear in mind that the streaming facility sends exactly what is displayed on the Sentinel UI - so to ensure the capture is sensible we would recommend that the UI is preset with a sensible zoom level and position so the recording can include the entire site.