# Media over QUIC > Real-time latency at massive scale ## Table of Contents ### Setup - [Quick Start](https://doc.moq.dev/setup.md): Run the MoQ demo locally or against the public relay - [Install](https://doc.moq.dev/setup/install.md): Install moq-relay, moq, and the plugins on Linux, macOS, and Windows - [Development](https://doc.moq.dev/setup/dev.md): Build, test, and debug the MoQ repository - [Production Deployment](https://doc.moq.dev/setup/prod.md): Run moq-relay publicly with TLS, authentication, and host tuning - [Upgrade](https://doc.moq.dev/setup/upgrade.md): Breaking changes between the 2026-09-17 releases and the 2026-09-23 release train, with the replacement for each - [Agent Setup](https://doc.moq.dev/setup/agent.md): Teach your AI coding agent how to build with MoQ ### Concepts - [Concepts](https://doc.moq.dev/concept.md): How the MoQ stack fits together - [Transport](https://doc.moq.dev/concept/transport.md): QUIC, WebTransport, the WebSocket fallback, raw QUIC, stream listeners, and iroh - [moq-lite](https://doc.moq.dev/concept/moq-lite.md): The generic pub/sub layer, a simple forward-compatible subset of moq-transport - [hang](https://doc.moq.dev/concept/hang.md): The media layer, a WebCodecs-shaped catalog plus timestamped frames - [Audio jitter](https://doc.moq.dev/concept/audio-jitter.md): How a receiver sizes its audio playout target from arrival timing - [Stats](https://doc.moq.dev/concept/stats.md): The stats broadcasts a relay publishes, their tracks, and both JSON encodings - [Standards](https://doc.moq.dev/concept/standard.md): How this project relates to the IETF moq-transport, MSF, and LOC drafts - [Use Cases](https://doc.moq.dev/concept/use-case.md): Where MoQ fits, compared with what it replaces #### Use cases - [MoQ vs HLS/DASH](https://doc.moq.dev/concept/use-case/distribution.md): Why MoQ beats segmented HTTP delivery on latency without giving up scale - [MoQ vs RTMP/SRT](https://doc.moq.dev/concept/use-case/contribution.md): Pull-based contribution, on-demand encoding, and redundant ingest - [MoQ vs WebRTC](https://doc.moq.dev/concept/use-case/conferencing.md): How MoQ compares with WebRTC for real-time conferencing - [MoQ for AI](https://doc.moq.dev/concept/use-case/ai.md): Voice agents, streamed generation, and on-demand inference over MoQ ### Internet-Drafts - [MoQ Active Count Extension](https://doc.moq.dev/draft/moq-active-count.md): This document defines an extension for MoQ Transport draft-ietf-moq-transport that tells a subscriber how many NAMESPACE messages answering its SUBSCRIBE_NAMESPACE come before the first change. - [MoQ Cluster Extension](https://doc.moq.dev/draft/moq-cluster.md): This document defines a clustering extension for MoQ Transport draft-ietf-moq-transport, used to build a mesh of relays. - [MoQ End-to-End Encryption Profile](https://doc.moq.dev/draft/moq-e2ee.md): This document specifies moq-e2ee-00, a versioned profile for end-to-end encryption of MoQ application payloads. - [DEFLATE Compressed Tracks for MoQ](https://doc.moq.dev/draft/moq-flate.md): This document specifies how a MoQ Transport draft-ietf-moq-transport track carries DEFLATE-compressed payloads. - [Media over QUIC - Hang](https://doc.moq.dev/draft/moq-hang.md): Hang is a real-time conferencing protocol built on top of moq-lite. - [MoQ Hidden Extension](https://doc.moq.dev/draft/moq-hidden.md): This document defines an extension for MoQ Transport draft-ietf-moq-transport that hides namespaces from discovery. - [Media over QUIC - Lite](https://doc.moq.dev/draft/moq-lite.md): moq-lite is designed to fanout live content 1->N across the internet. - [MoQ MPEG-TS Catalog Extension](https://doc.moq.dev/draft/moq-mpegts.md): This document defines the `mpegts` catalog section, which records what demultiplexing an MPEG-2 Transport Stream Information technology - Generic coding of moving pictures and associated audio information: Systems into a MoQ broadcast would otherwise lose: each track's PID and PMT descriptors, the program identity, the service information tables, and a carriage record for every elementary stream the publisher did not decode. - [MoQ Probe Extension](https://doc.moq.dev/draft/moq-probe.md): This document defines a PROBE extension for MoQ Transport draft-ietf-moq-transport. - [MoQ Solicit Extension](https://doc.moq.dev/draft/moq-solicit.md): This document defines an extension for MoQ Transport draft-ietf-moq-transport that lets an endpoint declare that advertisements to it must be solicited first. - [MoQ Object Timestamp Extension](https://doc.moq.dev/draft/moq-timestamp.md): This document specifies the transport-level use of the TIMESTAMP and TIMESCALE properties registered by draft-ietf-moq-loc, independent of the LOC container itself. - [Media over QUIC - Use Cases](https://doc.moq.dev/draft/moq-use-cases.md): MoQ is designed to serve live tracks over a CDN to viewers with varying latency and quality targets: the entire spectrum between real-time and VOD. - [QMux over WebSocket](https://doc.moq.dev/draft/qmux-websocket.md): QMux draft-ietf-quic-qmux is a polyfill that runs QUIC applications over an ordered, reliable byte-stream transport such as TCP with TLS. ### Applications - [moq-relay](https://doc.moq.dev/bin/relay.md): The MoQ relay server - [moq-cli](https://doc.moq.dev/bin/cli.md): The moq media router, for publishing, playing, converting, and gatewaying - [Demos](https://doc.moq.dev/bin/demo.md): The web demo and MoQ Boy #### moq-relay - [Configuration](https://doc.moq.dev/bin/relay/config.md): TOML reference for moq-relay - [Authentication](https://doc.moq.dev/bin/relay/auth.md): One auth contract for moq-relay: an auth server per session, or a static anonymous grant - [Clustering](https://doc.moq.dev/bin/relay/cluster.md): Connect relays across hosts and regions - [HTTP](https://doc.moq.dev/bin/relay/http.md): The relay's HTTP endpoints for debugging, history, health, and metrics - [Production Deployment](https://doc.moq.dev/setup/prod.md): Run moq-relay publicly with TLS, authentication, and host tuning #### moq-cli - [Inspect a relay](https://doc.moq.dev/bin/inspect.md): See what is live on a relay, watch it change, read a group, and read its stats #### Gateways - [RTMP](https://doc.moq.dev/bin/rtmp.md): RTMP and enhanced RTMP ingest and playback - [SRT](https://doc.moq.dev/bin/srt.md): SRT contribution and playback - [WebRTC](https://doc.moq.dev/bin/rtc.md): WHIP and WHEP gateway between WebRTC and MoQ - [HLS](https://doc.moq.dev/bin/hls.md): Serve any broadcast as HLS, or import an HLS playlist #### Plugins - [OBS Plugin](https://doc.moq.dev/bin/obs.md): Stream from OBS Studio to MoQ, or bring a broadcast into a scene - [GStreamer Plugin](https://doc.moq.dev/bin/gstreamer.md): moqsink and moqsrc elements ### Libraries - [Rust](https://doc.moq.dev/lib/rs.md): The reference implementation, as a set of crates on crates.io - [TypeScript](https://doc.moq.dev/lib/js.md): The browser implementation, published as @moq/* on npm - [Swift](https://doc.moq.dev/lib/swift.md): Async sequences for iOS and macOS via the Moq package - [Kotlin](https://doc.moq.dev/lib/kt.md): Coroutines and Flow for Android and the JVM via dev.moq:moq - [Python](https://doc.moq.dev/lib/py.md): Async pub/sub for Python via the moq-rs package - [Go](https://doc.moq.dev/lib/go.md): Idiomatic Go over cgo via moq.dev/moq - [Dart and Flutter](https://doc.moq.dev/lib/dart.md): Futures and streams for Flutter via the moq package - [C](https://doc.moq.dev/lib/c.md): moq-c, the stable C ABI over the Rust core #### Rust - [moq-net](https://doc.moq.dev/lib/rs/moq-net.md): The pub/sub layer - [hang](https://doc.moq.dev/lib/rs/hang.md): The media layer - [moq-mux](https://doc.moq.dev/lib/rs/moq-mux.md): Container import and export - [moq-video](https://doc.moq.dev/lib/rs/moq-video.md): Native capture, hardware codecs, and GPU rendering - [moq-audio](https://doc.moq.dev/lib/rs/moq-audio.md): Native audio capture, codecs, playback, and echo cancellation - [moq-auth](https://doc.moq.dev/lib/rs/moq-auth.md): The authorization contract, the lease a session holds, and the JWT that rides it - [moq-room](https://doc.moq.dev/lib/rs/moq-room.md): Headless multi-participant rooms over MoQ - [moq-json](https://doc.moq.dev/lib/rs/moq-json.md): JSON over MoQ tracks, as snapshots, streams, or a sliding window - [moq-flate](https://doc.moq.dev/lib/rs/moq-flate.md): Opaque MoQ tracks, optionally compressed with group-scoped DEFLATE #### TypeScript - [@moq/net](https://doc.moq.dev/lib/js/net.md): The pub/sub layer in TypeScript - [@moq/hang](https://doc.moq.dev/lib/js/hang.md): The media layer in TypeScript - [@moq/watch](https://doc.moq.dev/lib/js/watch.md): Subscribe, decode, and render broadcasts in the browser - [@moq/publish](https://doc.moq.dev/lib/js/publish.md): Capture, encode, and publish from the browser - [@moq/room](https://doc.moq.dev/lib/js/room.md): Headless multi-participant rooms over MoQ - [@moq/auth](https://doc.moq.dev/lib/js/auth.md): Answer a relay and mint its JWTs in TypeScript - [@moq/signals](https://doc.moq.dev/lib/js/signals.md): The reactive primitives under every @moq package - [@moq/json](https://doc.moq.dev/lib/js/json.md): JSON over MoQ tracks, as snapshots, streams, or a sliding window - [@moq/flate](https://doc.moq.dev/lib/js/flate.md): Opaque MoQ tracks, optionally compressed with group-scoped DEFLATE