Concept of Sources

What is it that we call "Source" on broadpeak.io

Sources

A broadpeak.io source is typically defining where your streaming content can be retrieved from, and what type of content media is being used. For some applications, other objects are also defined as sources (e.g. Ad Server for Targeted Ad).

A source is uniquely defined (independently of applications). The API to create, read, update or delete Sources can be found here: link.

Source Format

You can define only one combination of streaming format per source (e.g. DASH or HLS). This level of granularity is intended to provide the maximum level of flexibility and to allow you to select specific source variants in your services. Therefore, you need to define multiple source variants if you have multiple combinations (e.g. packaging formats, packaging formats versions, DRM versions, etc.).

Source Type

Here is a short description of each available source type you can create

Source typeDescription
Ad ServerA link to an ad server compliant with the VAST or VMAP protocols, which will tell broadpeak.io which ads should be played within an ad placement opportunity, depending on the context. This source can be used in an Ad insertion or a Virtual Channel service
Asset CatalogA link to a directory containing DASH and/or HLS VOD assets. This source can be used in a VOD Ad insertion service.
AssetA link to a DASH or HLS VOD asset that can be used as content in a Virtual Channel slot or a gap filler in an Ad Insertion service
LiveA link to a DASH or HLS live channel that can be used as original source in a service or replacement content in a Content Replacement or Virtual Channel service
SlateA VOD asset transcoded from a JPEG still picture or an mp4 video, that can be used as gap filler in an Ad Insertion service. Requires a transcoding profile compatible with your live source.

Each source is defined by a serie of attributes. A check box next to the URL validates the access and conformity of the source. An error message is displayed in case the source does not fully match with broadpeak.iorequirements. See below for more details on source status.

Live source attributes

Live sources must provide open manifests. Attributes of a live source are as follow:

ParameterDescription
NameString (must be unique accross all applications)
URLStreaming URL on your origin
Backup origin IP (optionnal)Backup IP address of origin to use in case the manifest cannot be read from the URL. The Backup IP is functionnal only if main URL is expressed with HTTP IP adress

Main validation status requirement: the manifest returned must be a live manifest, which means that it has to contain, in DASH a type="dynamic" tag and in HLS a #ExT-X-PLAYLIST-TYPE:EVENT tag or not contain a #EXT-X-ENDLIST tag.

Asset sources attributes

Asset source have the same attributes than live sources. Asset sources must provide closed manifests.

ParameterDescription
NameString (must be unique accross all applications)
URLStreaming URL on your origin
Backup origin IP (optionnal)Backup IP address of origin to use in case the manifest cannot be read from the URL. The Backup IP is functionnal only if main URL is expressed with HTTP IP adress

Main validation status requirement: the manifest returned must be a static manifest, which means that it has to contain, in DASH a type="static" tag and in HLS a #ExT-X-PLAYLIST-TYPE:VOD tag or a #EXT-X-ENDLIST tag.

Asset Catalog attributes

An asset catalog is a serie of VOD that can be fetched from single repository. It is highly recommanded to have consistency in asset's media format (encoding and packaging).

ParameterDescription
NameString (must be unique accross all applications)
URLStreaming URL on your origin where the assets of the catalog can be retrieved
SampleA path sample is required to check the status of a source within the asset catalog. This sample is also used in service's preview.
Backup origin IP (optionnal)Backup IP address of origin to use in case the manifest cannot be read from the URL. The Backup IP is functionnal only if main URL is expressed with HTTP IP adress

Main validation status requirement for the sample asset: the manifest returned must be a static manifest, which means that it has to contain, in DASH a type="static" tag and in HLS a #ExT-X-PLAYLIST-TYPE:VOD tag or a #EXT-X-ENDLIST tag.

Ad Decision Server attributes

As ad servers are designed to decide what ads have to be inserted depending of different criteria such as subscriber profile or watched content, ad server attributes are slightly different

ParameterDescription
NameString (must be unique accross all applications)
TemplateAd server type. Default is value is Custom. Choose Ad server proxy in case you want to use the build in feature for for Ad insertion in Assets catalogs.
QueriesString of macros required by the ad server to return relevant ads. See Ad Macro section to get details on how to configure this field.
URLFQDN and path to access the ad server

Main validation status requirement : source status is valid when ad server returns a 200 response.

Source Status

The WebApp and the API provide information about the status of your sources. The objective is to ensure you have visibility on the content (input feeds) used in your broadpeak.io Services definitions.

Status OK

Status OK

Source status on the WebApp

The source status displayed by the WebApp is based upon server side and client side checks.
The first check is performed server side. The client side check is done only if the server side test passes.
As client side check are impacted by web browser policies (e.g. security), a warning on the WebApp does not necessarily mean that your source is going to have the same status when used by the broadpeak.io platform.

Wherever a colored icon is displayed next to a source in the WebApp, it is reflecting the source status. In this case, by default, the refresh period is 4 seconds. If you hover your mouse over this icon, you will get additional information thanks to a tool tip. Note that source status will soon be added in the list of sources (link)

List of typical source statuses

StatusColor codeSample source URLDescription
Status OKGreenhttps://origin.broadpeak.io/bpk-tv/bo2/default/index.mpdManifest can be read
Client side connectivity issueYellowhttp://origin.broapeak.io/bpk-tv/bo2/default/index.mpdManifest can be read on server side but not on client side
Request failed with status code 404Redhttps://origin.broadpeak.io/bpk-tv/bo/default/index.m3u8Manifest not found on the origin or CDN
Status failed with status code 403Redhttps://api.broadpeak.io/v1/sources/check/index.m3u8The provided source URL requires authentication or authorization
Timeout of 2900 ms exceededRedhttps://tmp.ridgeline.fr/badmanifest.m3u8Manifest reading takes too long

In a Service preview, the source status is highlighted as shown below

Source status API

It is also possible to use te API to retrieve the status of a source here