Live Encoding with YoSpace
YoSpace provides Ad insertion services, and supports SSAI. To work with Bitmovin Live Encoding the following HlsManifestAdMarkerType should be enabled: EXT_X_CUE_OUT_IN
. It also works with EXT_X_SCTE35
and EXT_X_DATERANGE
.
Prerequisites
You will require your own YoSpace account.
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 the full Java API code example from Live Encoding with HLS, SCTE-35 and SSAI
-
use the Dashboard Wizard - in step 5, selecting HLS with TS muxing and selecting the compatible tags
-
-
Start your Live ingest stream
- e.g.: Use the example method from the “Sample ingest with a demo file” from Live Encoding with HLS, SCTE-35 and SSAI
-
In your YoSpace account Setup a Promotion Group
- Click on the Ad Operations tab and select in column Promotion Groups Manage Promotion Groups
- Click on the left on Create Promotion Group
- Give any meaningful name
- State: Active
- Click Save
-
Setup a Usage Profile
- Ask Yospace support to create one
-
Setup a Ad content Group with an Ad content
- Click on the Content tab and select in column Ad Content Manage Ad Content Groups
- Click on the left on Create Ad Content Group
- Set any meaningful name
- Click Save
- Click on the left on Upload Ad Content
- Usage Profile: If available, select usage profile
- Put Into: Select previously created Ad Content Group
- Either take a File from your PC, or configure a remote URL
- Give it any name
- Uncollapse Content Metadata
- Title: any
- Publish Date: today
- Click save
-
Setup a Dynamic Promotion
- Click on the Ad Operations tab and select in column Promotions Create Dynamic Promotion
- Give it any meaningful name
- State: Active
- Promotion Group: previously created Promotion Group
- On-the-fly Ingestion: ✅
- Apply To: Broadcast Streaming/VOD Context
- Ad Tag Template: your VAST/ad decision server URL
e.g. https://bitmovin-api-eu-west1-ci-input.s3.eu-west-1.amazonaws.com/scte35/tutorial/vast3_10s_ad_example.xml - Ingest Ads into: previously created Ad Content Group
- Ingest Usage Profile: If available, select usage profile
- Ad Creative Unique Key: Use Rentition URL with ([^?]+)
- Uncollapse Live DAI Placement Settings
- Ad Playlists: ✅ Search for multiple ads in response
- Target Duration: ✅ Retry ad request if target ad duration not reached
- Live Underrun Policy: Expose Broadcast
- Live Truncation Policy: Ad Boundary
- Uncollapse Advanced Settings
- Server-side Ad Tracking: ✅ Hit Impression URLs and ✅ Hit Quartile URLs
- VAST Wrappers: ✅ Allow multiple ads in wrapper response by default
- Click Save
- Click on the Ad Operations tab and select in column Promotions Create Dynamic Promotion
-
Setup a live stream
-
Click on the Content tab and select in column Live Streaming Manage Streams
-
Click on the left on Create broadcast stream
-
Optional: Feel overwhelmed by the sheer amount of options
-
fill out the following fields:
- Name: Any
- External ID: Any, but not your name and no spaces
- Promotion: previously created promotion
- Manifest Polling: HLS
- Checkmarks on Manifest Polling Enabled ✅ and Master Playlist Alignment ✅
- Ad Break Prefetch: 100
-
Uncollapse HLS manifest sources
- set a number as an ID
- Source media playlist URL: link to your video playlist (⚠️ NOT the master manifest!)
e.g. https://storage.googleapis.com/bitmovin-api-europe-west1-ci-output/encoding_test/liveEncoderWithScte35AutoReturn/video_0.m3u8 - Origin Master Playlist Level URI: That is the part of the media playlist only.
So in the above example it is video_0.m3u8
-
Uncollapse Output Stream configuration
- give it any name and external ID. Again it might help to not select the same name and id.
- Promotion: inherited
- Replacement Policy Server URL: your VAST/ad decision server URL.
e.g. https://bitmovin-api-eu-west1-ci-input.s3.eu-west-1.amazonaws.com/scte35/tutorial/vast3_10s_ad_example.xml - Access Control: Unrestricted
- Ad Break Prefetch: 100
-
Uncollapse Advanced
- Assigned to HARRO: Select any option here
-
Uncollapse Ingest Mapping
- Configure Ad Avail Start tag properly for your ad tags. E.g. #EXT-X-CUE-OUT:(?(?:\d+(?:.\d+)?|unset))
- Configure Ad Avail End tag properly for your ad tags. E.g. #EXT-X-CUE-IN
-
Uncollapse HLS Manifest Polling
- Poll from: Select same option as for HARRO here
- Poll frequency: 3000
- Push frequency: 3000
- Alert Media Sequence Stuck: 30000
- Key File Path Split: URI="
- Monitoring Post Sample Size: 300
- Checkbox at Enable Master Manifest Polling
- Poll Frequency: 5000
- Source Master Playlist URL: link to your master manifest.
e.g. https://storage.googleapis.com/bitmovin-api-europe-west1-ci-output/encoding_test/liveEncoderWithScte35AutoReturn/stream.m3u8
-
Click save
-
If you’ve done it correctly, you should see a green light
-
-
Get an Output
- Output URL generation rules can be found here: https://cds1.yospace.com/cmui/web/documentation/Main/en/r2-42-platform-documentation/live-streaming/available-live-streaming-modes.html#access-to-live-streaming-modes
Updated 9 months ago