moquic streams live and on-demand video over Media over QUIC — replacing chunked HTTP delivery with a single multiplexed transport, so glass-to-glass latency drops from tens of seconds to a few hundred milliseconds.
HLS and DASH slice video into segments and fetch them over separate HTTP requests — every segment re-pays connection and buffering overhead. MoQ instead runs live tracks as native QUIC streams over one connection, so the player receives frames as they're produced.
Unlike WebRTC, MoQ keeps the fan-out model of CDNs — relays can cache and replicate tracks to millions of viewers without a mesh of peer connections. moquic gets WebRTC's latency with HLS's scale.
The player subscribes at the newest published frame, not a buffered segment boundary — viewers land within a few hundred milliseconds of the broadcast, every time.
QUIC stream priorities let moquic drop stale video frames under congestion while keeping audio intact, instead of stalling the whole session.
The same moquic core ships as a Web Component, a Swift/Kotlin binding, and a native module for set-top and smart-TV OTT stacks.
Catch-up playback of an in-progress broadcast and on-demand replay use the same relay and the same player calls — no separate VOD pipeline to maintain.
The encoder pushes each frame as a QUIC stream object, tagged with a track and group ID, the instant it's ready.
MoQ relays forward objects to subscribers without touching the media — the same fan-out model CDNs already run at scale.
moquic opens one QUIC connection and subscribes to the tracks it needs — video ladder rung, audio, captions.
Frames are decoded and painted as they arrive; the player adapts rung and drops late frames instead of buffering.
The player is a single Web Component — point it at a MoQ relay URL and a track namespace, and it handles connection, subscription, and rendering.