draft-ietf-moq-cmsf-00 | 9 pages | Expires 2025-12-01

Authors

Abstract

CMSF extends moq-msf by introducing CMAF-packaged media support. It describes the syntax and semantics for adding CMAF-packaged media to MSF, enabling delivery of CMAF and LOC-compliant content over moq-transport while maintaining all existing MSF capabilities.

Relationship to MSF and LOC

  • moq-msf is the base streaming format
  • moq-loc is the low-overhead container for interactive use
  • CMSF adds CMAF packaging for traditional OTT/broadcast workflows
  • All three work together: CMSF inherits MSF’s catalog, timeline, ABR, and LOC support

Design Tension

The MOQ ecosystem has two container philosophies:

  1. LOC - Minimal overhead, WebCodecs-native, optimized for real-time
  2. CMAF - Industry standard for OTT, broad tooling support, higher overhead

CMSF bridges this by allowing CMAF content to flow through the same MSF infrastructure alongside LOC content. luke-curley’s compressed-mp4 proposal is another approach to reduce CMAF overhead.

See media-packaging for a full comparison.

History

CMSF originated as draft-law-moq-carp-00 (“CARP - a CMAF compliant implementation of WARP”) submitted by will-law in November 2025. The draft was adopted by the MOQ working group and published as draft-ietf-moq-cmsf-00 in December 2025.

ContentProtection Signaling

PR #18 (merged Apr 14 by will-law) added ContentProtection signaling to the CMSF spec. The design, proposed by Torbjörn Einarsson (Eyevinn), is roughly based on DASH/DASH-IF content protection signaling:

  • Defines contentProtections with refIDs in the catalog
  • Each encrypted track uses a contentProtectionRefIDs array referencing available protections
  • Supports the same attributes as DASH/DASH-IF: Widevine, PlayReady, FairPlay, and ECCP (clear key)
  • Addresses issue #8

Implementations:

Key rotation is not yet defined — future work can build on this for live catalogs with new refIDs.

Related

External Links