Live Encoding with broadpeak.io
broadpeak.io is a cloud-based SaaS video API service from Broadpeak that offers a range of services including Server Side Ad Insertion (SSAI). To work with Bitmovin Live Encoding the following HlsManifestAdMarkerType should be enabled: EXT_X_DATERANGE
.
Prerequisites
You will require your own broadpeak.io account. You can sign up for a trial account at https://app.broadpeak.io/
Ensure you're familiar with Live Encoding settings match the requirements in Live Encoding with HLS, SCTE-35 and SSAI
How to Setup
-
Start a Bitmovin Live Encoder
- e.g.: use this Java API code example as the basis Live Encoding with HLS, SCTE-35 and SSAI modifying it with the following changes:
- Change the HlsManifestAdMarkerType to EXT_X_DATERANGE
- Optionally, adjust the video ladders (codec specs and muxing type) to match the default transcoding profile in broadpeak.io
- HLS compatibility
- HLS version 4 or lower. Higher versions may still work in some limited cases.
- Contains a single audio group
- Contains at most one subtitle group
- TS Media containers (recently broadpeak.io added Cmaf/MP4 support)
- EXT-X-STREAM-INF tags have the "BANDWIDTH" and "CODECS" attributes
- EXT-X-PROGRAM-DATE-TIME tag must be present in media manifests
- An Initialization Vector (IV) is present if your content uses AES-128 Encryption
- EXT-X-DATERANGE and/or EXT-OATCLS-SCTE35 tags enabled
- e.g.: use this Java API code example as the basis Live Encoding with HLS, SCTE-35 and SSAI modifying it with the following changes:
-
Start your Live ingest stream
- e.g.: Use the example method from the “Sample ingest with a demo file” section in Live Encoding with HLS, SCTE-35 and SSAI
-
Setup a broadpeak.io configuration
Note
The following changes will only be possible when the live stream is already running, otherwise the Source resource cannot be created.
Additionally, unless specified, pre-configured sample resources will be used, eg. for the ad server-
Create a Live stream input source:
-
Go to Sources
-
Click Create New
-
Type: Live, Name: Any, URL: URL to your live stream’s master manifest
-
Create a new ad insertion service:
- Go to Services
- Click Create New
- Type: Ad insertion, Name: Any, Content: the previously created live source → next
- Type: Ad replacement → add server: dummy ad server → next → run
- Add ad transcoding if required with the default profile, and a gap filler slate
- ⚠️ The transcoding profile may or may not work for your content. Get in touch with broadpeak.io support to check on that
- ⚠️ For every different Muxing, number of A/V channels, renditions etc. you need a dedicated profile. Only the broadpeak.io team are able to create it
-
-
-
Initiate SCTE markers in the upstream contribution platform from the Bitmovin Live Encoder
- ⚠️ broadpeak.io does not support multiple triggers on the same segment, if the break durations of those triggers do not align.
- ⚠️ When you first try playback of the broadpeak.io service URL, you may not see your ad breaks replaced with new ads; it may take a little while for the ads to be transcoded by broadpeak.io before they can be inserted in your stream. This is usually done within a few minutes - depending on the number and size of the ads
-
If everything is configured correctly the output should look like:
Resources
Updated 9 months ago