Open technogeek00 opened 3 years ago
Question | Answer |
---|---|
Does the feature relate to an industry streaming use-case? | Yes, Ad Insertion |
- What is the commonality of this case? | Uncommon |
- Is this an established or emerging practice? | Emerging |
Does this feature have related mechanisms in both DASH and HLS? | Yes |
- What is the maturity of support in both specifications? | HLS - Immature , DASH - Immature |
- What is the maturity of implementation support for both specifications? | HLS - Immature, DASH - Immature |
- Are there known interoperability issues between specs? | Yes, DASH has multiple possible technologies |
- Has anyone implemented this interoperably? | No |
- Are there features missing in a specification with open proposals for it? | Unknown, needs investigation |
Has the industry defined defacto mechanisms not present in both DASH and/or HLS? | No |
- Why was functionality defined outside of the main specifications? | N/A |
- Has the functionality been standardized elsewhere (DASH-IF, CTA, SVA)? | N/A |
- Is the functionality proprietary or openly developed? | N/A |
- Could the functionality be incorporated into specifications with evangelism? | N/A |
schemeIdValue
and value
as the behavior holders, this results in multiple EventStream
objects being required for complex use cases like early cut back in live daiBased on this and the creation of HLS Interstitials since the initial creation the updated questionaire results in a composite score of: 8 vs the original 3
Question | Answer |
---|---|
Does the feature relate to an industry streaming use-case? | Yes, Ad Insertion |
- What is the commonality of this case? | Common |
- Is this an established or emerging practice? | Emerging |
Does this feature have related mechanisms in both DASH and HLS? | Yes |
- What is the maturity of support in both specifications? | HLS - Mature , DASH - Immature |
- What is the maturity of implementation support for both specifications? | HLS - Immature, DASH - Immature |
- Are there known interoperability issues between specs? | Yes, DASH has multiple possible technologies |
- Has anyone implemented this interoperably? | Potentially |
- Are there features missing in a specification with open proposals for it? | Unknown, needs investigation |
Has the industry defined defacto mechanisms not present in both DASH and/or HLS? | No |
- Why was functionality defined outside of the main specifications? | N/A |
- Has the functionality been standardized elsewhere (DASH-IF, CTA, SVA)? | N/A |
- Is the functionality proprietary or openly developed? | N/A |
- Could the functionality be incorporated into specifications with evangelism? | N/A |
Alternative MPD is new in the 6th edition and could provide better direct interoperability with HLS but is underspecified in its initial form
What is missing / underspecified? I would be glad to help fixing it.
Done a more in-depth comparison of HLS Interstitials and DASH Alternate MPD full notes here
"urn:mpeg:dash:event:alternativeMPD:2022"
emsg
in segments or in MPD with EventStream
objects
EventStream
objects at the MPD level, this is being looked at in editorial for simplificationon-receive
semantics by the event model within the DASH player"insert"
indicates playout of alternate content from the signaled start time for the total duration of the alternate MPD and then returning to playback in the main MPD at the original exit time"replace"
indicates playout of alternate content from the signaled start time for the total duration of the alternate MPD and then returning to playback in the main MPD at the original exit time + the duration of the played alternate content. (note if this eclipses the end of the main content the presentation simply ends)'replace+listen"
works semantically similar to the "replace"
mechanics, but allows for an explicit return point to be signaled by a "return"
event which carries the same id
as the original "replace+listen"
event.
"replace+listen"
and "return"
event pair in the time shift buffer window should still be treated as a capped replacement period."replace+listen"
need further specification and/or restriction for practical implementation perspective (purely semantically they make sense)"com.apple.hls.interstitial"
EXT-X-DATERANGE
tags in the primary variant playlistsEXT-X-DATERANGE
event semantics can update through subsequent playlist updates as attributes are further specified for previously specified eventson-start
semantics within the HLS playersScenario | DASH Alternate MPD | HLS Interstitials |
---|---|---|
Basic point in time insertion and return to same point after full playout | Utilize event with "insert " value semantics |
Event with resume offset of zero |
Replacement of fixed window in vod or live with replacement duration equal to alternate content duration (non-live edge) | event with "replace" value semantics |
Event with no resume offset or playout limit specification |
Replacement of fixed window in vod or live with replacement duration un-equal to alternate content duration (non-live edge) | potentially possible with "replace+listen" and "return" pair but not clear how to specify alternate content duration restriction independent of main timeline restriction |
Event with resume offset set to desired main content replacement duration and playout limit set to desired alternate content duration restriction |
Replacement of unknown window duration (live edge) | Event paring sharing ids with "replace+listen" occurring at start point and "return" at the force cut back point |
Event with no limit specifications in first tag definition and later additive tag with resume offset and playout limit introduction |
Playout beginning in the middle of active replacement (live edge) | Case underspecified | Play from beginning of interstitial |
Multiple insertions at a single time point | Not explicitly prevented, but behavior undefined. Likely to suggest single MPD with multiple periods or alternatively have DASH experts explore asset list type concept | Events are expected to be interpreted in sequence of declaration, but behavior if overlap of resume offset underspecified. Recommendation to use asset list json object with ordered set of media within instead |
Use Case Description
Utilizing manifest provided mechanisms to introduce alternative content that is either inserted into the main presentation experience or replaces a portion of the main content in the presentation experience.
Working Notes
Open Questions