Enabling Blackout with the Webapp

To create a blackout slot in a live video stream, you have to use a Broadpeak.io's Content replacement service. You can create this service in two ways: through the web app or via the API.
There are three main steps we recommend you to go through to create a Blackout slot.

1Sources creation
2Content replacement service creation
3Content replacement service preview - optional (web app only)
4Streaming from broadpeak.io

Steps 1 and 2 can also be done via the API, but as a first step in discovering the platform, using the web app can help you understand some key concepts and test your Blackout slot quicker.


Web app or API ?

Although this section is based on the Web app, configuration can of course be done through the API (with the exception of the Preview feature). As far a provisioning is concerned, the Web app is intended to facilitate and accelerate the discovery phase for anyone who is not familiar with the platform. The secured API is always available and is the interface which allows programmatic automation at scale. Both are useful and bring complementary benefits depending of where you are in your onboarding process.

Step 3 is optional, but we recommend that you use it as soon as your service is created as it gives you the possibility to immediately preview your service and the associated source. This screen has embedded players and status displays that can give you a high level of confidence, although it cannot replace an end-to-end test with your own end-user client players.


Creating sources while creating services

The current version requires you to create your sources before creating your service.
In the future, you will be able to create your sources while you create your service in the web app.

Step 1: Creating Sources

The objective of this phase is to define the streaming sources you will use for your blackout slot : a main Live source and the one to be used for the replacement slot (blackout or slate for instance).

Once you have clicked the Sources icon, and then the Create New icon, you can create a source as follows (Live type in this example). You can repeat this step and create as many sources as you need (except if you are on a free plan: see limits).


Creating a new source

At this stage, you can enter the source parameters such as name and URL.



For Live sources, the web app indicates whether your source is accessible or not with a colored status icon next to the stream URL, in real time, even before confirming the source creation.


Step 2: Creating your Content replacement service for blackout

Once your sources are created, you can create a Content replacement service.
To do so, click the Create a Service icon, in the upper left corner.


You then enter a short sequence, with three phases.
The web app shows which phase you are in by highlighting in grey the pending phases.


Phase 1

This phase basically gives you the ability to define the name of your service, an optional environment tag, the original content (select source) and the default replacement content (select source).


Phase 2

This phase is intended to provide you with a summary of your service configuration.
You can review all the key definition parameters on a single page and decide either to confirm (in which case your service will be created immediately), or to go back and make some changes to the configuration.


Step 3: Previewing your Blackout settings

Now that your Content replacement service is created and can trigger a blackout slot, you can test and preview it in the web app to make sure it is functional with the embedded player.

The title at the top of the video content is a reminder highlighting which specific service you are currently previewing.

Left screenRight screen
This embedded player decodes the Source associated with the original content. The Source name and Source URL are displayed underneath.This embedded player decodes the Content replacement service generated by the broadpeak.io platform. The Service name and Service URL are displayed underneath.

Video decoding in the Web app


Source Decoding

For your Sources, keep in mind that there are several pre-requisites needed to ensure those streams can be decoded in the web app. For instance, if your sources are encrypted with DRM, you will not be able to preview those streams. Likewise, if your sources are still HTTP, do not forget to change your web browser setting to allow unsecured content for the https://app.broadpeak.io/ web site. As the broadpeak.io always delivers HTTPS Services, mixed content (HTTP and HTTPS) needs this specific action on your side in this case.

Assuming you can preview your original content source and broadpeak.io Content replacement service, you can then create a test slot by clicking on the "Create content replacement slot" icon. Once you do so, you will get a 30 seconds unconditional blackout slot created in 30 seconds. Unconditional means that the audience will not be taken into account. During the blackout slot, the replacement content will be the default replacement content defined in the service.

Step 4: Streaming from broadpeak.io

Once you have created your Content replacement service for your blackout, you get a unique URL generated by the broadpeak.io platform, which you can use to configure the backend of your service platform. The broadpeak.io platform ensures that all the URLs of your service are unique.

Streaming endpoint definition

When generating a streaming endpoint, broadpeak.io uses a unique 24 characters hash based on different parameters which automatically becomes part of the URI path. For instance, assuming your origin URL is https://myOrigin.video/a/b/c/index.mpd, then the output endpoint URL for a service would look like https://stream.broadpeak.io/${hash}/a/b/c/index.mpd. For instance, it could look like this: https://stream.broadpeak.io/a87ff679a2f3e71d5ed9eb3d821365a2/a/b/c/index.mpd



In order to ensure that streaming URLs are secured, all output endpoint URLs generated by the platform are using HTTPS.

Please consult the Using broadpeak.io with a CDN section to configure your CDN so it can points to the generated streaming endpoint for manifest requests.



  • Changing the source URL used by your service will also change the URL of the Content replacement service
  • There is no URL persistency across service re-creation: if you delete a service and re-create it with the exact same parameter: there is no guarantee that the URL will be the same.
  • You cannot delete a source which is currently used in a service. You must first delete all services using the source before you can delete it. If this is the case, the web app will display the list services currently using the source to help you identify the impacted services. The corresponding API call (link) will also return this list.