Boundaries

A boundary defines a section of a stream which may be replaced with ads or slate, or skipped entirely.

Requires Live Slicer version 16031400 or higher

Learn how to:

  • Set up boundaries
  • Handle boundaries during playback

Set Up Boundaries

Follow these rules when setting up a boundary:

  • Define the start and end of a boundary through the boundary method in the Live Slicer API.
  • Any boundary type (e.g., c3, c7, or halftime) may be specified when creating a boundary.
  • Boundaries cannot overlap.
    • Mark the end of the previous boundary before starting a new one.
  • A boundary cannot overlap with a pod break.
    • Mark the end of a pod before starting a boundary.
    • Mark the end of a boundary before starting a pod.
  • A boundary cannot span multiple assets.
    • Mark the end of a boundary before the end of an asset.

Playback

A boundary type dynamically defines a section within a live stream where ads or slate may be inserted. How this section is handled in the manifest varies depending on whether the viewer is watching a live stream or on-demand content.

For example, a c3 boundary may identify an ad break within a live stream. Live stream playback and the asset created from this live event will include the commercials in that ad break. However, on-demand playback may either include the ads from the original airing, replace them with new ads, or skip them.

Live Streaming

How a boundary is handled during live stream viewing is determined by the boundary.<boundary_name> parameter (e.g., boundary.c3). Valid values for this parameter are described below.

Boundary Modes

ValueDescription
ignore_as_contentDefault. This mode plays the content within the boundary and treats it as standard content.
ignore_as_adThis mode plays the content within the boundary and treats it as an ad.
replace_as_adIf the ad parameter (e.g., &ad=myadcampaign) is present in the playback request, then this mode replaces the content within the boundary with dynamic ad(s). If there is insufficient ad content, then the stream will play ad slate until the end of the boundary.
replace_as_ad_return_earlyIf the ad parameter (e.g., &ad=myadcampaign) is present in the playback request, then this mode replaces the content within the boundary with dynamic advertisement(s). If there is insufficient ad content, then the stream will switch back to content once all ads have been streamed.
skipThis mode replaces the content within the boundary with slate.

Sample URL:
https://content.uplynk.com/<asset_id>.m3u8?ad=<ad_config>&boundary.c3=replace_as_ad

On-Demand Streaming

All boundaries defined within a live stream are retained by the asset created from that stream. How a boundary is handled during on-demand playback is determined by the boundary.<boundary_name> parameter (e.g., boundary.c3). Valid values for this parameter are described below.

ValueDescription
ignore_as_contentDefault. The content within the boundary will be played normally and treated as standard content.
ignore_as_adThe content within the boundary will be played normally and treated as an advertisement.
replace_as_adThe content within the boundary will be replaced by dynamic advertisement(s) provided that the playback request includes the ad parameter (e.g., &ad=myadcampaign).
skipThe segment defined by the boundary will be omitted. In other words, the viewing experience will be seamless between the slices that occur right before and after the boundary.

Sample URL:
https://content.uplynk.com/<asset_id>.m3u8?ad=<ad_config>&boundary.c3=skip

Use Cases

The use cases described in this section assume:

  • A sporting event was streamed as a live event.
  • Several boundaries of varying types were added as the live stream was sliced. These boundaries are defined below.
Start Time - End TimeBoundary Type
(Live Slicer API)
Type of Content
0:00 - 12:00No BoundaryLive sporting event
12:00 - 13:00c3An ad that is relevant for up to 3 days after the original airing.
13:00 - 25:00No BoundaryLive sporting event
25:00 - 27:30c7An ad that is relevant for up to 7 days after the original airing.
27:30 - 35:00No BoundaryLive sporting event
35:00 - 45:00halftimeIdentifies special content.
45:00 - 52:00No BoundaryLive sporting event
52:00 - 53:30c7An ad that is relevant for up to 7 days after the original airing.
53:30 - 60:00No BoundaryLive sporting event
60:00 - 62:00c3An ad that is relevant for up to 3 days after the original airing.
62:00 - 75:00No BoundaryLive sporting event

On-Demand Streaming - Ad Replacement (c3)

In this scenario, on-demand playback takes place 5 days after the live stream. The following playback URL will:

  • Replace all c3 boundaries with dynamic advertisements.
  • Allow playback of the original c7 boundaries as advertisements.
  • Skip the halftime boundary.

Sample URL:
https://content.uplynk.com/<asset_id>.m3u8?boundary.c3=replace_as_ad&boundary.c7=ignore_as_ad&boundary.halftime=skip

Start Time - End TimeBoundary Type
(Live Slicer API)
Playback
0:00 - 12:00No BoundaryOriginal sporting event
12:00 - 13:00c3Dynamic advertisement (length may vary)
13:00 - 25:00No BoundaryOriginal sporting event
25:00 - 27:30c7Original advertisement
27:30 - 42:00No BoundaryOriginal sporting event;
The content defined by the halftime boundary was skipped.
42:00 - 43:30c7Original advertisement
43:30 - 50:00No BoundaryOriginal sporting event
50:00 - 52:00c3Dynamic advertisement (length may vary)
52:00 - 65:00No BoundaryOriginal sporting event

On-Demand Streaming - Ad Replacement (c7)

In this scenario, on-demand playback takes place 8 days after the live stream. The following playback URL will:

  • Skip all c3 boundaries.
  • Replace c7 boundaries with dynamic ads.
  • Include the content defined in the halftime boundary and treat it as standard content.

Sample URL:
https://content.uplynk.com/<asset_id>.m3u8?boundary.c3=skip&boundary.c7=replace_as_ad&boundary.halftime=ignore_as_content

The following playback URL is also valid since ignore_as_content is set by default.

Sample URL:
https://content.uplynk.com/<asset_id>.m3u8?boundary.c3=skip&boundary.c7=replace_as_ad

Start Time - End TimeBoundary Name
(Given to the slice API)
Playback During On-Demand Streaming
0:00 - 24:00No BoundaryOriginal sporting event;
The content defined by the c3 boundary was skipped.
24:00 - 26:30c7Dynamic advertisement (length may vary)
26:30 - 34:00No BoundaryOriginal sporting event
34:00 - 44:00halftimeOriginal special content
44:00 - 51:00No BoundaryOriginal sporting event
51:00 - 52:30c7Dynamic advertisement (length may vary)
52:30 - 72:00No BoundaryOriginal sporting event;
The content defined by the c3 boundary was skipped.

Did this page help you?