Media over QUIC (MOQ)
The MOQ plugin integrates a full MoQ Transport relay server into Red5 Pro, adding QUIC-based streaming alongside the existing RTMP, WebRTC, and HLS protocol stack. Publishers and subscribers connect via native MoQ clients or standard browser WebTransport — both on the same port.
Architecture
By default the plugin runs a unified server: a single QUIC listener on port 4433 that accepts both native MoQ clients (ALPN: moq-00) and WebTransport browser clients (ALPN: h3).
+-------------------------------+
Native MoQ -------> | |
(ALPN: moq-00) | Unified MoQ Server |
| port 4433 (QUIC) | ----> Red5 Pro stream lifecycle
WebTransport -----> | |
(ALPN: h3) +-------------------------------+
A dual-port mode is also available when server.unified.enabled=false, which runs separate servers for each protocol on distinct ports.
Features
- MoQ Transport drafts 14–16 and MoQ Lite drafts 1–4, with automatic version negotiation
- Cross-protocol relay between MoQ Transport and MoQ Lite clients
- Media packaging: LOC (default), CMAF, MOQMI, and Hang formats
- Caffeine-backed object cache for FETCH support and replay
- Two-layer authentication: relay-level CAT/simple tokens and plugin-level JWT
- Internal recording subscriber for passive media capture
- WebSocket tunnel fallback when UDP/QUIC is unavailable
- Stream Manager 2.0 integration via property overrides