Skip to content

MoQT Overview

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

A track is a named stream of objects within a namespace. For example:

  • Namespace: ["chat", "room1"]
  • Track name: "messages"
  • 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

A client subscribes to a track to receive objects as they’re published. The subscription includes a filter that determines where to start.

A MoQT session runs over a single QUIC connection. The session begins with a CLIENT_SETUP / SERVER_SETUP exchange to negotiate capabilities.

  • 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.