moq-wg / catalog-format

A common catalog format for streaming formats operating over moq-transport
Other
5 stars 0 forks source link

initTrack in another namespace #59

Open kixelated opened 1 month ago

kixelated commented 1 month ago

The current catalog assumes the initTrack uses the same namespace as the track. Should we also support initNamespace?

wilaw commented 1 month ago

Two solutions here:

  1. As you propose, we add a new attribute called initNamesapce
  2. Or we can list the initTrack as its own track, in which case we can use the existing semantics to define its own namesapce. We can use the new 'type' atribute I propose in define it as an init track so that players don;t try to render it. here is what it might look like
{
  "version": 1,
  "streamingFormat": 1,
  "streamingFormatVersion": "0.2",
  "supportsDeltaUpdates": true,
  "commonTrackFields": {
     "namespace": "sports.example.com/games/08-08-23/12345",
     "packaging": "cmaf",
     "renderGroup":1
  },
  "tracks": [
    {
      "name": "init_video_4k",
      "namespace" : "all_your_inits_in_one_place/sports/video",
      "type" : "init"
    },
    {
      "name": "init_video_1080",
      "namespace" : "all_your_inits_in_one_place/sports/video",
      "type" : "init"
    },
    {
      "name": "init_video_720",
      "namespace" : "all_your_inits_in_one_place/sports/video",
      "type" : "init"
    },
    {
      "name": "init_audio_ec3",
      "namespace" : "all_your_inits_in_one_place/sports/audio",
      "type" : "init"
    },
    {
      "name": "video_4k",
      "selectionParams":{"codec":"avc1.640033","mimeType":"video/mp4",
      "width":3840,"height":2160,"framerate":30,"bitrate":14931538},
      "initTrack":"init_video_4k",
      "altGroup": 1
    },
    {
      "name": "video_1080",
      "selectionParams":{"codec":"avc1.640028","mimeType":"video/mp4",
      "width":1920,"height":1080,"framerate":30,"bitrate":9914554},
      "initTrack":"init_video_1080",
      "altGroup": 1
    },
    {
      "name": "video_720",
      "selectionParams":{"codec":"avc1.64001f","mimeType":"video/mp4",
      "width":1280,"height":720,"framerate":30,"bitrate":4952892},
      "initTrack":"init_video_720",
      "altGroup": 1
    },
    {
      "name": "audio_aac",
      "selectionParams":{"codec":"mp4a.40.5","mimeType":"audio/mp4",
      "samplerate":48000,"channelConfig":"2","bitrate":67071},
      "initTrack":"init_audio_aac",
      "altGroup": 2
    },
    {
      "name": "audio_ec3",
      "selectionParms":{"codec":"ec-3","mimeType":"audio/mp4",
      "samplerate":48000,"channelConfig":"F801","bitrate":256000},
      "initTrack":"init_audio_ec3",
      "altGroup": 2
    }
   ]
}
gwendalsimon commented 1 month ago

I like the 'type' attribute for init tracks.