Dash-Industry-Forum / dash-live-source-simulator

DASH live source simulator providing reference live content.
Other
147 stars 38 forks source link

Multiple moof/mdat pairs and sequence number to be unique #68

Open Murmur opened 5 years ago

Murmur commented 5 years ago

DashLiveSIM is using segment 1..n filename number in a fragment sequencenumber field. This is fine if m4s file had just one moof/mdat fragment pair. Having multiple pairs such as a low-latency live test then seqnum should be incremented inside the m4s file per fragment pair.

Should this numbering be a global or can it be reset(=step backward a little bit) after each m4s segment file? This is something to think about and affects the overall implementation. Global numbering need more changes in a source code.

The SequenceNumber value for a fragment that appears later in the timeline MUST be greater than the value for a fragment that appears earlier in the timeline, but SequenceNumber values for consecutive fragments are not required to be consecutive.

TobbeEdgeware commented 5 years ago

We discussed this in the DASH-IF live task force meeting on Nov. 16. A globally growing sequence number cannot be combined with AST = 1970 and fragment duration less than 0.36s. Furthermore, it is only the segments which are addressable, while fragments are only interesting as part of a segment, so it was concluded that we could try to use increasing sequence number inside each segments, but let the sequence number inside the segment increase nicely.

In general, I don't think that any player really uses these sequencenumbers for anything useful.

As a summary, let's go for increasing segment numbers inside the segments, but let the sequence number of the first moof header increase by one between segments.