Ecosystem

What are the typical components that make up a typical video streaming solution?

Before getting familiar with the broadpeak.io solution, let’s start with an overview of the ecosystem in which our products typically play an important role: online streaming, or as it’s often referred to, OTT streaming (where OTT stands for Over-The-Top).

📘

What about broadcast?

broadpeak.io products can be used in other scenarios, such as broadcasting - but for the purpose of this guide, we focus on online streaming.

Live and VoD

There are traditionally two distinct forms of video streaming that are being considered and contrasted when talking about online streaming:

  • VOD, which stands for video-on-demand, relates to the ability for the viewers to select a particular asset to watch, which is made available as part of some form of library of content. This is what you’re used to when you use a service like Netflix to watch movies, or when you watch shorter videos on YouTube or Facebook
  • Live streaming refers to the ability for the viewer to watch something that is being recorded in real time. Live streams can be time-bound (for example for a sports match, of a news bulletin), or can be running 24/7 (often then called live “linear”, as we are used to with broadcast TV channels)

The boundary between VOD and Live is somewhat blurry in a number of cases, in particular when snippets from a live stream are being provided in a VOD library (for example highlights from a sports match), or when virtual live streaming experiences are being created from VOD assets. However, in the majority of cases, the distinction should be fairly clear.

Components

A typical online video streaming solution, represented as a logical set of components, would look like the following diagram.

From the perspective of the content path and media workflows, the main functional components that are found in almost all such solutions are as follows

Media Flow

  • Sources are acquired:
    • For VOD (video on-demand), assets exist as files (eg. video, audio, subtitles, etc.), stored on some form of storage server
    • For Live, streams are captured (for example from cameras or broadcast feeds) and usually encoded into a high quality, high bitrate “contribution” streams transferred over IP by a contribution encoder
  • The content is then prepared to make it ready for consumption by end-user devices
    • An encoder takes the files and/or live streams and creates multiple renditions of it at different quality and bitrate levels. For that reason it’s often calls a “multi-bitrate encoder” or “OTT encoder”. You’ll often also hear the term “transcoder” which - although more correct - tends to remain functionally synonymous
    • The outputs from the encoder are then packaged into streamable formats by a packager
    • If content needs to be protected, the packager commonly works with a DRM service to encrypt the streams
  • Streams generated by the packager are now ready to be delivered to end-users
    • The packager pushes them to an origin service.
    • A Content Delivery Network (CDN) is then in charge of efficiently delivering those files from the Origin to the end-user devices via the internet. A CDN prevents buffering and stream crashes by placing copies of the media files close to the viewers.
  • Streams are delivered to clients. The term tends to refer to any device, and/or application on the device (whether a dedicated app, or a web browser) that will access and playback the content.
    • Those wrap a video player which is in charge of the work in requesting, downloading and rendering the content
    • If DRM is used to protect the content, the client (and/or player) also integrates with the DRM service to retrieve the necessary information to decrypt the content.

Orchestration

Outside of the media path, there are other components involved in an online streaming solution. Which ones depends on the type of solution such as the service functionality offered to end-users, and the monetization strategy used.

  • metadata and catalog management - used to manage media metadata (titles, descriptions, etc) and segmentation of the library of content (playlists, packages, offers, etc)
  • programming or scheduling system - used to define how and when content is shown to end-users, in particular in the case of live channels. A related type of system is provided by recommendation engine, which are used to personalise the content displayed to particular users
  • user management and authentication - used to for end-users (customers) to register and log in to the service
  • entitlement and authorization - used to define what users are able to watch what content and validate access, often working together with the DRM system
  • ad management - managing the ways in which video and static ads are delivered around and within the streams in AVOD (advertising-based video-on-demand) services
  • e-commerce - used to manage how access to the content is sold to customers, for example through subscriptions (SVOD = subscription video-on-demand) and single transactions (TVOD = transactional video-on-demand)
  • timeshifting - for live streams, particularly 24/7 ones, a set of components may be used to record and store data for later viewing by users, and to manage who has access to what recorded content and in what way. Associated terms are also often found, such as “nPVR” (network personal video recorder), “catch-up TV”, “start-over TV”. They all have slightly different meanings and functionality, but are logically related.
  • monitoring and analytics - a set of components that collect data about several aspects of the solution, to ensure that the system is healthy, and to inform business and technical made to improve and extend it

OTT services vary widely in the way they do this orchestration, but there is often a CMS (content management system) involved to take all or part of that responsibility. Some solutions have some or all of these components contained within the CMS, whereas others use separate services. These strategies may influence the overall media workflows in regards to how the content is prepared and how the workflows are orchestrated.

Infrastructure and hosting

As you can see, there are quite a few components involved usually. Where are those hosted and operating from? There are typically 2 major trends:

  • On premise (sometimes referred to as on private cloud): on servers in your own network.
  • In the (public) cloud: on servers accessed over the Internet, often hosted by one of the large cloud providers such as Google, AWS or Microsoft.

The choice here will typically depend on each component and service, and hybrid approaches in which some services are on-premise and others in the cloud are common. Although historically many would have been hosted in local networks, requiring hardware and maintenance, the trend these days is to have most if not all of them in the cloud.

The broadpeak.io Solution

The principal roles of broadpeak.io in this type of online streaming solution is to manipulate and repurpose the output of the encoder/packager (sitting on an origin), into a new sets of streams (distributed by the CDNs), which can be made sensitive to a particular playback context (such as a particular audience, geography, or monetisation model)