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 Streaming: WebRTC
Section titled “Live Streaming: WebRTC”Live camera streams use WebRTC via the WHEP (WebRTC-HTTP Egress Protocol) standard. This delivers real-time video to any modern browser without plugins.
How It Works
Section titled “How It Works”- The browser requests a live stream through the management server.
- The management server proxies the WebRTC negotiation to the appropriate recording server’s stream relay.
- 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.
Performance
Section titled “Performance”| Metric | Typical Value |
|---|---|
| End-to-end latency | 200—500 ms |
| Time to first frame | Under 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.
Codec Support
Section titled “Codec Support”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 Playback: HLS
Section titled “Recorded Playback: HLS”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.
How It Works
Section titled “How It Works”- The user selects a camera and time range in the playback interface.
- The management server looks up which recording segments cover the requested time range.
- A dynamic playlist is generated pointing to the relevant segment files.
- The browser’s video player fetches and plays the segments in sequence.
- Segment requests are proxied through the management server to whichever recording server holds each segment.
Timeline
Section titled “Timeline”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.
Single Entry Point
Section titled “Single Entry Point”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.
Event Clips
Section titled “Event Clips”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.
Protocol Comparison
Section titled “Protocol Comparison”| Aspect | WebRTC (Live) | HLS (Playback) |
|---|---|---|
| Use case | Real-time monitoring | Recorded footage review |
| Latency | 200—500 ms | Buffered (not latency-sensitive) |
| Codec support | H.264, H.265 | H.264, H.265 |
| Navigation | Live stream (current moment) | Full timeline scrubbing |
| Proxy | Management proxies negotiation | Management proxies segments |