HLS Ad markers

The Ad Marker plugin lets users get ad availability information from their HLS manifest.

Supported ad tags

Plugin only supports the following ad tags:

  • EXT-X-CUE

  • EXT-X-CUE-OUT

  • EXT-X-CUE-IN

  • EXT-X-CUE-OUT-CONT

  • EXT-OATCLS-SCTE35

Ad Marker Tagging

This section illustrates how to implement the ad marker plugin for ad tagging depending on the style of the HLS manifest.

CUE-IN CUE-OUT Ad Tags

Whether EXT-X-CUE-OUT or EXT-X-CUE-IN is detected within the HLS live manifest, player fires an event containing the ad avail information along the companion tags.

var config = {
  playbackOrder: ["hls", "dash", "default"],
  plugins: {
    admarker: {
      resources: [
          { src: "${paths.plugins}admarker/libs/scte35.js", type: "text/javascript" },
          { src: "${paths.plugins}admarker/Admarker.min.js", debug: "${paths.plugins}admarker/Admarker.js", type: "text/javascript" }
        ]
      }
  }
};
akamai.amp.AMP.create("amp", config, function(event) {
  var amp = event.player;

  amp.admarker.addEventListener('cueout', function(e) {
    //ad break started
  })

  amp.admarker.addEventListener('cuein', function(e) {
    //ad break ended
  })
});

Continuation Ad Tag

In some cases the HLS manifest only provides a continuation tag EXT-X-CUE-OUT-CONT indicating that an ad break is in progress.

akamai.amp.AMP.create("amp", config, function(event) {
  var amp = event.player;

  amp.admarker.addEventListener('continuation', function(e) {
    //do something
  })
});

SCTE35 Markers

As an alternative, Ad marker plugin supports base64 encoded SCT35 messages alongside the EXT-OATCLS-SCTE35 tag. If found, plugin will throw a scte35 event along the decoded scte35 message.

akamai.amp.AMP.create("amp", config, function(event) {
  var amp = event.player;

  amp.admarker.addEventListener('scte35', function(e) {
    var message = e.details // decoded base64 scte35 message
    //do something
  })
});