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 type | Description |
---|---|
Ad Server | A 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 Catalog | A link to a directory containing DASH and/or HLS VOD assets. This source can be used in a VOD Ad insertion service. |
Asset | A 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 |
Live | A 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 |
Slate | A 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:
Parameter | Description |
---|---|
Name | String (must be unique accross all applications) |
URL | Streaming 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.
Parameter | Description |
---|---|
Name | String (must be unique accross all applications) |
URL | Streaming 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).
Parameter | Description |
---|---|
Name | String (must be unique accross all applications) |
URL | Streaming URL on your origin where the assets of the catalog can be retrieved |
Sample | A 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
Parameter | Description |
---|---|
Name | String (must be unique accross all applications) |
Template | Ad 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. |
Queries | String of macros required by the ad server to return relevant ads. See Ad Macro section to get details on how to configure this field. |
URL | FQDN 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.
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
Status | Color code | Sample source URL | Description |
---|---|---|---|
Status OK | Green | https://origin.broadpeak.io/bpk-tv/bo2/default/index.mpd | Manifest can be read |
Client side connectivity issue | Yellow | http://origin.broapeak.io/bpk-tv/bo2/default/index.mpd | Manifest can be read on server side but not on client side |
Request failed with status code 404 | Red | https://origin.broadpeak.io/bpk-tv/bo/default/index.m3u8 | Manifest not found on the origin or CDN |
Status failed with status code 403 | Red | https://api.broadpeak.io/v1/sources/check/index.m3u8 | The provided source URL requires authentication or authorization |
Timeout of 2900 ms exceeded | Red | https://tmp.ridgeline.fr/badmanifest.m3u8 | Manifest 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
Updated about 1 year ago