How to set up dynamic ad insertion using Stream Personalization

The following use case is an example configuration for configuring Stream Personalization for dynamic ad insertion.

The flowchart below represents the flow of information between the different components in the solution.

Objectives: Create a stream personalization service for HLS services, enabling dynamic ad insertion based on SCTE-35 in-band trigger.

Solution overview: MediaKind Stream Personalization acts as a manifest proxy for the different stream protocols (HLS, DASH, HSS).

System overview with corresponding request/response URLs System overview with corresponding request/response URLs (see table below)

The following table explains URL paths in the above diagram.

NameDescriptionValue
URL_user-CDNSent by a viewer to consume a live or non-linear content.http://[CDN_host]/live/myChannel/index.m3u8 ?userid=1234&device=iphone
URL_CDN-MFPZThis is URL_user-CDN, routed by the CDN to MFPZ. CDN is indeed configured with a no-cache policy for manifest files.http://[MFPZ_host]/live/myChannel/index.m3u8 ?userid=1234&device=iphone
URL_MFPZ-PACKRetrieves the original manifest from the packager, which is then modified by MFPZ based on the ADS response.http://[packager_host]/hls/myChannel/index.m3u8
URL_MFPZ-ADSUpon ad break detection, MFPZ connects to the ADS, providing the list of ads to insert in place of the original ads.http://[ADS_host]/[path]?userid=1234&device=iphone &breakDuration=30
URL_TrackTracking URL sent by the user player to MFPZ for ad viewing completing monitoring.http://[MFPZ_host]/track/[quartile_event]