draft-marzot-moq-test-tracks-00 | Individual submission | -00 posted 2026-11-02 (IETF 127 deadline) | 18 pages | expires 2027-05-06 | Datatracker · Editor’s copy
Authors
- Giovanni Marzot (Vivoh)
Abstract
moq-test-tracks is a media counterpart to afrind’s moq-test. moq-test is the synthetic-payload conformance protocol behind moxygen’s section-by-section harness (see interop-runner). In moq-test-tracks, a tester puts the parameters of a set of media tracks into the Track Namespace: content, packaging, codecs, resolution, frame rate, catalog format, where the init data goes, group duration, audio delivery, duration and the number of video tracks. Any publisher that implements the protocol can then generate media of that shape without out-of-band coordination. Catalog parsers, packagers, players and relays can be tested against media of a known shape, and results from different publishers can be compared.
Key Technical Details
- Namespace = parameters. An optional deployment prefix comes first, then the tuple field
mtt_00(protocol and version), then the parameter fields. Fields 0–7 are required and 8–13 optional with defaults. Field values use onlya-z0-9_, and_marks a field that does not apply. Each parameter set has one shortest namespace, which publishers must use, so subscribers that ask for the same media share one set of tracks. Example:example/mtt_00/clock/loc/h264/720/30/aac/2. - Fields:
- Content:
clock(time and frame counter on screen, a 1 kHz beep plus a marker frame each second for A/V-sync checks),bars,noise(forces the target bitrate), or a deployment-defined clip ID. - Packaging:
loc/cmaf(per CMSF) /locmaf(see moq-locmaf). - Video codec:
h264High /h264cbConstrained Baseline /h265Main /av1Main /none, encoded without B-frames. - Height (180–2160), frame rate (1–120, plus 23_976/29_97/59_94), audio codec
aac/opus(20 ms) /noneat 48 kHz, and channel count. - Catalog:
msf(with CMSF extensions for CMAF/LOCMAF) ornone. - Init data placement:
catalog(inline),track(VIDEO_CONFIG/AUDIO_CONFIG Track Property) orobject(property on the first object of each group). CMAF must usecatalog. - Group duration in ms (default 2000, or 2002 at the NTSC rates).
- Audio delivery: N frames per group on one stream, or
dgram, one frame per datagram. - Duration in seconds (0 = until unsubscribed).
- Video tracks:
1, analtNABR ladder (each rung at most ¾ the height of the previous one, up to 7 renditions from 2160p), orviewNmulti-view.
- Content:
- Tracks:
catalog,video(video_1,video_2… for ladders and views) andaudio. Each video group starts with a key frame and goes on one stream as subgroup 0. Each frame is one object (with CMAF, one chunk). Catalog tracks are live withtargetLatency250 ms.
Relationship to other work
- Extends
moq-testfrom transport to media. afrind reviewed the draft and is credited in the acknowledgments. On Slack (#moq, Nov-2) he changed his own moq-test implementation so that a namespace can start at any field. Two publishers on one relay can then each announce a moq-test namespace behind a publisher-unique prefix, which mtt_00 already allows. Marzot said he would broaden the draft’s distinct-prefix advice to match. afrind also asked howSUBSCRIBE_NAMESPACEshould behave when the parameter space is effectively infinite. Marzot’s view is that namespaces under the prefix don’t exist until requested. - Exercises the media drafts directly: MSF catalog and init-data list, CMSF, LOC VIDEO_CONFIG/AUDIO_CONFIG properties, and LOCMAF. It sits alongside the CMSF test area proposed for the interop-runner (runner #180) and the media-interop work in moqlivemock and warp-player.
Notes
Individual submission; not WG-adopted. Marzot circulated the editor’s copy on Slack on Nov-2 and asked for feedback before submitting the same day. The acknowledgments thank the OpenMOQ team for implementations and test deployments. See interop-runner, discussions-2026-11.