Skip to content

Inspecting Messages

The CLI displays every MoQT event with timestamps and color coding:

12:34:56.789 #1 C→R CTRL SUBSCRIBE req=1 ns=live track=video
12:34:56.801 #1 R→C CTRL SUBSCRIBE_OK req=1 alias=1
12:34:56.810 #1 R→C UNI subgroup track=1 group=0 sub=0
12:34:56.811 #1 R→C OBJ id=0 pri=128 len=1024

Use --filter ctrl to show only control messages, or --filter data for data streams only. Use -j for JSON output for scripting and piping to other tools.

The control message log shows every MoQT message sent or received on the control stream:

  • Timestamp — microsecond precision
  • DirectionTX (sent) or RX (received)
  • Message type — e.g., SUBSCRIBE, SUBSCRIBE_OK, FETCH_ERROR
  • Summary — key fields at a glance

Click any message to see:

  • All parsed fields — every field from the message, named and typed
  • Raw hex — the exact bytes on the wire
  • Parse warnings — if the message was partially parsed or contained unknown fields

Filter the log by:

  • Message type (e.g., show only SUBSCRIBE and SUBSCRIBE_OK)
  • Direction (sent only, received only, or both)
  • Time range

The WebTransport Inspector panel shows:

  • Live connections with per-connection bitrate
  • Control messages with expand/collapse for all fields
  • Stream inspector with live byte counts per QUIC stream
  • Payload viewer — auto-detects JSON, fMP4, or binary with hex highlighting
  • Stack traces showing where connections and streams originate in your code

All moqtap tools use lenient parsing. Unknown message types, unexpected field lengths, and unknown parameters produce warnings rather than errors. Warnings are highlighted so you can spot protocol issues and draft-version mismatches immediately.