0% found this document useful (0 votes)
175 views

BriefCam v6.2 Next-Gen Engine

Uploaded by

Nam Cao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
175 views

BriefCam v6.2 Next-Gen Engine

Uploaded by

Nam Cao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

TRANSFORMING VIDEO SURVEILLANCE

INTO ACTIONABLE INTELLIGENCE

BriefCam®
Next-Gen Video Analytics Engine

February 2022
TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

Contents
Introduction........................................................................................................................ 3
Benefits ............................................................................................................................. 3
Configuration ...................................................................................................................... 4
Architecture ........................................................................................................................ 5
Deployment ........................................................................................................................ 7
Prerequisites ............................................................................................................. 7
Windows Server ......................................................................................................... 7
Linux Server .............................................................................................................. 8
Install NGINX............................................................................................................. 8
Configuration............................................................................................................. 8
Milestone Configuration............................................................................................... 11
Limitations......................................................................................................................... 12
Rollout Phases.................................................................................................................... 13

P age 2 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

Introduction
BriefCam v6.2 debuts the new OX6 Next-Gen engine for real-time processing (performed on alert
processing servers). The new engine, which runs on Linux, uses a state-of-the-art approach and more
modern technologies to provide better accuracies and new capabilities and features.

Note: The first Next-Gen engine release is available for use with Milestone and Genetec plugins only.

The OX5 real-time engine cannot be used together with the OX6 real-time engine.

Benefits
The new engine provides many benefits, including:
• Optimization for real-time processing, providing faster alerts. The Next-Gen engine will not
offer Real-time alerts, but only Smart alerts and People Counting alerts. Smart alerts will
be received within 5 seconds of the rule being triggered and will use all available filters.
• Improved real-time throughput of approximately twice the number of real-time channels
when compared to the OX5 engine.

P age 3 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

o The Next-Gen engine can handle low-FPS streams.


o Less GPUs are needed resulting in lower hardware cost of ownership, enabling more
channels on existing hardware. The Next-Gen engine can handle at least 27 real-time
channels (1080p at medium activity) per RTX 4000 GPU.
• Enables scalability with a modular architecture. The smaller minimum footprint enables
running parts of the Next-Gen engine on edge devices, such as the AXIS camera.
• Improved people detection and tracking accuracy. Since the Next-Gen uses skeleton
detection (instead of bounding boxes), the accuracy of people detection and tracking is
improved resulting in:
o Better localization of the person’s feet (even if they are obscured) for better line-
crossing, path, and proximity accuracy
o Better separation of people in groups
o Better detection of partially obscured people
o Better tracking of people (tracking is assisted by pose analysis)
• Longer dwell time. The Next-Gen engine handles static people and vehicles better than the
OX5 engine. Therefore, the maximum dwell alerting time was increased to 10 minutes
(instead of 2). Note that it is recommended to only use the increased dwell time in the
RESPOND module, because in v6.2, the REVIEW module still uses the OX5 engine.
• Linux version for improved throughput and reduced OS cost.

Configuration
BriefCam’s engine has two modes – on-demand and real-time. These modes are used by the different
modules as follows:
REVIEW RESPOND RESEARCH

On-Demand Run Now, Daily, X Run Once, Daily,


Weekly Weekly

Real-Time X Continuous, Run Continuous


Once, Daily, Weekly

In BriefCam v6.2, the administrator can decide whether to run the real-time progressing using the OX5
engine (“standard” mode) or the new OX6 real-time engine. To use the new engine, the administrator
needs to set the EnableOX6Realtime environment setting to true.

P age 4 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

If this is selected, the real-time processing (RESPOND and real-time RESEARCH) will be done by the OX6
real-time engine and the on-demand processing (REVIEW and on-demand RESEARCH) will be done by the
OX5 on-demand engine.
Along with the switching of the underlying engine, some aspects of the UI will also change when
switching to OX6 – for example, there will be only one alert type (Smart Alerts) in the rule creation
wizard.

Architecture
A BriefCam Next-Generation deployment includes, at minimum, a Linux processing server and a Windows
BriefCam main server (or system of servers).
The main component that supports the real-time Next-Gen engine is the OX6 Alert Processing Server. This
server, running Linux, hosts the GPUs and performs the actual processing and replaces the OX5 Alert
Processing Server. When setting the system to run with the OX6 engine and activating the OX6 Alert
Processing Service, these OX6 Alert Processing Servers will start taking on real-time processing tasks
similar to the OX5 Alert Processing Server functionality.

The OX6 Alert Processing Server will be installed using Kubernetes and can also host GPUs allocated to
Edge Post-Processing, which is required by BriefCam’s Axis Edge Analytics offering.

An Axis camera and the Next-Gen engine cannot be run on the same GPU.

For more information about the Axis offering, see the BriefCam Edge Analytics on Axis document.

P age 5 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

The diagram below depicts a basic deployment using the Next-Gen engine.

The OX6 alert processing server (or servers) runs on Linux inside a container and is managed by
Kubernetes, which manages a cluster of machines and a pool of GPUs.
Mosquitto, which is a third-party message broker using MQTT technology, passes the
messages/notifications from the Task Management service to the processing servers.
NGINX functions in this architecture as a load balancer.
Let’s see how this works when a user creates a rule in BriefCam:
1. The Task Management service sends/distributes processing tasks to the processing servers using
Mosquitto.

P age 6 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

2. Each processing server then needs to get the live stream. The VMS Adaptor service is responsible
for translating the Windows SDK method of working to Linux based. It is the bridge between
existing integrations plugins (currently only Milestone and Genetec are supported) and RTSP live
streams expected by the Next-Gen engine.
3. The new engine starts to process the stream using two services: OX6.AlertRuleMatching and
OX6.VideoProcessingGateway.
4. Via NGINX, the two Next-Gen services distribute the alerts, write the objects, and more.
5. Kubernetes manages the cluster of servers. When you want to add more processing servers, you
do not add each server individually, but rather the Kubernetes management layer knows all of the
various hosts and can scale – by easily adding new applications on the hosts, remove/move
applications.

Deployment
Prerequisites
A minimum of two machines (virtual or physical) is required to use the Next-Gen engine:
1. One server that runs Windows. Note that a GPU is not needed on the Windows machine
unless on-demand processing is required.
2. One server that runs Linux Ubuntu (Ubuntu 20.04 Server or Desktop) with a GPU. This
machine will run the OX6 engine. Note that the Linux GPU is for real-time (RESPOND and
continuous RESEARCH) processing only.
o All machines with a GPU must have a supported version of the NVIDIA driver (495.46
or higher) installed on it.

Windows Server
You first must configure the Windows Server.
On the Windows server, carry out the following steps in this order:
1. Install BriefCam (Database, Server, Web Services).
2. Install Mosquitto. If the environment includes multiple Windows servers, Mosquitto only needs
to be installed one of the Windows servers.
a. Download Mosquitto v1.6.12 Windows x64 (this is the only version supported):
https://mosquitto.org/files/binary/win64/mosquitto-1.6.12-install-windows-x64.exe
b. Run the Mosquitto installer.

P age 7 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

c. Click Next to install Mosquitto in the default location and click Install.

Linux Server
After you’ve installed the Windows server, you’ll install the Linux server by carrying out the following steps
in this order:
1. Install Kubernetes and configure the cluster. If your environment includes multiple Linux
servers, you only need to do this step on one Linux server.
a. Download the Kubernetes package (install_k8s.sh) and save it on the Linux machine.
b. Run the following Linux command in the directory where the installer was saved (in
step a): chmod +x install_k8s.sh
c. Run the following Linux command:

sudo ./install_k8s.sh --mode local --adminapi [IP address of the Windows machine] --
admin_password [BriefCam Administrator Console password] --UK1 [secret key 1] --
UK2 [secret key 2]

The secret keys will be provided by BriefCam.


2. Make sure that you see a success/failure message after the installation is complete.
3. Note: Logs are saved on the host machine at /var/log/bc_logs.

Install NGINX
Next, you’ll install NGINX on a separate machine or the Windows machine. When installing a small site,
you will usually install NGINX on the same server where the web services are installed. For larger sites,
NGINX should be installed on a dedicated machine.

Configuration
1. On the Windows machine, log into the BriefCam Administrator Console
(http://xxx.xxx.xxx.xxx/admin or http://[computer name]/admin) with the
following initial credentials:
o Username: Administrator
o Password: changeit
2. Change the password.
3. From the Environment Settings section, set the EnableOX6Realtime environment setting
to true.

P age 8 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

4. From the Deployment section, open the Hosts screen.

5. On the Windows host, click on the settings icon and select the OX6 Main Server
template.

This will select all the relevant services including the four OX6 services:

6. From the Linux host, click on the settings icon and select the OX6.Alert Processing
Server service.

P age 9 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

7. Open the GPUs section, then the OX6 GPUs tab and configure the RT GPUs column (the
number of Alert Processing (Real-time) GPUs to allocate out of the pool) and the Workers
Per RT GPU column (the number of real-time workers to allocate for each real-time GPU).
You must make sure that there are enough GPU resources by comparing the pool size and the
assigned GPUs.

Note that the pool size in does not change to reflect the actual state of GPUs – but is a
snapshot of when the system was installed.

8. Set the relevant administrator settings. (These need to be configured before starting the
services.)
The following administrator settings are used by the VMS Adaptor service:
• VmsAgent.GstLogFile – GStreamer log file path
• VmsAgent.GstPath – GStreamer binaries path
• VmsAgent.RtspPort – VMS Adaptor's RTSP port number

P age 10 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

• OX6.VmsAdapterGrpcPort – VMS Adaptor's GRPC port


Other administrator settings used by the Next-Gen engine are:
• MQTTServerAddress
• MQTTServerPort
• LoadBalancerAddress
• AlertRuleMatchingService.GrpcPort – the port for the OX6 Alert Rule Matching service.
• OX6.VideoProcessingGatewayGrpcPort – the port for the OX6 Video Processing
Gateway service.
For each of the port settings, there is also an internal port setting. The internal settings are the ports
that the service listens to and the port setting is the port exposed by NGINX for the service. .
9. In the Services section, start all the services. Note that the services from the Linux server are
the ones with the word Kubrnetes in the Host column.

Milestone Configuration
If you are using the Milestone plugin with the Next-Gen engine, you need to install Milestone’s ONVIF
Bridge component. This allows the Milestone plugin to fetch video stream from the Milestone VMS. The
component is not included in the standard Milestone management + recorder installer. For a detailed
step-by-step guide, see http://download.milestonesys.com/MTSKB/KB000003403/ONVIF-Bridge-detailed-
guide.pdf

When configuring Milestone’s ONVIF Bridge, a user and password is created. The username and password
need to be added to the BriefCam.MilestoneIntegration.ini file. After you install the Milestone plugin,
you’ll find the file at: C:\Program Files\BriefCam\BriefCam Server\plugins\.

P age 11 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

Open the file and in the [Live] section, set the following values and remove the semicolon (;) at the
beginning of each of these rows:
• RtspUserName = "Milestone onvif username"
• RtspUserPassword = "Milestone onvif password"
For example:

Limitations
• Overhead cameras are not supported.
• When creating a rule, the following are not supported: Animals, Airplane, Train, Boat,
Illuminations Changes and Other classes, and the Proximity and Count-based filters.
• Partial visual assets is always on and it is not possible to set the PartialVisualAssets
environment setting to false. Therefore, alerts generated by the engine will not have any
closeup clip and will not have a playable synopsis.
• The Next-Gen engine does not have high sensitivity mode.
• You cannot migrate old cases and alerts to the Next-Gen engine.
• You must have a clean install of BriefCam.
• The Next-Gen engine does not handle very small objects. Small objects that are not being
detected can be seen in the image below (in the red bounding boxes).

P age 12 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

Rollout Phases
The current release of the Next-Gen Engine (real-time processing only) has been released in closed Beta
mode.
The closed beta release of the Next-Gen engine on February 21st means the Product team will select
several (less than 4) deployments to run in Beta mode (with full monitoring and maintenance by R&D).

P age 13 of 14 © B riefCam | 2 /2 1/22


TRANSFORMING VIDEO SURVEILLANCE
INTO ACTIONABLE INTELLIGENCE

P age 14 of 14 VIDEO SYNOPSIS® is a registered trademark of BriefCam® © B riefCam | 2 /2 1/22

You might also like