Skip to content

Streaming

Meridian VMS uses two distinct streaming approaches optimised for their respective use cases: WebRTC for live viewing with sub-second latency, and HLS for recorded playback with seamless timeline navigation.

Live camera streams use WebRTC via the WHEP (WebRTC-HTTP Egress Protocol) standard. This delivers real-time video to any modern browser without plugins.

  1. The browser requests a live stream through the management server.
  2. The management server proxies the WebRTC negotiation to the appropriate recording server’s stream relay.
  3. A direct media connection is established, delivering the camera’s video stream to the browser.

All live stream requests go through the management server, which acts as the single entry point. Clients never need to know which recording server holds a particular camera.

MetricTypical Value
End-to-end latency200—500 ms
Time to first frameUnder 1 second

This is significantly faster than traditional HLS-based live streaming (which typically adds 3—10 seconds of buffering) and is well suited for real-time surveillance monitoring where operators need to see events as they happen.

WebRTC live streaming supports both H.264 and H.265 (HEVC) camera streams. The system automatically handles codec negotiation to ensure compatibility with the camera’s output format and the browser’s capabilities.

Recorded footage playback uses HLS (HTTP Live Streaming) with dynamically generated playlists. This approach allows seamless navigation across any time range with standard browser video playback.

  1. The user selects a camera and time range in the playback interface.
  2. The management server looks up which recording segments cover the requested time range.
  3. A dynamic playlist is generated pointing to the relevant segment files.
  4. The browser’s video player fetches and plays the segments in sequence.
  5. Segment requests are proxied through the management server to whichever recording server holds each segment.

The playback interface includes a visual timeline that shows recording coverage:

  • Filled regions indicate periods where recording is available.
  • Gaps indicate periods where recording was unavailable (camera offline, server down, etc.).
  • Users can click anywhere on the timeline to jump to that point in the recording.
  • The timeline supports zooming for precise navigation.

All playback requests are proxied through the management server. This provides:

  • Simplified access — Clients only connect to the management server. There is no need to configure firewall rules or network access to individual recording servers.
  • Access control — All requests pass through the authentication layer.
  • Transparency — Clients do not need to know which recording server holds a particular segment. The management server routes each request to the correct server automatically.

When reviewing AI detection events, short video clips can be generated centred around the event timestamp. These clips are extracted from the recording segments and delivered as downloadable or streamable files.

Event clips are the only place in the system where video processing (rather than stream copy) may occur, as short clips sometimes require normalisation for universal browser compatibility.

AspectWebRTC (Live)HLS (Playback)
Use caseReal-time monitoringRecorded footage review
Latency200—500 msBuffered (not latency-sensitive)
Codec supportH.264, H.265H.264, H.265
NavigationLive stream (current moment)Full timeline scrubbing
ProxyManagement proxies negotiationManagement proxies segments