The following section provides non-normative JSON examples of various catalogs compliant with this draft.
5.3.1. Time-aligned Audio/Video Tracks with single quality
This example shows a catalog for a media producer capable of sending LOC packaged, time-aligned audio and video tracks.
{
"version": 1,
"generatedAt": 1746104606044,
"tracks": [
{
"name": "1080p-video",
"namespace": "conference.example.com/conference123/alice",
"packaging": "loc",
"isLive": true,
"targetLatency": 2000,
"role": "video",
"renderGroup": 1,
"codec":"av01.0.08M.10.0.110.09",
"width":1920,
"height":1080,
"framerate":30,
"bitrate":1500000
},
{
"name": "audio",
"namespace": "conference.example.com/conference123/alice",
"packaging": "loc",
"isLive": true,
"targetLatency": 2000,
"role": "audio",
"renderGroup": 1,
"codec":"opus",
"samplerate":48000,
"channelConfig":"2",
"bitrate":32000
}
]
}
5.3.2. Simulcast video tracks - 3 alternate qualities along with audio
This example shows catalog for a media producer capable of sending 3 time-aligned video tracks for high definition, low definition and medium definition video qualities, along with an audio track. In this example the namespace is absent, which infers that each track must inherit the namespace of the catalog.
{
"version": 1,
"generatedAt": 1746104606044,
"tracks":[
{
"name": "hd",
"renderGroup": 1,
"packaging": "loc",
"isLive": true,
"targetLatency": 1500,
"role": "video",
"codec":"av01",
"width":1920,
"height":1080,
"bitrate":5000000,
"framerate":30,
"altGroup":1
},
{
"name": "md",
"renderGroup": 1,
"packaging": "loc",
"isLive": true,
"targetLatency": 1500,
"role": "video",
"codec":"av01",
"width":720,
"height":640,
"bitrate":3000000,
"framerate":30,
"altGroup":1
},
{
"name": "sd",
"renderGroup": 1,
"packaging": "loc",
"isLive": true,
"targetLatency": 1500,
"role": "video",
"codec":"av01",
"width":192,
"height":144,
"bitrate":500000,
"framerate":30,
"altGroup":1
},
{
"name": "audio",
"renderGroup": 1,
"packaging": "loc",
"isLive": true,
"targetLatency": 1500,
"role": "audio",
"codec":"opus",
"samplerate":48000,
"channelConfig":"2",
"bitrate":32000
}
]
}
5.3.3. SVC video tracks with 2 spatial and 2 temporal qualities
This example shows catalog for a media producer capable of sending scalable video codec with 2 spatial and 2 temporal layers with a dependency relation as shown below:
+----------+
+----------->| S1T1 |
| | 1080p30 |
| +----------+
| ^
| |
+----------+ |
| S1TO | |
| 1080p15 | |
+----------+ +-----+----+
^ | SOT1 |
| | 480p30 |
| +----------+
| ^
+----------+ |
| SOTO | |
| 480p15 |---------+
+----------+
The corresponding catalog uses "depends" attribute to express the track relationships.
{
"version": 1,
"generatedAt": 1746104606044,
"tracks":[
{
"name": "480p15",
"namespace": "conference.example.com/conference123/alice",
"renderGroup": 1,
"packaging": "loc",
"isLive": true,
"role": "video",
"codec":"av01.0.01M.10.0.110.09",
"width":640,
"height":480,
"bitrate":3000000,
"framerate":15
},
{
"name": "480p30",
"namespace": "conference.example.com/conference123/alice",
"renderGroup": 1,
"packaging": "loc",
"isLive": true,
"role": "video",
"codec":"av01.0.04M.10.0.110.09",
"width":640,
"height":480,
"bitrate":3000000,
"framerate":30,
"depends": ["480p15"]
},
{
"name": "1080p15",
"namespace": "conference.example.com/conference123/alice",
"renderGroup": 1,
"packaging": "loc",
"isLive": true,
"role": "video",
"codec":"av01.0.05M.10.0.110.09",
"width":1920,
"height":1080,
"bitrate":3000000,
"framerate":15,
"depends":["480p15"]
},
{
"name": "1080p30",
"namespace": "conference.example.com/conference123/alice",
"renderGroup": 1,
"packaging": "loc",
"isLive": true,
"role": "video",
"codec":"av01.0.08M.10.0.110.09",
"width":1920,
"height":1080,
"bitrate":5000000,
"framerate":30,
"depends": ["480p30", "1080p15"]
},
{
"name": "audio",
"namespace": "conference.example.com/conference123/alice",
"renderGroup": 1,
"packaging": "loc",
"isLive": true,
"role": "audio",
"codec":"opus",
"samplerate":48000,
"channelConfig":"2",
"bitrate":32000
}
]
}
5.3.4. Delta update - adding two tracks
This example shows the catalog delta update for a media producer adding two tracks to an established video conference. One track is newly declared, the other is cloned from a previous track.
{
"deltaUpdate": true,
"generatedAt": 1746104606044,
"addTracks": [
{
"name": "slides",
"isLive": true,
"role": "video",
"codec": "av01.0.08M.10.0.110.09",
"width": 1920,
"height": 1080,
"framerate": 15,
"bitrate": 750000,
"renderGroup": 1
}
],
"cloneTracks": [
{
"parentName": "video-1080",
"name": "video-720",
"width":1280,
"height":720,
"bitrate":600000
}
]
}
5.3.5. Delta update removing tracks
This example shows a delta update for a media producer removing two tracks from an established video conference.
{
"deltaUpdate": true,
"generatedAt": 1746104606044,
"removeTracks": [{"name": "video"},{"name": "slides"}]
}
5.3.6. Time-aligned Audio/Video Tracks with custom field values
This example shows catalog for a media producer capable of sending LOC packaged, time-aligned audio and video tracks along with custom fields in each track description.
{
"version": 1,
"generatedAt": 1746104606044,
"tracks": [
{
"name": "1080p-video",
"namespace": "conference.example.com/conference123/alice",
"packaging": "loc",
"isLive": true,
"role": "video",
"renderGroup": 1,
"codec":"av01.0.08M.10.0.110.09",
"width":1920,
"height":1080,
"framerate":30,
"bitrate":1500000,
"com.example-billing-code": 3201,
"com.example-tier": "premium",
"com.example-debug": "h349835bfkjfg82394d945034jsdfn349fns"
},
{
"name": "audio",
"namespace": "conference.example.com/conference123/alice",
"packaging": "loc",
"isLive": true,
"role": "audio",
"renderGroup": 1,
"codec":"opus",
"samplerate":48000,
"channelConfig":"2",
"bitrate":32000
}
]
}
5.3.7. Time-aligned VOD Audio/Video Tracks
This example shows catalog for a media producer offering VOD (video on-demand) non-live content. The content is LOC packaged, and includes time-aligned audio and video tracks.
{
"version": 1,
"tracks": [
{
"name": "video",
"namespace": "movies.example.com/assets/boy-meets-girl-season3/episode5",
"packaging": "loc",
"isLive": false,
"trackDuration": 8072340,
"renderGroup": 1,
"codec":"av01.0.08M.10.0.110.09",
"width":1920,
"height":1080,
"framerate":30,
"bitrate":1500000
},
{
"name": "audio",
"namespace": "movies.example.com/assets/boy-meets-girl-season3/episode5",
"packaging": "loc",
"isLive": false,
"trackDuration": 8072340,
"renderGroup": 1,
"codec":"opus",
"samplerate":48000,
"channelConfig":"2",
"bitrate":32000
}
]
}
5.3.8. Media timeline and Event timeline
This example shows a catalog for a media producer capable of sending LOC packaged, time-aligned audio and video tracks, along with a Media Timeline which describes the history of those tracks and an Event Timeline providing synchronized data.
{
"version": 1,
"generatedAt": 1746104606044,
"tracks": [
{
"name": "history",
"namespace": "conference.example.com/conference123/alice",
"packaging": "mediatimeline",
"mimetype": "application/json",
"depends": ["1080p-video","audio"]
},
{
"name": "identified-objects",
"namespace": "another-provider/time-synchronized-data",
"packaging": "eventtimeline",
"eventType": "com.ai-extraction/appID/v3",
"mimetype": "application/json",
"depends": ["1080p-video"]
},
{
"name": "1080p-video",
"namespace": "conference.example.com/conference123/alice",
"packaging": "loc",
"isLive": true,
"targetLatency": 2000,
"role": "video",
"renderGroup": 1,
"codec":"av01.0.08M.10.0.110.09",
"width":1920,
"height":1080,
"framerate":30,
"bitrate":1500000
},
{
"name": "audio",
"namespace": "conference.example.com/conference123/alice",
"packaging": "loc",
"isLive": true,
"targetLatency": 2000,
"role": "audio",
"renderGroup": 1,
"codec":"opus",
"samplerate":48000,
"channelConfig":"2",
"bitrate":32000
}
]
}
5.3.9. Terminating a live broadcast
This example shows catalog for a media producer terminating a previously live broadcast containing a video and an audio track.
{
"version": 1,
"generatedAt": 1746104606044,
"isComplete": true,
"tracks": []
}