Skip to content

Commit 2a47ee7

Browse files
authored
Merge pull request #3 from mzanaty/main
Remove catalog from LOC (moved to WARP)
2 parents b83d4e7 + b24a8ec commit 2a47ee7

File tree

1 file changed

+13
-91
lines changed

1 file changed

+13
-91
lines changed

draft-ietf-moq-loc.md

Lines changed: 13 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ normative:
4747
target: https://www.w3.org/TR/webcodecs-codec-registry/
4848

4949
informative:
50-
MoQCatalog: I-D.wilaw-moq-catalogformat
51-
Framemarking: I-D.ietf-avtext-framemarking
50+
MoQCatalog: I-D.ietf-moq-warp
5251
SecureObjects: I-D.jennings-moq-secure-objects
5352
MOQ-MLS: I-D.jennings-moq-e2ee-mls
5453

@@ -58,8 +57,7 @@ informative:
5857
This specification describes a Low Overhead Media Container (LOC) format for
5958
encoded and encrypted audio and video media data to be used
6059
primarily for interactive Media over QUIC Transport (MOQT).
61-
It further defines the
62-
LOC Streaming Format for the MOQ Common Catalog format
60+
It may be used in the WARP streaming specification, which defines a catalog format
6361
for publishers to annouce and describe their LOC tracks and for
6462
subscribers to consume them. Examples are also provided
6563
for building media applications using LOC and MOQT.
@@ -69,8 +67,8 @@ for building media applications using LOC and MOQT.
6967

7068
# Introduction
7169

72-
This specification describes a low-overhead media container format for
73-
encoded and encrypted audio and video media data, as well as a MOQ Common Catalog streaming format called LOC to describe such tracks.
70+
This specification describes a low-overhead media container (LOC) format for
71+
encoded and encrypted audio and video media data.
7472

7573
"Low-overhead" refers to minimal extra encapsulation as well as minimal application overhead when interfacing with WebCodecs {{WebCodecs}}.
7674

@@ -100,8 +98,10 @@ Codec Registry avoids duplicating it in an identical IANA registry.
10098

10199
* {{headers}} defines the metadata associated with audio and video payloads.
102100

103-
* {{catalog}} describes the LOC Streaming Format bindings to the MoQ Common Catalog format including examples.
101+
* {{encryption}} defines the usage of end-to-end encrypted LOC payloads.
104102

103+
* {{examples}} provides examples with details for building audio and video applications
104+
using LOC over MOQ.
105105

106106
## Requirements Notation and Conventions
107107

@@ -224,7 +224,7 @@ when the encoded media frame was captured, encoded as a varint.
224224
* Name: Video Frame Marking
225225
* Description: Flags for video frames which are independent, discardable, or
226226
base layer sync points, as well as temporal and spatial layer
227-
identification, as defined in {{Framemarking}}, encoded in the least
227+
identification, as defined in {{!RFC9626}}, encoded in the least
228228
significant bits of a varint.
229229
* ID: 4 (IANA, please assign from the MOQ Header Extensions Registry)
230230
* Length: Varies (1-4 bytes)
@@ -243,98 +243,20 @@ encoded in the least significant 8 bits of a varint.
243243
* Value: Varies
244244

245245

246-
# Catalog {#catalog}
247246

