Internet-Draft MoQ Overview May 2025
Westerlund & Sarker Expires 6 November 2025 [Page]
Workgroup:
moq
Internet-Draft:
draft-westerlund-moq-overview-latest
Published:
Intended Status:
Standards Track
Expires:
Authors:
M. Westerlund
Ericsson
Z. Sarker
Nokia

Media over QUIC Overview

Abstract

This document provides a high level overview of Media over QUIC protocol components, how interoperability is specified for particular use cases, and how things relate.

About This Document

This note is to be removed before publishing as an RFC.

Status information for this document may be found at https://datatracker.ietf.org/doc/draft-westerlund-moq-overview/.

Discussion of this document takes place on the Media over QUIC (MOQ) Working Group mailing list (mailto:moq@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/moq/. Subscribe at https://www.ietf.org/mailman/listinfo/moq/.

Source for this draft and an issue tracker can be found at https://github.com/https://github.com/gloinul/draft-westerlund-moq-overview.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 6 November 2025.

Table of Contents

1. Introduction

Media over QUIC (MoQ) is an IETF Working Group (WG). Its output of set of specifications that is inteded to be useable to address use cases related to media delivery over the Internet, including low-latency delivery. This document provides a high level overview of how these components relates to each other and what is needed for a specific use case to define an interoperable media delivery solution.

The protocol work

1.1. Use Cases

The development of the MoQ components considers the following use cases and their main requirements. However, this may not prevent the MoQ protocol components to be used for other use cases than what is listed here.

In general the goal of the solution is enable ease of dynamic scaling of number of participanting endpoints and distributed cloud deployments. The solution only assumes existance of unicast IP transport between involved nodes.

1.1.1. Live Streaming Media Delivery

Editors Note: Describe basic delivery chain.

1.1.2. Real-time Conferencing

Editor Note: This might be distributed mesh and end-to-end distribution of original publishers. Might be publish multiple track varaiants of a media, but if not enough resources, processing or bandwidth only one representation might exist.

1.1.3. Content Contribution and Primary Distribution

Editors Note: Describe ingestion. Reflect on difference with Live Streaming media delivery. And the fact that streaming service transcoding is new original publisher of the different tracks representing the contributors media streams.

2. Media Over QUIC overview

MoQ consists of several different components, which allows the design of various applications. We provide below an overview of these components after discussing the involved type of nodes.

2.2. Nodes

Consumer: An endpoint that want to consume (receive) one or more tracks from one or more track namespaces.

Publisher: An endpoint that can send a consumer one or more tracks for a given track namespace.

Original Publisher: The endpoint is the originator of one or more tracks for a particular track namespace.

Relay: An endpoint that is both a consumer and a publisher, but not an orignal publisher. The Relay acts between the orignal publisher and a consumer endpoint. Relays can also use another relay as publisher to enable scaling of the publisher nodes, as well as to handle geographical distribution of receivers to optimize performance.

2.3. Media Over QUIC Transport

Media over QUIC Transprot (MOQT) [I-D.ietf-moq-transport] is the protocol, which is used between a publisher and a consumer. The protocol supports a couple of different capabilities:

Subscribe: Request the publisher to forward media objects of a media track as they are created or received from upstream publisher. Subscribe is the support for any future distribution of media generated by a Publisher.

Fetch: Request the publisher to provide a specific range of media objects for a track that the publisher has previously received or stored.

Join-Fetch:

Announce: A publisher announces a track namespace, which is available for subscribe and fetch to the consumer.

Publish:

When the consumer is subscribed to a track, the publisher tries to forward all media objects of the track scheduling the transmission according to priorities on the different objects competing for available transport bitrates across all tracks the consumer is subscribed to.

MOQT uses either QUIC [RFC9000] or WebTransport [I-D.ietf-webtrans-overview] to transport its messages and media objects. These transport protocols also are used to provide hop-by-hop confidentiality and integrity.

MOQT is dependent on existing methods for authorization and authentication of the consumer and publisher to ensure that they have the right to either access a track or publish a track in this namespace. This mechanism has not yet been defined.

The media objects related to a track are delivered over either independent streams or using unreliable datagrams depending on what best suits the media and application when it comes to latency and reliability.

Note: Add something about what happens when there are insufficinet bandwidth.

2.4. Catalog

The catalog is a media track, which carries essentially some textual information to enable the application to understand what track names exists in a track namespace. The catalog describes, for each track, some key properties such as peak bitrate and encoding format for video tracks. It can also carry information to relate one track to another track, for example lip synch.

A catalog is not necessary for all applications, as the application may have a fixed track name structure with known encodings and properties.

The WARP streaming format [I-D.ietf-moq-warp] defines one catalog format, which is specific to WARP. Yet, this catalog is expected to be the basis for other formats and to be extended for other applications. It is up to the application specifications to define which catalog format they use.

2.5. Object Formats

MoQT treats objects as opaque payloads. The transport protocol does not impose restrictions on the encoding format of these objects. Instead, interpretation of the object payload is left to the application, which must ensure compatibility with the decoding capabilities of the consumer endpoint.

Editors note: Update to clarify Media and other object formats.

To foster interoperability, the MoQ community has initiated standardization efforts around specific media formats. Currently, the primary supported format is the Low Overhead Container (LOC) [I-D.ietf-moq-loc], as defined by the WebCodecs API. LOC provides minimal packaging overhead and facilitates low-latency media transport, making it suitable for real-time applications such as live streaming and video conferencing.

The MoQ Media Interop (moq-mi) [I-D.cenzano-moq-media-interop] draft specifies a number of media formats for use with LOC, including: - Video H264 in AVCC - Audio Opus Bitstream - UTF-8 Text - Audio AAC-LC in MPEG4

Each of these media types is assigned a specific identifier and is accompanied by metadata header extensions to convey essential decoding parameters (e.g., timestamps, duration, and codec configuration).

While these formats represent the current scope of interoperable media, the MoQ community recognizes the wide adoption of CMAF (Common Media Application Format) in traditional streaming workflows. There is ongoing discussion around defining a MoQ media format based on CMAF, though no concrete proposal has been adopted as of now.

2.6. End-to-End Object Security

MOQT provides only hop-by-hop confidentiality and integrity protection. It has been expected that some applications want stronger security properties, like end-to-end confidentiality as well as source authentication. To meet these goals, [I-D.jennings-moq-secure-objects] proposes that each media object's payload is encapsualted in an SFRAME [RFC9605].

Keying and cipher negotiation is currently application specific.

2.7. Application Interopability

One or more application sharing the same needs for how MoQ operates can define a interoperaiblity point. An interoperability point is defining which components and their versions that is need to be supported to be interoperable.

The WARP Streaming Format [I-D.ietf-moq-warp] is such an interoperability point that defines the following:

  • The media format is LOC and with additional requirements such that audio and video can be time aligned.

  • A Catalog format to describe the tracks.

  • That MOQT as defined in [I-D.ietf-moq-transport] is used for Media

  • transmission.

3. Subscriber <--> Publisher interaction

Describe how subscribers are intented to know about publisher (directly or via relays). ## Discovery ## Session setup ## Object metadata extension handling

4. Publisher <--> 3rd party relay interaction

Describe how relays are intregated to and initialized by the publisher. ## Discovery ## Session setup ## Object metadata extension handling

5. Security Model

Editors Note: Describe both comsec and authorization, and privacy Describe example of how trust model for a streaming delivery service interacts with a CDN providing relay service. Original publisher to CDN ingress. Consumer learning connect-uri, verifying relay in TLS, sending authorization tokens to prove right to access. Relay's verification. Original publisher accepting subscribes/publish to CDN relay network.

6. Contributors

The following persons have contributed text to this document:

7. Acknowledgments

8. Informative References

[RFC9000]
Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, , <https://www.rfc-editor.org/info/rfc9000>.
[RFC9605]
Omara, E., Uberti, J., Murillo, S. G., Barnes, R., Ed., and Y. Fablet, "Secure Frame (SFrame): Lightweight Authenticated Encryption for Real-Time Media", RFC 9605, DOI 10.17487/RFC9605, , <https://www.rfc-editor.org/info/rfc9605>.
[I-D.ietf-moq-transport]
Nandakumar, S., Vasiliev, V., Swett, I., and A. Frindell, "Media over QUIC Transport", Work in Progress, Internet-Draft, draft-ietf-moq-transport-11, , <https://datatracker.ietf.org/doc/html/draft-ietf-moq-transport-11>.
[I-D.ietf-moq-warp]
Law, W., Curley, L., Vasiliev, V., Nandakumar, S., and K. Pugin, "WARP Streaming Format", Work in Progress, Internet-Draft, draft-ietf-moq-warp-00, , <https://datatracker.ietf.org/doc/html/draft-ietf-moq-warp-00>.
[I-D.ietf-webtrans-overview]
Vasiliev, V., "The WebTransport Protocol Framework", Work in Progress, Internet-Draft, draft-ietf-webtrans-overview-09, , <https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-overview-09>.
[I-D.jennings-moq-secure-objects]
Jennings, C. F., Nandakumar, S., and R. Barnes, "End-to-End Secure Objects for Media over QUIC Transport", Work in Progress, Internet-Draft, draft-jennings-moq-secure-objects-02, , <https://datatracker.ietf.org/doc/html/draft-jennings-moq-secure-objects-02>.
[I-D.ietf-moq-loc]
Zanaty, M., Nandakumar, S., and P. Thatcher, "Low Overhead Media Container", Work in Progress, Internet-Draft, draft-ietf-moq-loc-00, , <https://datatracker.ietf.org/doc/html/draft-ietf-moq-loc-00>.
[I-D.cenzano-moq-media-interop]
Ferret, J. C. and A. Frindell, "MoQ Media Interop", Work in Progress, Internet-Draft, draft-cenzano-moq-media-interop-02, , <https://datatracker.ietf.org/doc/html/draft-cenzano-moq-media-interop-02>.

Authors' Addresses

Magnus Westerlund
Ericsson
Zaheduzzaman Sarker
Nokia