Closed vasilvv closed 1 year ago
"Track" has a specific meaning in the ISO BMFF/mp4/CMAF world, so do segment, fragment and chunk. If you are talking about the variation of the same content, DASH calls them representations and HLS calls them renditions or variant streams. These could be in separate "track" files but in that case you are referring to the physical - addressable media - objects rather than the concept itself. The bottomline is that whatever we decide to use, we should be dead clear about their definitions.
I discussed this with Suhas. We concur that 'track' is overloaded especially with the CMAF context, and prefer the term "representation" as describing a sequence of media objects which have a consistent codec, framerate, resolution and content-focus. "Rendition" is also an option, but that is something the CIA does when no-one's watching and I've heard objections to its media use on those grounds.
It might help define terms and say how is that maps to CMAF when using CMAF containers and say RTP when using RTP based containers .. thoughts ?
I'm certainly not the most well-versed with video terminology, so definitely correct me if I'm wrong. Also +1 to @acbegen; there will always be inconsistent naming in the industry so we need to clearly define what we're talking about.
My understanding is that "tracks" in ISOBMFF refer to a single encoding. For example, you could have an MP4 file:
track 1: english audio AAC track 2: spanish audio AAC track 3: english audio OPUS track 4: spanish audio OPUS track 5: H.264 video track 6: AV1 video track 7: english subtitles track 8: spanish subtitles
Each of these would have a separate track_id
and trak
box. In VLC, you would switch between these by selecing them in the "audio track" and "video track" drop down.
I feel we need to define our terminology and work back to think how it maps to existing names in different contexts. this will keep our terminology clean of ambiguity and also helps someone coming from different contexts to get an idea of how it maps to the terms they are familair
To that extent, i am willing to propose the following
Media Representations:
These are the media representations examples
Media Representation Groups
Media Object This is any media payload that is being sent and can have one or more container encapsulations. Each container defines how to call the thing inside a given MediaObject ( CMAF Segment, RTP Payload Enc ... )
This can then be explains how it maps to CMAF track for example in the text
For RTP we did a similar effort and it was pretty useful
My current proposal would be something:
We also need some terminology for feeds that are interchangeable.
I started exploring terminology in some existing specifications: #56
I'd like to propose the term "catalog" to refer to a text file describing the media feeds available in a broadcast (to use Victor's taxonomy). This is as an alternative to "manifest" or "playlist", both of which have overloaded meaning in HLS and DASH.
I think catalog/track/group/object are reasonably well explained now, do we need more?
@vasilvv are you ok to close this? We seem to have baked track into the draft at this point, including naming concepts like "Full Track Name".
Agreed, let's close this.
It has been pointed out to me by multiple people that "track" usually can refer to multiple versions of the same video/audio (e.g. 360p and 720p would be same track, but different renditions). We might want to change terminology in the draft.