Open haudiobe opened 1 year ago
Provide Content Steering specfication
Hi, I would like to bring up one item which might be relevant for MPEG:
I reread the definition on how to replace $time$
as defined in 23009-1 5th edition. In my opinion, this is a bit confusing:
$time$
: This identifier is substituted with the value of the MPD start time of the Segment being accessed. For the Segment Timeline, this means that this identifier is substituted with the value of the SegmentTimeline@t
attribute for the Segment being accessed.S@t
: This value of this attribute minus the value of the @presentationTimeOffset
specifies the MPD start time, in @timescale
units, of the first Segment in the series. The MPD start time is relative to the beginning of the Period.$Time$
identifier by the earliest presentation time obtained from the SegmentTimeline.From my understanding it should be described more clearly that for <SegmentTimeline>
we are replacing $time$
with a media time and not with an MPD start time. Otherwise, we would need to apply the @presentationTimeOffset
before replacing $time$
. Moreover, we might want to add to the $time$
description that the value is specified in timescale units (or is this already implicitly defined with “MPD start time”?).
As an example: https://dash.akamaized.net/dash264/TestCasesHD/1c/qualcomm/1/MultiRate.mpd
This MPD contains a @presentationTimeOffset
and uses $time$
. To fetch the first segment, we replace $time$
with 0 and not with 0 – 1024. This is stated in the definition of $time$
but as mentioned above it could be confusing as it is not the MPD start time of the segment.
I think @RufaelDev also had a comment on this.
@dsilhavy thank you for raising this again, yes it would be good to clarify this, players like dash.js and shaka player indeed substitute the media time, I think fixing this in a corrigendum in MPEG makes a lot of sense. With regard to your example the first segment should be at 1024, but in fact it is better to explicitly signal @t for the first S element, and not make this implicit when it is not zero.
I got some feedback on the encoder sync draft from AWS, as AWS contributes to DASH-IF and not in MPEG maybe we can provide some of that through DASH-IF. The two questions are:
Another issue from here: https://github.com/Dash-Industry-Forum/Live/issues/75#issuecomment-1494030121
From DASH spec (section 5.3.9.6): "If a Segment Index ('sidx') box is present, then the values of the SegmentTimeline shall describe accurate timing of each Media Segment, Specifically, these values shall reflect the information provided in the Segment index ('sidx') box,..." => how to maintain compliance with inaccurate SegmentTimeline ?
Should be adding the $Time$ requirement.
Inform about pattern template and how the draft solution looks like for now. https://github.com/Dash-Industry-Forum/Live/issues/75
Thanks @dsilhavy I can move my discussion here, good to know my confusion is shared. Basically it seems either:
For the open source player:
S@t
value or ) see SegmentBase.javaClearly the open-source players (including the DASH-IF reference player) are not wrong.
So the confusion is in the spec[s]...
The ISO spec says use "MPD start time"
$Time$
: This identifier is substituted with the value of the MPD start time3.1.32 MPD start time approximate presentation start time of a Media Segment (3.1.28) signalled in MPD (3.1.26)
Where "presentation" time is:
3.1.36 Presentation time time associated to an access unit (3.1.1) that maps it to the Media Presentation timeline (3.1.27)
And Media presentation timeline:
3.1.27 Media Presentation timeline concatenation of the timeline of all Periods (3.1.34) which itself is common to all Representations (3.1.38) in the Period
The DASH-IF IOP adds two more timelines:
So, the ISO standard talks about a "global common presentation timeline..." (in 7.2.1 Media Presentation timeline) and proceeds to pretty completely explain how "Media Presentation time" (which one is left to assume is on the "Media Presentation timeline", but it is quite unclear).
Please provide topics by April 18, 2023