Key concepts

Dynamic Ad Insertion Service

broadpeak.io gives you the capability to monetize your live and asset catalog content in a very simple and straightforward way by defining a DAI Service. A DAI Service is essentially defining the play URL that end-user clients will use to stream video with dynamically inserted and/or replaced ads. You need to define one Service for every content source (e.g. VoD asset catalog, live feed) hosted on your origin.

A DAI Service is defined by two uniquely identified sources:

  • a content source (live or asset catalog type)
  • an ad server source (ad server type)

broadpeak.io gives you the capability to specify optional transcoding parameters.

  • When those parameters are not specified, broadpeak.io will fetch the (already prepared) ads using the ad creative URL returned in the Ad Server response. This is typically matching the ad inventory Direct Sales mode.
  • Conversely, when specified, broadpeak.io will transcode all new ad creatives on this DAI service with the transcoding and packaging parameters specified in the transcoding profile associated with the service. Automatically transcoding ad creatives gives you the confidence to maximize and control end user QoE. This is an important capability in the case of Programmatic ad sale, as ad creatives are selected on the fly through real time bidding exchanges or market places without any guarantee in terms of quality or consistency with the ABR profiles used by your streaming services.

Once you create your DAI Service, you will get a URL which can be used by the end user client devices/players. The following table gives a summary of the main capabilities supported on a DAI Service:

Capability vs Content type LiveAsset Catalogue
(e.g. VoD)
DefaultDynamic ad replacement within ad breaks signaled by SCTE-35 cue triggersDynamic ad insertion (pre, mid, post-roll)
OptionProgrammatic transcoding and packaging of ad creatives (including audio loudness control)Programmatic transcoding and packaging of ad creatives (including audio loudness control)
OptionDynamic ad insertion before playing the live stream ("Live pre-roll")N.A.
OptionGap filler (strongly recommended to ensure the ad break has video content and therefore maximize QoE) using either a pre-packaged asset or a transcoded slate (see Sources)N.A.
RoadmapCreation of ad breaks signaling throughout off-band API for live feeds which do not have SCTE-35 cue markersN.A.
RoadmapAd pre-fetch: capability to specify an ad creative URL, pre-ingest it and pre-transcode it so that it is ready on broadpeak.io origin ahead of first useN.A.

📘

For live gap filler, you can use promo content such as a logo to leverage and promote your brand or any other service package

📘

If your live feed does not have any in-band markers (SCTE-35 cues), you can still monetize your linear workflow with live pre-roll (which have no dependency on any marker).

Ad Server

An Ad Server is the service/component which programmatically decides which ads, and which pod (sequence of ads) is to be returned when getting a request from an SSAI service like the broadpeak.io one. An Ad Server is generally part of an SSP (Supply Side Platform) and is typically communicating with a DSP (Demand Side Platform) to match offers from advertisers. Regardless of whether the ad campaigns are sold through Direct or Programmatic, the SSP is also the service/component which collects the ad tracking beacons (typically quartiles from 0% until 100%) to collect ad impression metrics.
The broadpeak.io platform communicates with Ad Servers through protocols standardized by IAB. broadpeak.io is agnostic to what Ad Server is being used as long as the ad server can interface through the API using VAST (in the case of live, or pre-roll for asset catalogs) or VMAP (in the case of a VoD asset catalog).

📘

Note: for security and ad fraud reasons, some Ad Servers need the SSAI service to be whitelisted to access their backend API. If this is the case, don't forget to add the two IP addresses specified in this section to unlock communication.

Within the broadpeak.io platform, an ad server is defined as a source with the Ad server type. Here is an example of an Ad Server definition:

The ad server query parameters are optional. They can be static or dynamic. They are typically used to ensure the VAST or VMAP request can be properly identified and processed by the ad server.

Stay tuned (roadmap feature). You will soon be able to select some pre-integrated Ad Servers. In this case, the corresponding queries will already be filled in as a default template so that you do not need to worry about this part.

In the meantime, if you cannot find the appropriate query parameters in the Ad Server documentation, feel free to contact our Customer Success through the chatbot, for instance. We will do our best to impress you (and your ads of course ;-)).

Query Parameters

Query parameters sent by the end user client are a defined set of parameters attached to the end of a URL behind the '?' mark. They are extensions of the URL that are used to help define specific content or actions based on the data being passed.
In the case of DAI, the query parameters appended at the end of the client request will typically be used to specify a combination of Streaming Service Provider ID and audience. Those parameters will allow the Ad Server to decide what ad pod should be served when the request is being made by the SSAI service.
broadpeak.io will actually extract those query parameters and append them in the VAST or VMAP request sent to the Ad Server. The following play URLs show one of the simplest query parameters that can be used to stream a live service for two different audiences,kids and adults for example.

https://stream.broadpeak.io/2afe4567e1bf64d310c871203216aa01/bpk-tv/bpkiolive/default/index.mpd?category=kids
https://stream.broadpeak.io/2afe4567e1bf64d310c871203216aa01/bpk-tv/bpkiolive/default/index.mpd?category=adults