Data Streams
Delivery modes
Section titled “Delivery modes”MoQT objects are delivered via three mechanisms:
Subgroup streams
Section titled “Subgroup streams”Unidirectional streams carrying objects within a subgroup. Each stream has a header identifying the track (by its Track Alias), group, and subgroup, followed by a sequence of objects. The header’s type code also says which optional fields the stream uses.
Fetch streams
Section titled “Fetch streams”Unidirectional streams carrying the response to a FETCH. The stream type is 0x05 (FETCH_HEADER) in every draft from 07 to 23. The header identifies the FETCH request, and the requested objects follow in order. In draft-23 a fetch stream can also mark the end of a group, the end of the track, and ranges of objects the publisher can no longer deliver.
Datagrams
Section titled “Datagrams”Datagrams carry a single object each, for the lowest latency, with no ordering guarantees.
Object fields
Section titled “Object fields”Each object on a stream includes:
- Object ID within the group
- Publisher priority — scheduling hint (in drafts 15–23 it can be left out, and the object then takes the Publisher Priority from the control message that established the subscription)
- Object status — normal, end of group, end of track
- Per-object metadata — extension headers in drafts 08–16, Object Properties from draft-17
- Payload length and payload
Object status codes
Section titled “Object status codes”| Status | Code | Drafts |
|---|---|---|
| Normal | 0x0 | 07–23 |
| Object Does Not Exist | 0x1 | 07–15 |
| End of Group | 0x3 | 07–23 |
| End of Track and Group | 0x4 | 07–10 |
| End of Track | 0x4 | 11–23 |
| End of Track | 0x5 | 08–10 |
| End of Subgroup | 0x5 | 07 |
What moqtap shows
Section titled “What moqtap shows”All moqtap tools parse data stream headers and display:
- Track alias mapping to namespace + track name
- Group/object/subgroup IDs
- Priority and status fields
- Payload content (auto-detected as text, JSON, fMP4, or binary)
- Delivery mode (subgroup, fetch, or datagram)
The CLI shows data stream events inline with color-coded output (UNI for unidirectional streams, OBJ for object headers, DGRAM for datagrams). The browser extension provides a stream inspector with hex and JSON views.