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 CLIENT_SETUP / SERVER_SETUP exchange to negotiate capabilities.
Why is debugging MoQT hard?
Section titled “Why is debugging MoQT hard?”- QUIC encrypts everything — no passive capture without TLS key export
- No Wireshark dissector exists for MoQT
- Browser DevTools show WebTransport but not MoQT-level semantics
- Relay implementations vary widely in feature support
moqtap solves these problems by being a MoQT-aware client that can connect to any relay and show you exactly what’s happening.