Virtual Linear Playlists and Smartstart

Use a virtual linear playlist to simulate a linear stream experience that allows viewers to stream one or more asset(s) in sequence.

Which solution should I use to stream VOD assets?

Use one of the following solutions to allow your viewers to stream VOD assets:

Advantages

A virtual linear playlist provides the following advantages over a comma-delimited VOD playback URL:

How does a virtual linear playlist provide better performance?

Smartstart

Smartstart provides a virtual linear experience for a single asset through the use of a virtual linear playlist that only contains that asset.

Enable Smartstart on one or more asset(s) through the Bulk Smartstart endpoint. This endpoint creates a virtual linear playlist that is assigned the same system-defined ID as its asset.

What are the differences between Smartstart and a standard virtual linear playlist?

Smartsmart, which is a specialized version of a virtual linear playlist, provides an efficient method for creating a virtual linear experience for a single asset. Additionally, it creates a virtual linear playlist whose ID matches the asset it contains. This simplifies playback setup by allowing you to leverage asset IDs when generating playback URLs for Smartstart-enabled assets.

You may create a virtual linear playlist for a single asset. However, the virtual linear playlist will be assigned a random ID.

Virtual Linear Playlist Management

Use virtual linear playlists to provide a virtual linear experience for one or more asset(s). View and manage your virtual linear playlists from the Playlists page.

You may also create, update, and retrieve playlists through the Virtual Linear Playlist API.

Create a virtual linear playlist for Smartstart through the Bulk Smartstart endpoint. This type of virtual linear playlist is assigned the same system-defined ID as its asset.

Key information:

To create a virtual linear playlist

  1. Navigate to the Playlists page. ClosedHow?From the main menu, navigate to Content | Playlists.
  2. Click + Create Playlist.
  3. In the Playlist Name option, assign a name to the new playlist.
  4. Click Create & Edit.
  5. Perform the following steps to determine how ads embedded within assets will behave:

    • Enable: Set the Embedded Ad Break Duration option to the durations, in seconds, for each ad break within an asset.

      Use the Embedded Ad Break Slate Fill option to determine whether ad slate will play when there is insufficient ad content for an ad break. Setting this option to No will return the viewer back to content when there is insufficient ad content for an ad break.

    • Disable: Set the Embedded Ad Break Duration option to 0.
  6. Verify that the Active option is set to Yes.
  7. Use the Repeat option to determine whether the playlist will repeat when a viewer reaches the end of the playlist. Enabling this option will cause it to repeat indefinitely.
  8. Click Save Playlist.
  9. Click the Entries tab.
  10. Add assets to the playlist by performing the following steps:

    1. Click + Assets.
    2. Find the desired asset and then mark the checkbox that appears directly to the left of it.

      Assets are added to your playlist in the order in which they are marked. However, they can be reordered after they have been added to your playlist. Reduce this cleanup effort by selecting assets according to the order in which they should appear in your playlist.

    3. Repeat the previous step as needed.
    4. Click Add to Playlist.

    Reposition an asset by dragging the icon to the desired position in the playlist.

  11. Add ad breaks to the playlist by performing the following steps:

    1. Click + Ad Break.
    2. From the Duration (seconds) option, indicate the duration, in seconds, of the ad break.
    3. Click Add. The ad break will be appended to your playlist.
    4. Reposition the ad break by dragging the icon to the desired position in the playlist.
    5. Repeat steps i - iv as needed.
  12. Click Save Playlist.

To modify a virtual linear playlist

  1. Navigate to the Playlists page. ClosedHow?From the main menu, navigate to Content | Playlists.
  2. Click on the desired playlist.
  3. Perform one of the following actions:

    • Enable or disable a playlist through the Active option which can be found on the Details tab.
    • Determine whether the playlist will repeat when a viewer reaches the end of the playlist through the Repeat option.

