cta-wave / dash-hls

For work on the DASH-HLS Interoperability specification
10 stars 0 forks source link

Server Guided Ad Insertion Mechanisms #32

Open technogeek00 opened 3 years ago

technogeek00 commented 3 years ago

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

technogeek00 commented 2 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
technogeek00 commented 5 months ago

Update 3/13/2024

Based 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
ZmGorynych commented 5 months ago

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.

technogeek00 commented 4 months ago

Done a more in-depth comparison of HLS Interstitials and DASH Alternate MPD full notes here

DASH Alternate MPD

Basics

Behavior Functions

Other Notes

HLS Interstitials

Basics

Behavior Functions

Other Notes

Scenario Comparison

Scenario 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