Ad insertion issues

In a number of situations, broadpeak.io will not be able to perform an insertion or a substitution. Some of the cases are listed here, and should help you understand why you are not getting the result you expected. ##

Potential issues

Issue linked to the live source

For DAI (Live Ad Replacement) services, no insertion or replacement of ads can take place if broadpeak.iocannot detect SCTE-35 markers in the live source.

Issue linked to the ad server

No ad insertion can take place if the ad server responds to the call from broadpeak.io

  1. with an error code other than HTTP 200
  2. with a non-VAST payload
  3. with an empty VAST payload
  4. with an invalid (unparseable) VAST payload
  5. with a VAST payload that is not compatible with the requirements in VAST, VMAP & Creatives

Issue linked to timing

No replacement will be performed if the process of retrieving the source manifests, calling the ad server, processing its response and manipulating the manifest takes more than 5 seconds overall.

In addition, if the ad server takes more than 2 seconds to respond, a timeout applies (see Time/Timings management)

Issue linked to the ad creative

A specific ad (returned in the VAST payload) will not be inserted in any of the following cases

  1. The ad does not contain any linear creative
  2. The ad creative contains no usable MediaFile. The reasons here will depend on whether the Ad Transcoding feature is configured:

With transcoding configured

  1. There is no progressive MediaFile with an appropriate type, or
  2. The selected progressive MediaFile has a URL that points to a file that cannot be accessed over HTTP(S), or
  3. The creative for the ad has never been encountered before. It needs a bit of time to be transcoded and packaged before it can be inserted, or
  4. The transcoding of a previously encountered creative has not yet completed

With no transcoding configured

(or if transcoding is configured but no MediaFile with appropriate streaming type was found)

  1. The creative has no streaming MediaFile pre-packaged in HLS/DASH with an appropriate type, or
  2. The selected streaming MediaFile has a URL that points to a manifest that cannot be accessed over HTTP(S), or
  3. The manifest cannot be successfully parsed

Issue linked to the packaged creative format

The specific ad creative (whether pre-packaged or transcoded by broadpeak.io) cannot be inserted if its manifest is not compatible with the source.

This applies in particular for HLS, if the matching rules (described in HLS playlist manipulation) fail.


Tips for troubleshooting

Verify the ad server behaviour

  1. Check that the ad server is correctly configured and reachable from broadpeak.io. To help you determine this, in the WebApp check the status icon in the source or service pages. In particular note thatbroadpeak.io forwards the client's user-agent, so check if the ad server is authorising access only from specific user agents.
  2. Check that the ad server returns a VAST or VMAP that links to the desired ad. You should be able to use the ad tag in a browser or in an application like Postman to validate this.
  3. Check the logs of your ad server to verify that it received a correct request from broadpeak.io.

No live ad replacement

In case a live service containing ad placement opportunities signalled through SCTE-35 markers, but you see no replacement in the ad breaks, you can simplify things by activating the pre-roll feature and check that ads are inserted when the session starts.

If it's not the case, the issue is likely linked to the ad server (see the previous section)

If pre-rolls do appear, validate that your live stream does include supported SCTE-35 markers.

No insertion of transcoded ads

In case ad transcoding is enabled on your ad insertion service but no ads are inserted, try the following:

  1. Configure your ad server to always return the same ad.
  2. Play your service a first time and check that your ad server received a correct request from broadpeak.io.
  3. Wait for a few minutes, to give broadpeak.io enough time to transcode the ad then play your service a second time.

If the ad appears, your service is working correctly. If not, configure your ad server to return a different ad (in case the issue is linked to a specific file).

If it still does not work, it may be an issue of Transcoding Profile:

  • The Transcoding Profile selected may not produce ads compatible with your source, or
  • If ads were previously successfully inserted with the selected Trancoding Profile for that service, it may mean that there has been a change in the profile of the source stream since the service was configured.

Either way, the Transcoding Profile will need to be adjusted. Please contact us at [email protected].