For the complete documentation index, see llms.txt. This page is also available as Markdown.

Replay Servers Overview

Replay Servers are on-premise Mac Mini devices that run the Replays Service software. Each device connects to a location's cameras to continuously record footage and generate video replays on demand.

This section covers the admin dashboard features for managing Replay Servers.


Overview

Each Replay Server:

  • Runs as a macOS application on a Mac Mini at the venue

  • Connects to one or more RTSP cameras on the local network

  • Continuously records video in chunks for instant replay

  • Generates clips (custom, enhanced, and branded replays) on demand

  • Reports health status via periodic heartbeats to the PodPlay API


Key Concepts

Device Pairing

A new Replay Server must be paired (approved) to a location before it can operate. When a device first connects, it appears as Pending in the admin dashboard. An admin approves it and assigns it to an area.

Server URL

Each device can have an external URL (e.g., https://location.ddns.net) for remote access. If no external URL is configured, the device is reachable only via its local IP on the venue network.

For replay generation (API server to device), the system resolves URLs in this order:

  1. replayServer.serverUrl (external DDNS URL)

  2. area.onPremiseApiUrl (legacy fallback)

For admin dashboard proxy endpoints (health, logs, branding, instant replay), the resolution order is:

  1. replayServer.serverUrl (external DDNS URL)

  2. replayServer.localIp (device-reported LAN address, private IPs only)

  3. replayServer.lastSeenIp (IP from the last heartbeat, private IPs only)

Local IP

Devices report their local network IP address (localIp) during each heartbeat. This is used as a fallback for direct communication when the device has no external serverUrl configured. The API server only uses private IPv4 (RFC-1918) and IPv6 ULA/link-local addresses to prevent SSRF.


Dashboard Features

  • Managing Replay Servers - Pairing, status monitoring, restart, and unpair

  • Branding Assets - Upload logos and postroll videos for branded replays

  • Advanced Settings - Cleanup, branding configuration, and branded replay preview

Last updated

Was this helpful?