[FS_Q4RTC_MED] Media over QUIC media delivery protocol for real-time communication
This contribution proposes additions to 3GPP TR 26.836 v0.0.1 (Study on QUIC-based media delivery for real-time communication and services) focusing on the Media over QUIC (MoQ) transport protocol. The document provides a comprehensive technical description of MoQ, its features, benefits, and limitations for real-time communication services.
The CR adds three new normative references to IETF drafts:
- draft-ietf-moq-transport-16: "Media over QUIC Transport" - defines the core MOQT protocol
- draft-ietf-moq-msf-00: "MOQT Streaming Format" - specifies streaming format mappings
- draft-ietf-moq-loc-01: "Low Overhead Media Container" - defines container format with minimal overhead
Core Protocol Description:
- MOQT is defined as a family of protocols for transporting real-time media (audio, video, synchronized data) over QUIC
- Uses publisher/subscriber communication model
- Supports optional relay-based distribution mechanisms
- Can operate over native QUIC or WebTransport over QUIC
- Designed for low-latency media delivery and scalable real-time communication
Protocol Stack:
- Includes illustration of MOQT protocol stack showing layered architecture
Streaming Formats:
- MSF (MOQT Streaming Format): Segment-based format for interoperable low-latency streaming (previously known as WARP)
- LOC (Low Overhead Media Container): Aligned with WebCodecs for minimal overhead
Transport Layer Features:
- Publish/Subscribe Model: Producers publish media data; consumers (clients/relays) subscribe to specific "Tracks"
- QUIC Integration: Leverages QUIC streams for reliable, ordered delivery (avoiding head-of-line blocking) and datagrams for loss-tolerant scenarios
MSF Format Features:
- Hierarchical Data Model:
- Tracks: Sequence of groups
- Groups: Temporal sequences acting as independent join points
- Objects: Basic addressable units
- Subgroups: Manage decoding dependencies on single stream
Catalogs: Specialized track containing metadata about available tracks, codecs, and initialization data; enables content discovery and selection via Common Catalog Format
Prioritization and Fetching:
Object prioritization and cancellation of obsolete objects (e.g., late video frames)
Scalability with MoQ Relays:
Low Latency and Congestion Control:
- Minimal latency delivery leveraging QUIC's rapid congestion detection and response
- Reduced connection establishment latency (0-RTT / 1-RTT)
- No head-of-line blocking across independent streams
- Ability to discard outdated media objects
Scalability:
- Massive scaling through relays
- Relays aggregate multiple subscriptions for same content into single upstream request
- Reduces load on original publisher
Convergence:
- Single transport protocol for both media contribution and distribution
- Reduces need for protocol conversion or media repackaging at intermediate nodes
Web Compatibility:
- Native browser support via WebTransport without custom plugins
- Facilitates convergence between real-time media communication and web-based service platforms
Delivery Flexibility:
- Choice between reliable stream-based or unreliable datagram-based delivery within same session
- Selection based on content nature and latency requirements
QoS Configuration:
- Different QoS configurations possible
- Example: QUIC stream priorities for I-frames versus B-frames
Built-in Security:
- Mandatory encryption based on TLS 1.3
- No support for unsecured modes
- Simplified security model compared to RTP/SRTP-based solutions
Out-of-Band Discovery:
- Initial discovery of servers and specific Track Namespaces handled outside protocol
- Mechanisms exist for track discovery once session is established
Congestion Control Complexity:
- Latency performance depends on congestion control algorithm used
- Certain congestion control behaviors may introduce latency under specific network conditions
- Requires careful selection or tuning for real-time services
MOQtail:
- Implementation in Rust and TypeScript
- Provides libraries for publisher, subscriber, and relay components
- Features media application demos using LOC and CMSF formats
- GitHub: https://github.com/moqtail/moqtail
moq-encoder-player:
- Facebook Experimental implementation
- GitHub: https://github.com/facebookexperimental/moq-encoder-player
Cloudflare MoQ Service:
- Cloudflare's implementation of MoQ protocol
- Deployed MoQ Relay Network (MRN) on Cloudflare infrastructure
- Provides large-scale media streaming using MoQ
- Reference: https://blog.cloudflare.com/moq/