MPEGGroup / CMAF

Official MPEG repository to discuss public issues on CMAF (ISO/IEC 23000-19)
2 stars 0 forks source link

CMAF Presentation Duration #1

Closed haudiobe closed 1 year ago

haudiobe commented 4 years ago

This is the first issue addressed here: http://mpegx.int-evry.fr/software/ApplicationFormat/CMAF/issues/2

Issue from the document

For the mapping to DASH, the video track is assumed to be the master and hence, the Period duration is determined by the duration of the CMAF video track.

Proposal: Define the presentation duration of a CMAF Presentation as the duration of the video track (if present) and do not make it a requirements

cconcolato commented 4 years ago

CMAF 2nd Ed is rather clear in the definition section:

3.3.7 CMAF presentation duration sum of the CMAF fragment durations (3.3.6) of the longest CMAF track (3.2.1) in a CMAF presentation (3.2.5), starting from its earliest presentation time on the CMAF presentation timeline (3.3.4)

Although I agree that bullet point g) is redundant and the use of shall not necessary:

g) The duration of a CMAF presentation shall be the duration of its longest CMAF track.

I would simply suggest removing this bullet point.

Can you clarify why the use of the longest track is a problem?

Also during the MPEG call, you seemed to have a problem with:

h) CMAF tracks in a CMAF presentation shall equal the CMAF presentation duration, within a tolerance of the longest video CMAF fragment duration.

Can you elaborate on the problem?

cconcolato commented 4 years ago

There is an overlap with #3. I suggest keeping only one of the issues.

haudiobe commented 4 years ago

If u use the longest track, and you sequence presentation after presentation, you always have gaps at the end. We like to tie it such that it is exactly video track duration. Audio can handle gaps better.

RufaelDev commented 3 years ago

What about the case of multiple video tracks/switching sets (HEVC + AVC + .....), longest or shortest video track ?

cconcolato commented 3 years ago

@haudiobe @RufaelDev What is the recommendation for this issue? Do we have an agreement? Do we have proposed text?

RufaelDev commented 3 years ago

@cconcolato I would like to have my concern addressed otherwise it may be better to leave as is. Do we need longest/shortest video track or do we want to introduce a requirements that video adapationsets are of exacly the same duration. ? I am not sure on both so more discussion might be needed.

jpiesing commented 3 years ago

If video and audio fragment durations are incompatible then having valid audio at the first frame of video may require audio data being provided earlier on the timeline. Having valid audio data at the last frame of video may require audio data running after the last frame of video. From a content point of view, the duration should be the duration of the video and the audio before / after the video is not intended to be presented. This is how I always understood DASH with MPD@mediaPresentationDuration and Period@duration.

cconcolato commented 2 years ago

This issue does not seem to have any conclusion or recommendation, yet. @haudiobe, any recommendation?

I note that given that the notion of "presentation duration" is not used in the CMAF track format, the possible impact of this issue is on the mapping to DASH (and HLS?). Curious if there would be an impact on WAVE's DASH-HLS Interoperability Specification (@technogeek00)?

RufaelDev commented 2 years ago

@haudiobe and @cconcolato I am changing my previous position, I think using video duration is a good idea and logical, but still something for the case of multiple video adaptationsets with different video track durations need to be included with the text (video tracks should have equal duration, otherwise the longest vieo track duration is leading, as cmaf uses the decode timeline I can imagine for example multi-codec cases when durations do not match up even though i have not seen these in practice). With respect to @jpiesing if you have overlaps you can avoid audio gaps/absence in the beginning, otherwise you may have small audio gaps in the beginning indeed, the trickyness is that dash uses presentation timeline and cmaf the decode timeline.

technogeek00 commented 2 years ago

I note that given that the notion of "presentation duration" is not used in the CMAF track format, the possible impact of this issue is on the mapping to DASH (and HLS?). Curious if there would be an impact on WAVE's DASH-HLS Interoperability Specification (@technogeek00)?

@cconcolato In the DASH-HLS interoperability scenario I would actually suppose the greater constraint is driven by the HLS specification which has no time within segment offsetting ability and restricts track length differences to at most a target duration:

Content that appears in a Media Playlist of one Variant Stream but not in another MUST appear either at the beginning or at the end of the Media Playlist file and MUST NOT be longer than the smallest Target Duration declared in any Media Playlist in the Multivariant Playlist.

I imagine that the restriction we will have to create for interoperability is that all tracks must have the same durations and have start times aligned with the start time of the first media segment with at most one sample of tolerance at desired splicing points.

cconcolato commented 2 years ago

We have a tentative agreement to change the definition to the video track duration (if present) and work on the details when there is no video track and other cases.

RufaelDev commented 2 years ago

CMAF presentation duration sum of the CMAF fragment durations (3.3.6) of the (longest) CMAF video track (3.2.1) if it exists, otherwise the sum of fragment durations of the track with the longest duration.

haudiobe commented 2 years ago

Addressed here: https://dms.mpeg.expert/doc_end_user/documents/137_OnLine/wg11/m58936-v2-m58936-Issues-r1.zip