Built on QUIC · WebTransport-ready

A media player for the sub-second internet.

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.

<300msglass-to-glass latency
1connection, any bitrate
3targets: web, mobile, OTT
video/1080p60 video/720p30 audio/aac captions one QUIC connection moquic player
Why not HLS or DASH

Chunked HTTP was built for files. QUIC was built for streams.

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.

HLS / DASH
6–30s
WebRTC
~200ms
moquic (MoQ)
<300ms

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.

What's in the player

Everything a broadcast-grade player needs, none of the segment plumbing.

Live-edge by default

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.

Priority-aware congestion control

QUIC stream priorities let moquic drop stale video frames under congestion while keeping audio intact, instead of stalling the whole session.

One SDK, three surfaces

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.

Live and VOD from one API

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.

How a frame gets to the viewer

Four hops, one transport, no re-encoding at the edge.

01

Publish

The encoder pushes each frame as a QUIC stream object, tagged with a track and group ID, the instant it's ready.

02

Relay

MoQ relays forward objects to subscribers without touching the media — the same fan-out model CDNs already run at scale.

03

Subscribe

moquic opens one QUIC connection and subscribes to the tracks it needs — video ladder rung, audio, captions.

04

Render

Frames are decoded and painted as they arrive; the player adapts rung and drops late frames instead of buffering.

Get started

Drop it into a page.

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.

<!-- index.html -->
<script src="https://cdn.moquic.com/player.js"></script>

<moquic-player
  relay="https://relay.moquic.com"
  track="live/main-camera"
  autoplay>
</moquic-player>

Ready to cut your stream's latency by 90%?