- Overview of HLS Interstitials (led by Rob Walch)
- Specification: https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis#appendix-D
- Primary Purpose: Inserts ads and other breaks/secondary content into primary content
- How it works:
- Points to secondary assets in date range
- This allows content to potentially vary without changing the primary content’s media playlists (aka caching considerations)
- This also sidesteps spec-complaint constraints on encoding of secondary content
- Specifies when to play content & resume
- Concern/Complication:
- Limitation - SSAI + Ad blockers (easier to detect)
- “play once” vs. “play every time” introduces unstable timeline when Interstitials are expected to occupy primary content timeline (doesn't map to HTMLMediaElement? one time / stable timeline model)
- No official interop with MPEG-DASH, leading to potential fragmentation
- Currently lacks wide support across playback environments
- Uncertain about level of support across common packagers, but general sentiment is that it’s minimal at best
- Related concern: even as packagers implement, there may not be consistency in the details of interstitial packaging
- How should browsers handle Interstitials support?
- Concern: Timelines/duration/etc.
- Based on the spec, an HTMLMediaElement? would not be guaranteed to “know” the total duration (and e.g. corresponding seekable start/end) of primary content + interstitials at the time of e.g. loaded metadata.
- Given the complexities this introduces, any final solution should keep the primary content duration distinct from any interstitial content duration
- After discussion w/Jer Noble and informal vote, any solution will likely need the HTMLMediaElement? to “own” any API that will facilitate interstitials (or at least part of it)