To delete a virtual linear playlist

  1. Navigate to the Playlists page. ClosedHow?From the main menu, navigate to Content | Playlists.
  2. Click on the desired playlist.
  3. Click Delete Playlist.
  4. When prompted, confirm deletion by typing DELETE and then clicking Delete Playlist.

Virtual Linear Experience

Simulate a more authentic virtual linear experience by implementing the following components:

Timeline

Implement a timeline within your player by leveraging content duration and ad break location information provided within a timeline Dynamic Manifest Marker. A Dynamic Manifest Marker dynamically provides different types of metadata (e.g., timeline and ad break information) within the manifest file.

A timeline Dynamic Manifest Marker does not provide information about ad duration. Additionally, ad break duration is unknown at the start of the playback of a virtual linear playlist. Therefore, we recommend that ad breaks be represented within the timeline as events (e.g., a mark within the timeline).

Include information about requested ads by adding ad break Dynamic Manifest Markers.
Learn more.

Add a timeline Dynamic Manifest Marker to the top of a manifest file by including the following query string parameters in the playback URL:

&dmm.schemas.top=timeline&pltl=1

The pltl (i.e., playlist timeline) query string parameter adds timeline metadata for all of the assets defined within your virtual linear playlist. This could lead to a large timeline when your playlist contains multiple assets or when there are many ad breaks between assets.

The pltl query string parameter is optional for Smartstart-enabled assets.

Sample playback request:

https://content.uplynk.com/playlist/10c5467d77c54dc4b739db2cd832143a.mpd?dmm.schemas.top=timeline&pltl=1

Sample playback request (Smartstart):

https://content.uplynk.com/playlist/12d5e67d77c54dc4b739fb2cd835944c.mpd?dmm.schemas.top=timeline

Sample representations of timeline metadata for HLS and DASH are provided below.

Sample timeline metadata:

{
	'repeat': -1,
	'content_duration': 60.3093,
	'breaks_count': 4,
	'session_id': 'd9cab2afee494db7a0a5b877727ef387',
	'breaks': [{
			'id': 1,
			'offset': 11.0080
		}, {
			'id': 2,
			'offset': 26.0000
		}, {
			'id': 3,
			'offset': 33.0026
		}, {
			'id': 4,
			'offset': 52.0053
		}
	]
}

Ad Break Dynamic Manifest Markers

A virtual linear playlist allows the player to fetch ads as playback approaches an ad break. Leverage ad break Dynamic Manifest Markers to provide metadata about requested ads.

Add ad break Dynamic Manifest Markers to the manifest file by including the following query string parameter in the playback URL:

&dmm.schemas.breaks=break_info

Sample playback request:

https://content.uplynk.com/playlist/10c5467d77c54dc4b739db2cd832143a.mpd?dmm.schema.breaks=break_info

An ad break Dynamic Manifest Marker may include the following information:

Sample representations of this metadata for HLS and DASH are provided below.

Check the dmm_data_not_ready property to find out whether actual ad break duration is known.

Example (unknown actual ad break duration):

The following sample data indicates that actual ad break duration has not yet been determined:

{
	'break_dur_req': 180.00,
	'break_dur_act': -1,
	'ad_dur': 10010.02,
	'num_ads': 3,
	'ad_slate': 0,
	'dmm_data_not_ready': 1
}

Example (known actual ad break duration):

The following sample data indicates that actual ad break duration exceeded the requested ad break duration by 5.68 seconds:

{
	'break_dur_req': 180.00,
	'break_dur_act': 185.68,
	'ad_dur': 10010.02,
	'num_ads': 3,
	'ad_slate': 0,
	'dmm_data_not_ready': 0
}

Seeking

Define the plts query string parameter within the playback URL to seek to a specific position within the playlist. This seek position is measured from the start of the playlist in seconds.

Sample playback URL:

The following sample playback URL seeks 2 minutes from the start of the playlist:

https://content.uplynk.com/playlist/2e64fcbc2c5d4eecbf5fc6bb4c8b2d60.m3u8?plts=120

Key information: