The BriefCam Video Analytics platform is implemented using a microservices architecture that supports feature deployment and licensing flexibility. The features of the solution are packaged into a set of seven server roles that can be deployed in an all-in-one server configuration for proofs-of-value or various multiserver configurations to meet performance and HA goals. BriefCam recommends deploying the application using an HA architecture to ensure business continuity even when some components fail. Designing the right solution for your production environment requires balancing cost, complexity, and the level of risk from a system outage.
BriefCam is driven by a microservices architecture, enabling scalability, flexibility, and redundancy.
The full microservices implementation is described in the BriefCam Microservices Architecture white paper. To obtain copies of BriefCam manuals, reach out to your BriefCam representative. The implementation developed for this design guide was a single-site environment. While all the BriefCam microservices were available for configuration after installation, the following subset were used during testing.
BriefCam microservices
- Alert Processing Server
- The Alert Processing Server is the service responsible for real-time video processing (RESPOND and Continuous RESEARCH).
- Fetching Service
- The Fetching Service is responsible for fetching the recorded video footage from the VMS, storing it in the storage and making it available for BriefCam's Processing Server. By default, BriefCam's Fetching service uses two workers to fetch the videos from the VMS. The workers fetch five-minute video chunks.
- Filtering Service
- The Filtering Service is responsible for handling in-memory object filtering for various scenarios in all the modules (REVIEW, RESPOND, and RESEARCH).
- Lighthouse Service
- The Lighthouse Service is the seed node of BriefCam's Akka cluster. Its main roles are:
- Registering new services that join the cluster.
- Providing service-discovery capability for all the other services in the cluster.
- Notification Service
- The Notification Service is responsible for managing all aspects of notification and message delivery between the client application and server-based components.
- Rendering Service
- The Rendering Service is responsible for:
- Generating visual and video artifacts for the web client, such as rendering the synopsis videos, visual layers, exports and original videos.
- Validating uploaded video files before processing.
- VS Server
- The VS Server service is responsible for various maintenance and monitoring related activities:
- Watchdogs the RESPOND tasks in case of a task failure.
- Creates RESPOND tasks when a rule is created or modified by the user.
- Provides a live image for the RESPOND task configuration wizard.
- Provides the list of cameras for the camera activation dialog of the Web Admin.
- Sends the outbound alerts to the outbound API and also sends alerts to the VMS clients that have real-time alerts integration (level 2a or above).
- Triggers the data maintenance activity.
- Clears inactive sessions.
- Web Applications
- BriefCam Web Services drive the main functionality for the web client and APIs. The service is stateless in nature, using the database and shared storage as its stateful backend. There are multiple web services that are provided by the component for both end users and administrators.