-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HLS discontinuity support #1335
Comments
What would be your expectations to HLS content that has a server-side ad inserted that has a different set of tracks than the main content. For example, main content has 3 audio languages and 5 video quality levels, whereas ad might have just one video and one audio track. How would such content need to be structured for Shaka to consume it without issues? How should the change in tracks be signaled at discontinuity time? |
Since discontinuities happen inside the media playlist, I expect that the ad segments would need to be the same across media playlists. Any matching of N content streams to M ad streams would have to be done server-side. The same thing in DASH is more complex, because the matching on N content streams in one period to M ad streams in the next period would have to be done client-side. Here's an example using your scenario, where there is only one ad resolution and language, but multiple video resolutions and audio languages for the main content:
|
@joeyparrish Quick note, for fMP4 you also want to add support for multiple EXT-X-MAP. In the case of ad insertion the encoding setting as well as the timestamp/timescale of the ad and content is likely not going to match (which is why you have a discontinuity in the first place). So you will need to reinitialize the decoder setting by loading the initialization segment present in the EXT-X-MAP following any DISCONTINUITY. A fmp4/cmaf style playlist should look like this:
|
@damienlevin, thanks! We will make sure not to miss that. |
This issue is still valid. |
This feature will not make it into v2.6, but work in v2.6 will unblock the development of discontinuities, which could appear in v2.7+. It will be a priority once we begin that cycle, but I can't guarantee specifically v2.7. If some other major feature is completed first, then that would be the defining feature of v2.7, and discontinuity support might be completed in v2.8. You can see our rough plans on our roadmap doc: https://github.com/google/shaka-player/blob/master/roadmap.md |
@joeyparrish is this something community contributors could help with and if it is, is there some "prior art" you could share? |
Potentially, but we're still working on the refactoring that will allow this feature to be implemented. Flattening DASH periods so that each track is a single list of segment references will allow us to finally add discontinuities for HLS. Sorry this has taken so long! |
Any update on this? This support is pretty critical not only for SSAI for linear streams but also for m3u8 manifests where multiple videos have been stitched together (such as for adding branding bumper videos dynamically). Currently, as soon as a discontinuity tag is hit, playback stops and the player gets confused about duration and position. |
Period flattening is still a work in progress; see #1339. |
Hello @jamescahall @MilosRasic @SVyatoslavG , |
Potentially but not posted here |
@jamescahall , |
TimestampOffset will be used as a paramater to create the segment references with discontinuity tags. Issue #1335 Change-Id: If7dfb63766c2397256561e6668e98f9136f885b5
We need to add support for EXT-X-DISCONTINUITY and EXT-X-DISCONTINUITY-SEQUENCE to improve support for server-side ad insertion.
https://tools.ietf.org/html/draft-pantos-http-live-streaming-20#section-4.3.2.3
https://tools.ietf.org/html/draft-pantos-http-live-streaming-20#section-4.3.3.3
The text was updated successfully, but these errors were encountered: