Key concepts

Starting and ending a Virtual Channel

When creating your Virtual Channel service in broadpeak.io, you are being asked to pick a Live source as original content. It is recommended to use a live stream with a black slate, or personalized logo, as an original content, it will be used as base stream from your Virtual Channel. At the end of the process of the Service creation, you receive a URL. This URL immediately delivers a Live manifest referencing the original source you would have defined when creating the Service.

A Virtual Channel has no hard start or hard stop apart from, respectively, the Virtual Channel Service creation and deletion. A broadpeak.io is always on, even when programs are not scheduled. In this case, the base stream selected when creating the Service as original Source is referenced in the manifest.
Therefore, the beginning of the Virtual Channel is a virtual starting point, which is represented by the actual start-time (UTC) of the first (in time) scheduled Mediapoint, or slot - aka the first VOD or event scheduled. When working with multiple variants, each variant can have its own starting point.

Along the same line, the end of the Virtual Channel is a virtual ending point, which is represented by the actual end-time (UTC), of the last (in time) scheduled Mediapoint, or Slot - aka the last VOD or event scheduled. When working with multiple variants, each variant can have its own ending point.
After the last scheduled VOD or event, the manifest delivered will be referencing the original source that you defined when creating the Service.

15321532

Example of a Virtual Timeline and personalized manifest delivered

📘

A few key takeaways:

  • A Virtual Channel starts as soon as the Service is created, with manifests referencing the original Source content defined when creating the Service.
  • Not scheduling a program during a certain period on your Virtual Channel, does not significate the end of the Virtual Channel.
  • If no program is scheduled on the Virtual Channel for a given period of time, the manifest will continue to be delivered, referencing the original Source content.
  • A Virtual Channel stops delivering the manifest when the Service is deleted.

Scheduling logic

Building a Virtual Channel schedule in broadpeak.io means creating consecutive replacement slots over a certain period or time on a Virtual Channel service. When scheduling a first asset, whether it is a VOD or a Live event, a start-time, a duration, and a replacement source must be provided. Each asset scheduled means that a content-replacement slot needs to be created on broadpeak.io using the API.

15621562

Example of a Virtual Timeline with associated slots/MediaPoints

In the example above, T0 is the start-time of the first program scheduled. Using the ENSI API, or REST API, VOD 1 is scheduled for a period of time of 600s (10min), which is the duration of VOD 1 in seconds. The second program is consecutively scheduled right after VOD1, so its start-time is the equivalent of VOD1's end-time. VOD2 is scheduled at T1 = T0 + 600s, for a duration of 420s, which is the duration of VOD2.

The same pattern can be applied to all the following consecutive events, where each slot's start-time is the end-time of the previous slot. Therefore in our example, the third program is scheduled at T2 = T1 + 420s , over a period which matches the duration of the event in seconds.

1. Slot 1 / MediaPoint 1

  • start time: 2022-12-20T16:20:00.000Z
  • duration: 600 seconds
  • replacement source: VOD1

1. Slot 2 / MediaPoint 2

  • start time: 2022-12-20T16:30:00.000Z
  • duration: 420 seconds
  • replacement source: VOD2

1. Slot 3 / MediaPoint 3

  • start time: 2022-12-20T16:37:00.000Z
  • duration: 630 seconds
  • replacement source: LIVE 1

No event scheduled in the timeline

In the event where somewhere in the Virtual Timeline of any of the variants, there is no event scheduled, the manifest will reference the original content that has been defined when creating the Service.

15321532

Example of a Virtual Timeline with missing events, and personalized manifest delivered

Using Live events in Virtual Channels

As soon as one needs to schedule Live event(s) in the Virtual Channel, scheduling can become a bit more complex to manage. Indeed, Live events start at a specific time, and finish at a another specific time. Sometimes, some events such as sport events need to be extended (soccer), or shortened (Tennis) in almost real time. Planning a Virtual Channel around Live events is not easy, and it can get really complex to build a Virtual Timeline where the combination of VODs perfectly matches the start of a Live event.

In that case, we recommend using promos and slates, which can come fill the gap between programs for a couple of seconds without deteriorating the user experience.

Audiences Management

All slots used to schedule programs (assets or events) are either unconditional or audience-based. A third scenario is possible, where a slot would only address the subscribers which do not belong to a certain Audience, but this is actually treated the same way as an Audience-based slot.
Under the unconditional slot approach, no matter the Audience he/she belongs, the subscriber is concerned by the slot. Under the audience-based approach, the subscriber is concerned by the slot if she/he belongs to the Audience for which the slot has been specified.

When working with Audience and channel personalization, some programs need to be scheduled for a certain base of subscribers, and other programs for another subscriber base. Sometimes, subscribers from different bases also have a common base of programs that they watch at the same time. In broadpeak.io, it is possible to create different slots on the same Virtual Channel, over the same period of time, for different Audiences. You can find more information about defining Audiences in the Handling Content Replacement slots section.

We will assume here, for the sake of explanation, that we have a subscriber base that is segmented in four Audiences. We intend to have some common programming for all four Audiences, as well as dedicated programs for each. We would then generate four variants, one per Audience, and therefore four Virtual Timelines as below:

15861586

Virtual Timeline representing a Virtual Channel with four variants

In the Virtual Timeline above, the four variants have their own schedule. They share a single event over the period, which is Live event 1. In this case:

  • four content replacement slots would be created for Variant 1, to schedule VOD1, VOD2, VOD 3 and VOD 4.
  • four content replacement slots would be created for Variant 2, to schedule VOD10, VOD11, VOD 12 and VOD 13.
  • three content replacement slots would be created for Variant 21, to schedule VOD21 and VOD22.
  • five content replacement slots would be created for Variant 30, to schedule VOD31, VOD32, VOD33, and VOD34
  • one content replacement slot would be created to schedule Live Event 1 on the four Variants.

Did this page help you?