On This Page

Zencoder: Highwinds SMIL

Product(s)

Zencoder

Role(s)

API Developer

API(s)

Zencoder API

Highwinds is a fast CDN that offers a wide range of solutions, including adaptive streaming of video. To make using Highwinds adaptive streaming integration easier we have added a method to generate SMIL files.

Overview

SMIL files are XML documents in a special format which are used for describing multimedia presentations. Highwinds uses a subset of SMIL to enable adaptive streaming.

SMIL and Zencoder

The following is an example of a Highwinds SMIL file which describes a video that has been encoded to multiple bitrates. All paths ("src") given are relative to where the SMIL will be served and all bitrates ("system-bitrate") are in bits per second (bps).

Each <video> tag in the above example represents a separate stream that can be served to the user. The first video listed will be streamed to the user until the available bandwidth can be determined, at which time the user will be switched to the appropriate stream.

The playlist generation currently uses no information from the other outputs in the job, but is simply a way to easily generate a correctly formatted adaptive-bitrate playlist and have it uploaded along with the other files.

decoder_bitrate_cap is set to 1.5x the target bitrate of the file. decoder_buffer_size is set to 3.5x to 5x the target bitrate of the file. These settings will help keep a consistent bitrate throughout the file, so that the segmented segments won't vary too much in size and bitrate.