MPEGGroup / CMAF

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

Different number of CMAF Fragments in the tracks of a Switching Set #4

Closed haudiobe closed 4 years ago

haudiobe commented 4 years ago

This is issue 4 from here: http://mpegx.int-evry.fr/software/ApplicationFormat/CMAF/issues/2

In ISO/IEC 23000-19 it says in 7.3.4.1 General constraints on a CMAF switching set d) All CMAF tracks in a CMAF switching set shall contain the same number of CMAF fragments.

Now assume that you have the case that you have an Adaptation Set which has 2 Representations, each CMAF Track. The first Representation, for CMAF Track you have 1 Fragment per Segment. You may have multiple chunks for LL-DASH, but it still one Fragment. In the second Representation, you have now 4 CMAF fragments per Segment, because you want that you can do more frequent random access. Now basically you can say, that you do not call the 4 Fragments each being a fragment, but what defines a fragment. Basically you like that you signal the latter three CMAF chunks in the second case as being random access Chunks, but not fragments. by doing so, you would also signal that you cannot switch anywhere.

I believe this can be solved, by making the styp required whenever you have an unequal amount of fragments in order to make sure if a fragment is a fragment as being a switch point or just looks like fragment. This could also be assisted by manifest signaling. Most important is, that we signal "what looks like a fragment" as not "being a CMAF Fragment", by giving it an styp of a random access chunk

If the general problem is understood, the fix can be done.

haudiobe commented 4 years ago

A similar issue applies for CMAF Aligned Switching Sets: "CMAF specifies aligned CMAF switching sets that logically group multiple CMAF switching sets that are alternative encodings of the same content with time-aligned CMAF fragments." Can you have a different number of fragments?

cconcolato commented 4 years ago

d) All CMAF tracks in a CMAF switching set shall contain the same number of CMAF fragments.

Can we get clarification on how the CMAF validation tools validate this rule? It's seems easy when styp boxes are present but when they are not present, that seems tricky.

haudiobe commented 4 years ago

One issue is a validation, but I believe it is also a functional aspect. Because if you find a CMAF Fragment in a track, based on the definition, you assume that you can switch to another track. So you would just do this possibly, but this not correct.

I have a suggestion, that we require either the use of the styp or the manifest needs to define CMAF Fragments. So there is some choice here.

cconcolato commented 4 years ago

What about:

The definition of a CMAF Fragment allows for flexibility in determining the boundaries of CMAF Fragments in a CMAF Track. For example, the sequence of 2 CMAF Fragments is also a valid CMAF Fragment. If the boundaries of CMAF Fragments need to be unambiguously determined (e.g. for the purpose of validating CMAF Switching Set constraints, or for the purpose of indicating to players where the adaptive switching constraint is applicable), writers should use SegmentTypeBox boxes with the brand 'cmff'. Alternatively, tools (e.g. players or validators) may use external indication such as manifests.

cconcolato commented 4 years ago

The CMAF group discussed this issue and agreed to integrated the above text to the next amendment.

haudiobe commented 2 years ago

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