MoQT Overview
What is MoQT?
Section titled “What is MoQT?”Media over QUIC Transport (MoQT) is an IETF protocol for delivering media and data over QUIC connections. It’s designed for use cases like:
- Live streaming (low-latency video/audio)
- Real-time chat and messaging
- IoT telemetry
- Any publish/subscribe data pattern over QUIC
Key concepts
Section titled “Key concepts”Tracks
Section titled “Tracks”A track is a named stream of objects within a namespace. For example:
- Namespace:
["chat", "room1"] - Track name:
"messages"
Objects, Groups, and Subgroups
Section titled “Objects, Groups, and Subgroups”- Object — the smallest unit of data (a single message, a video frame, etc.)
- Group — a collection of related objects (e.g., a GOP in video)
- Subgroup — a subdivision within a group for priority/ordering
Subscriptions
Section titled “Subscriptions”A client subscribes to a track to receive objects as they’re published. The subscription includes a filter that determines where to start.
Sessions
Section titled “Sessions”A MoQT session runs over a single QUIC connection. The session begins with a setup exchange to negotiate capabilities and draft version.
Why is debugging MoQT hard?
Section titled “Why is debugging MoQT hard?”- QUIC encrypts everything — no passive capture without TLS key export
- Browser DevTools show WebTransport but not MoQT-level semantics
- Relay implementations vary widely in feature support and draft version coverage
- The protocol is still evolving — drafts 07 through 17 have significant differences in message formats
The moqtap tool suite
Section titled “The moqtap tool suite”moqtap provides MoQT-aware debugging across three platforms:
- CLI —
moqtap peekprobes relays directly (auto-detects transport and draft version, discovers namespaces, enumerates tracks, fetches data);moqtap interceptsits transparently between a client and relay, parsing every frame inline - Browser Extension — a DevTools panel that intercepts WebTransport connections in Chrome and Firefox, auto-detects MoQT, and decodes all control messages and data streams in real time
- Desktop App — a cross-platform GUI for connecting to relays, subscribing, fetching, and inspecting sessions with full trace recording
All tools share the .moqtrace file format for recording and replaying sessions. Traces captured in one tool can be opened in another.