248-
A catalog track provides information about tracks from a given publisher. A catalog is used by subscribers for consuming tracks and by publishers
249-
to advertise and describe the tracks. The content of a catalog is opaque to the relays and may be end to end encrypted. A catalog describes the details of tracks such as Track IDs and corresponding media configuration details, for example, audio/video codec details.
250-
251-
The LOC Streaming Format uses the MoQ Common Catalog Format {{MoQCatalog}} to describe the content being produced by a publisher.
252-
253-
Per Sect 5.1 of {{MoQCatalog}}, this document registers an entry in the "MoQ Streaming Format Type" table, with the type value 2, the name "LOC Streaming Format", and the RFC XXX.
254-
255-
Every LOC catalog track MUST declare a streaming format type (See Sect 3.2.1 of {{MoQCatalog}}) value of 2.
256-
257-
Every LOC catalog track MUST declare a streaming format version (See Sect 3.2.1 of {{MoQCatalog}}) value of 1, which is the version described in this document.
258-
259-
Every LOC catalog track MUST declare a packaging type (See Sect 3.2.9 of {{MoQCatalog}}) of "loc".
260-
261-
The catalog track MUST have a track name of "catalog". A catalog object MAY be independent of other catalog objects or it MAY represent a delta update of a prior catalog object. The first catalog object published within a new group MUST be independent. A catalog object SHOULD only be published only when the availability of tracks changes.
262-
263-
Each catalog update MUST be mapped to a discreet moq-transport object.
264-
265-
266-
## Catalog Fields
267-
268-
The MOQ Common Catalog defines the required base fields and optional extensions.
269-
270-
### Optional Extensions for Video {#video-ext}
271-
272-
The LOC Streaming Format allows the following optional extensions for video media.
273-
274-
* temporalId: Identifies the temporal layer/sub-layer encoded, starting with 0 for the base layer, and increasing with higher temporal fidelity.
275-
276-
* spatialId: Identifies the spatial and quality layer encoded, starting with 0 for the base layer, and increasing with higher fidelity.
277-
278-
* depends: Identifies track dependencies for a given track, usually for video media with scalable layers in separate tracks.
279-
280-
* renderGroup: Identifies a group of time-aligned tracks which should be rendered simultaneously.
281-
282-
* selectionParams: Selection parameters for media quality, fidelity, etc.; see next section.
283-
284-
### Selection Parameters for Video {#profile}
285-
286-
Each video track can have the following associated Selection Parameters.
287-
288-
* codec: Codec information (including profile, level, tier, etc.), as defined by the codec registrations listed in {{WEBCODECS-CODEC-REGISTRY}}.
289-
290-
* framerate: As defined in section 7.8 of {{WEBCODECS-CODEC-REGISTRY}}.
291-
292-
* bitrate: As defined in section 7.7 and 7.8 of {{WEBCODECS-CODEC-REGISTRY}}.
293-
294-
* width, height: As defined in section 7.8 of {{WEBCODECS-CODEC-REGISTRY}}.
295-
296-
* displayWidth, displayheight: As defined in section 7.7 of {{WEBCODECS-CODEC-REGISTRY}}.
297-
298-
### Optional Extensions for Audio
299-
300-
The LOC Streaming Format allows the following optional extensions for audio media.
301-
302-
* renderGroup: Identifies a group of time-aligned tracks which should be rendered simultaneously.
303-
304-
* selectionParams: Selection parameters for media quality, fidelity, etc.; see next section.
305-
306-
### Selection Parameters for Audio {#audioprofile}
307-
308-
Each audio track can have the following associated Selection Parameters.
309-
310-
* codec: Codec information as defined by the codec registrations listed in {{WEBCODECS-CODEC-REGISTRY}}.
311-
312-
* bitrate: As defined in section 7.7 and 7.8 of {{WEBCODECS-CODEC-REGISTRY}}.
313-
314-
* samplerate: As defined in section 7.7 of {{WEBCODECS-CODEC-REGISTRY}}.
315-
316-
* chanelConfig: As defined in section 7.7 of {{WEBCODECS-CODEC-REGISTRY}}.
317-
318-
* lang: The primary language of the track, using standard tags from {{!RFC5646}}.
319-
320-
321-
## Catalog Examples
322-
323-
See section 3.4 of the MOQ Common Catalog {{MoQCatalog}}.
324-
325-
326-
# Payload Encryption
247+
# Payload Encryption {#encryption}
327248

328249
When end to end encryption is supported, the encoded payload is encrypted
329-
with symmetric keys derived from key establishment mechanisms, such as {{MOQ-MLS}}, and the payload itself is protected using mechanisms defined in {{SecureObjects}}.
250+
with symmetric keys derived from key establishment mechanisms, such as {{MOQ-MLS}},
251+
and the payload itself is protected using mechanisms defined in {{SecureObjects}}.
330252

331253

332-
# Examples
254+
# Examples {#examples}
333255

334256
This section provides examples with details for building audio and video applications
335257
using MOQ and LOC; more specifically, it provides information on:
336258

337-
- Using a catalog to describe track information,
259+
- Using a WARP catalog {{MoQCatalog}} to describe track information,
338260
- Packaging media into LOC streaming format, and
339261
- Mapping application media objects to the MOQT object model and transport.
340262

0 commit comments

Comments
 (0)