Fast Channel Zapping

PRESTOplay: Fast channel zapping

About

Switch through live channel content as fast as traditional broadcasting.

This demo implements fast track and rendition switching. Every switch will empty the buffer and freshly reload content. All segment requests will be cache-busted so nothing should be loaded from cache. You can experiment with the video below.

To learn more, please contact: sales@castlabs.com

Dataset

The dataset contains two channels with four renditions in total. The Primary Set has a 1080p 12 Mbit/s HD rendition (P-HD) and a 540p 2 Mbit/s SD rendition (P-SD). The same resolutions and bitrates are used for the Switching Set (S-HD & S-SD). However, the Primary Set has four second long segments while the Switching Set segments are one second in length. The segments are fragmented and Chunk Transfer Encoded. The Primary Set segments have 20 fragments while the Switching Set segments have 5 fragments.

PRESTOplay: Fast channel zapping

Total
Clear
Manifest
Init Segment
Download
Append
Decode
Other

Enable or disable fragmented segments. If support is enabled, CMAF chunked transfer encoding will be enabled and media data will be pushed to decoders while the download is still ongoing.

Switch to the start of the target segment instead of the precise position. This will reduce decode times and time to first frame and will reduce load times further when Fragmented Segments are supported.

Switch to low resolution for first segment to get faster zapping times.

Enable support to use a dedicated switching set with shorter segments and tighter GOP structures. This permits the player to access media data faster in case Fragmented Segments are not supported. If playback starts at the Segment Boundary, the dedicated switching set also enables playback starts closer to the live edge.

If selected, an ABR algorithm is enabled that permits the player to stick to the Switching Set until enough buffer was build up. This helps in tight network situation where the bandwidth close to the bitrate of the stream, especially if support for Fragmented Segments is not enabled.

Disable support for HD quality and force playback to SD. This simulates an ABR decision to switch up or down in the rendition ladder.

Assumes that the packager uses Manifests that can be cached locally and do not need to be updated to tune into the stream. DASH SegmentTemplate+Duration would be one of the ways to create live streams where the player can cache manifests of multiple channels.

Assumes the player can cache init segments locally and does not need to be load init segments on each channel change. Init segments can be pre-fetched, or even shared between channels.

Limit the network performance to simulate slower network connections. Please note that the HD renditions are 12 Mbit, which makes that the bare minimum to stream without stuttering.

Load all segments once to make sure that the CDN cache is loaded. Note that we are still appending query parameters to disable the client/browser cache.

Resets configuration options to default settings.