What is MoQ (Media over QUIC)?
MoQ is a new transport protocol for real-time media, currently under standardization by the IETF. Built on QUIC (Quick UDP Internet Connections), a modern transport protocol developed by Google and standardized in 2021, MoQ leverages QUIC’s core features: stream multiplexing, congestion control, and built-in encryption. This makes it highly suitable for real-time, secure, and resilient media delivery.
Unlike TCP, which suffers from head-of-line blocking, QUIC avoids these delays by allowing independent streams to proceed even when one is delayed. MoQ builds on this to create a purpose-built transport for live and on-demand media with real-time performance.
MoQ’s Technical Foundation
MoQ consists of three core components:
- MoQ Transport (MoQT): The core protocol for ingesting and distributing media over QUIC. It merges publishing and playback into a single transport layer, removing the need for separate protocols.
- Catalog: A metadata layer akin to a HLS/DASH manifest, used to discover available media streams and request them dynamically.
- Containers: MoQ supports lightweight media packaging formats like LOC (Low Overhead Container) for efficient delivery, especially in ultra-low-latency scenarios.
Together, these components form a streamlined, modular approach to media delivery.
MoQ vs. Traditional Streaming Protocols (HLS, DASH)
MoQ solves many limitations of HTTP-based streaming:
- Significantly lower latency thanks to QUIC’s faster connection setup and continuous delivery of small chunks.
- No head-of-line blocking due to stream independence in QUIC.
- In-network caching and reuse: intermediate relays can serve cached segments to new users without re-fetching from origin servers.
- Unified ingest and playback using a single protocol path.
- End-to-end encryption by default (TLS 1.3 over QUIC).
The result is a protocol that merges the low-latency of WebRTC with the scalability of HLS/DASH.

Qualabs’ Contribution: The MoQ Player Project
At Qualabs, we believe in empowering the community through open collaboration. That’s why, during our Montevideo Tech Summer Camp 2025, we embraced the opportunity to explore MoQ hands-on. With guidance from community leader Mike English, we set out to create a production-grade MoQ Player that not only implements the standard, but also supports realistic media workflows and front-end integration.
Summer Camp 2025
The project was structured around real engineering objectives:
- Build a MoQ-based streaming player that could be dropped into modern websites.
- Make MoQ easier to learn and experiment with.
- Contribute code and feedback to the community effort (via
moq-js
). - Open up new interfaces between backend protocol and frontend experience.
We started by defining a player architecture that would allow modular adoption in real products. This meant separating the core playback engine (built on moq-js) from the presentation layer.
Technical Deep Dive: Features of the MoQ Player
- Playback engine via
moq-js
: Integrated the evolving MoQ draft protocol into a reusable streaming engine. - Web Component (<video-moq>): We created a fully custom HTML element that emulates the native <video> tag, supporting standard attributes and APIs.
- player.style UI integration: Instead of building UI from scratch, we used player.style – a community-built UI system – to provide modern, flexible video controls. Our component is fully compatible.
- Event System: Custom MoQ events were implemented to emit meaningful playback updates like subscription starts/stops, stream state, and media availability.
- Modular publishing via NPM: The MoQ Player is published at @moq-js/player and can be embedded in any JS/TS project.
- Buffer and ABR experiments: We explored adaptive playback and buffering strategies under network variation – early steps toward full ABR integration over MoQ.
