Can the Bitmovin player API expose end of periods (DASH) or discontinuities (HLS)?

I would like to create a player to monitor VOD and live feed in which mid-roll ads are used (which are fulfilled through server-side ad insertion, not client-side!).
Is it possible for the Web player’s SDK (in Chrome browser in particular) to trigger an event when a discontinuity takes place (in HLS) or a transition between periods (in DASH) takes place?

Hi @fabre.lambeau1 , thanks for your question.

In general SSAI Ad insertion in HLS and DASH consists of following 2 potential signalizations.

  • DASH period change and HLS playlist #EXT-X-DISCONTINUITY tag.
  • Ad metadata in form of DASH event streams and HLS #EXT-X-SCTE35 or #EXT-X-DATERANGE or #EXT-X-CUE- tags.

Bitmovin Web SDK provides support for following.

  • PeriodSwitch marking start of DASH period switch.
  • PeriodSwitched marking period switch complete for DASH periods.
  • Metadata events for DASH event streams and HLS #EXT-X-SCTE35 or #EXT-X-DATERANGE or #EXT-X-CUE- tags. The event carries a MetadataType field which can be used identify what caused the metadata event and the metadata contained in event generally provide information about Ad.
  • For HLS #EXT-X-DISCONTINUITY, there is no event fired by player but there is another potential way to find about discontinuities. Player SDK provides a segmentplayback event which contains discontinuitySequenceNumber. If app registers for this event, then it can detect a discontinuity by monitoring a change in value of discontinuitySequenceNumber. Please note that app will need to enable TweaksConfig.native_hls_parsing to use SegmentPlaybackEvent on platforms like Safari where native player is used.

Please let us know if above information helps or if there are any follow up questions.

Thanks and Regards,
Lucky Goyal

Thanks @lucky.goyal,

So, for DASH that’s clear.
For HLS (note that your 3rd bullet point mentions DASH instead of HLS), the EXT-X-DISCONTINUITY on its own would therefore not raise any event, it would need to be accompanied by one of the other EXT-X markers carrying metadata to work, is that right?

The idea here is to spot when there is a discontinuity / period change, independently of whether ads got filled. Particularly to help troubleshoot cases in which no ads where added even though there was an expectation that there would be one.



Thanks for sharing the use case. Your understanding is correct. There is no event for HLS #EXT-X-DISCONTINUITY but I have added a new point(4) in original answer(to keep entire answer in 1 reply) suggesting another potential way to achieve the desired use case. Also for point(3), Metadata events work for both DASH (event streams) and HLS (playlist tags).

Thanks and Regards,
Lucky Goyal

Thanks @lucky.goyal. Brilliant, as always and as expected with you.

1 Like

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.