Skip to content

Namespace Discovery

Namespace discovery lets you find out what tracks a relay has available. The mechanism varies by draft version:

  • Drafts 07–12: SUBSCRIBE_ANNOUNCES; matching namespaces arrive as ANNOUNCE messages
  • Draft-13: SUBSCRIBE_NAMESPACE; matching namespaces arrive as ANNOUNCE messages
  • Drafts 14–15: SUBSCRIBE_NAMESPACE; matching namespaces arrive as PUBLISH_NAMESPACE messages
  • Drafts 16–23: SUBSCRIBE_NAMESPACE on its own stream; matching namespaces arrive as NAMESPACE messages and are withdrawn with NAMESPACE_DONE. In drafts 18–23, SUBSCRIBE_TRACKS subscribes to the tracks in matching namespaces.

In drafts 07–22 a session cannot hold two namespace subscriptions whose prefixes overlap; in draft-23 it can. See SUBSCRIBE_NAMESPACE and prefix matching for the details.

The fastest way to discover namespaces is moqtap peek:

Terminal window
# Discover all published namespaces
moqtap peek moqt://relay.example.com namespaces
# List tracks in a specific namespace
moqtap peek moqt://relay.example.com tracks live
# JSON output
moqtap peek moqt://relay.example.com namespaces -j

The peek command auto-detects the relay’s draft version and uses the appropriate discovery mechanism.

The browser extension passively decodes namespace discovery messages from your application’s WebTransport connections. Open the DevTools panel to see SUBSCRIBE_NAMESPACE, NAMESPACE and PUBLISH_NAMESPACE messages with full field display.

In drafts 16–23, close the SUBSCRIBE_NAMESPACE stream to stop receiving namespace announcements. In drafts 13–15, send UNSUBSCRIBE_NAMESPACE; in drafts 07–12, UNSUBSCRIBE_ANNOUNCES.