Skip to content

Architecture Overview

Meridian VMS uses a distributed architecture with a central Management Server and one or more Recording Servers. This separation allows the system to scale from a single-server deployment with a handful of cameras to large, multi-site installations with hundreds of cameras across many locations.

┌───────────────────────────────────┐
│ Management Server │
│ │
│ Web Interface REST API │
│ Database Messaging │
└──────┬──────────────────┬─────────┘
│ │
Secure communication channels
│ │
┌────────────┘ └────────────┐
▼ ▼
┌──────────────────────────┐ ┌──────────────────────────┐
│ Recording Server 1 │ │ Recording Server N │
│ │ │ │
│ Stream Relay │ │ Stream Relay │
│ Continuous Recording │ │ Continuous Recording │
│ AI Detection (opt.) │ │ AI Detection (opt.) │
│ │ │ │
│ ┌───┐ ┌───┐ ┌───┐ │ │ ┌───┐ ┌───┐ ┌───┐ │
│ │cam│ │cam│ │cam│ ... │ │ │cam│ │cam│ │cam│ ... │
│ └───┘ └───┘ └───┘ │ │ └───┘ └───┘ └───┘ │
└──────────────────────────┘ └──────────────────────────┘

The management server is the central control plane for the entire deployment. It runs as a single instance and provides:

  • Web interface — A browser-based application for all operator and administrator tasks, including live view, playback, event review, alarm management, and system configuration.
  • REST API — The API that powers the web interface and provides integration points for third-party systems, including Home Assistant.
  • Database — All persistent configuration and metadata: locations, cameras, servers, recording indexes, events, alarms, users, and roles.
  • Real-time messaging — Push-based communication with recording servers so that configuration changes (adding or removing cameras, changing settings) take effect immediately without restarting services.
  • Stream proxying — The management server acts as the single entry point for all client connections, proxying live streams and recorded playback to the appropriate recording server behind the scenes.

The management server does not store video recordings. All video data resides on the recording servers.

Each recording server is a physical or virtual machine that handles video ingestion, storage, and optionally AI-powered detection for its assigned cameras. Key responsibilities:

  • Stream relay — Ingests RTSP streams from IP cameras and makes them available internally. All downstream processes connect to this relay rather than directly to cameras, ensuring each camera only needs to handle a single connection.
  • Continuous recording — Video is captured and written to disk as time-based segments. The original camera stream is preserved exactly as-is with no re-encoding, ensuring zero quality loss and minimal CPU usage.
  • Segment indexing — As each recording segment completes, its metadata is reported to the management server for use in timeline and playback queries.
  • AI detection — An optional component captures frames from the stream relay and runs GPU-accelerated object detection, posting events to the management server.

Multiple recording servers can be deployed to scale the system. Each server operates independently — if one server goes offline, the others continue recording and serving their cameras without interruption.

ChannelDirectionPurpose
RegistrationRecorder to ManagementServer identifies itself on startup
HeartbeatRecorder to ManagementPeriodic status updates with per-camera health
Segment indexRecorder to ManagementReports completed recording segments
EventsRecorder to ManagementSubmits detection and motion events
Push commandsManagement to RecorderImmediate camera configuration changes
Live stream proxyClient to Management to RecorderLive stream negotiation and delivery
Playback proxyClient to Management to RecorderRecorded segment retrieval

No re-encoding : Video is never re-encoded anywhere in the recording pipeline. The original camera bitstream is written directly to disk. This preserves full quality, minimises CPU usage, and allows a single server to handle many more cameras than a system that transcodes.

Single stream relay : No component connects directly to camera RTSP streams except the stream relay. This prevents multiple concurrent connections to cameras (which many IP cameras cannot handle) and provides a single, reliable local source for all consumers.

Independent recording servers : Each recording server operates autonomously. There is no shared storage and no inter-server communication. All coordination flows through the management server, keeping the architecture simple and each server an isolated failure domain.

Process isolation for AI : The AI detection engine runs as a separate process to avoid interfering with the recording pipeline. A detection failure never impacts recording stability.