Apple’s HTTP Live Streaming (HLS) is one of the most mature standards available today, dominating the adaptive bitrate streaming market and providing affordability if you want to try and cover all the multitude of device types available today.

HLS has become the leading method for streaming audio and video over HTTP from an ordinary HTTP based web server and provides support for both live broadcasts as well as prerecorded Video On Demand (VOD) content.

For 2015 adaptive bitrate streaming standards, HLS is the clear leader with about 75% of the market share, with other standards such as Microsoft Smooth Streaming, Dash and HDS taking the other 25%.

For actual “live” content such as an event or concert, a streaming server (such as Wowza) is often needed to ingest the live feed and output the HLS stream, however for any pre-recorded VOD content, no streaming server is needed.

You just need the content in the proper HLS streaming format and use a common HTTP server or CDN such as Highwinds to deliver the stream. With HLS, smaller chunks are sent to the end user in a streamed format rather than sending a larger video file through progressive download with pseudostreaming. Both formats have their use cases, but HLS is rapidly becoming the standard of choice for supporting the huge multitude of device types and network connection speeds.

With HLS, there is also the optional feature of providing the same video in different bitrates, allowing your customers to dynamically switch mid-stream to the proper bitrate for their current network connection speeds, all happening seamlessly and often without any code development on your side.

While HLS was initially developed for playback on iOS-based devices including iPhone, iPad, iPod touch, Apple TV and Mac OS X, its use has expanded to other mobile, tablet, desktop, IPTV and Over the Top (OTT) devices, including Android releases 4.0 – 5.0, Blackberry 10, OTT devices (such as Roku, Dlink, Chromecast and more), desktop video players (such as JW player and Flowplayer) — and the list continues to grow. Streaming Video

HLS is one of the most mature standards available today, dominating the adaptive bitrate streaming market and providing affordability if you want to try and cover all the multitude of device types available today.

How HLS and Optional Adaptive Bitrate Works

HLS works by creating multiple segmented smaller files for distribution to the device or player, which can optionally adaptively change streams to optimize the playback experience for the end user. It all works over HTTP or HTTPS, so no streaming server is required as all the streaming and switching logic resides on the player. In addition, with everything running over HTTP, multiple protocol support (RTMP, RTSP) is not needed thus increasing device support.

To deliver HLS to your clients, the original mezzanine video source is transcoded into multiple segmented files at different data rates (optional).  We find segments in the range of 10 second chunks work best with 2-3 bitrate/resolution combinations offered for low (200-500kbps), medium(500-1000kbps) and high(1000-5000kbps). Some may even choose to offer a 4K option with extremely high bitrates of 12,000 kbps or more.

An HLS manifest or playlist file (.m3u8) directs the player to the list of available encoded bitrates and directly to the video segments (.ts files) for your encoded streams. The device player monitors changing bandwidth conditions of the end user, and if this indicates a stream change is needed, the player checks the original manifest file for the location of additional bitrates and requests the stream-specific manifest file for the next video chunk.

In most cases, this switching mid-stream is seamless to the end user and prevents them from buffering or stalling altogether. This adaptive bitrate streaming experience is superior to delivering one large video file at a single bitrate, because the video stream can be switched midstream, providing the best quality stream for the given end user’s current available network speed. Without this adaptive streaming, a higher bitrate single video file may be chosen that then causes buffering or complete interruption in playback if the end user’s network conditions change and can’t support the higher quality large video file.

HLS segmented video delivery
Figure: HLS segmented video delivery including Manifest/Playlist

HLS File Preparation and Delivery

So you’ve decided to add HLS to your video delivery, but how do you get there quickly? Your current videos may be in formats such as .mp4, .mov, .flv and only in one bitrate. You want to ensure your customers on slow internet connections up to fast broadband connections can get the quality of service they want and have come to expect. To get this all working and prepare your content for delivery, do you need to spin up a streaming server?

How do you determine all the codecs, screen resolutions, frame rates, bitrates and formats? Once you start down this path you’ll probably uncover things you don’t even know yet….ugh. You just want to get your video content out there now in HLS format.

That’s where Highwinds can help with the preparation and fast delivery of your prerecorded video content. With our recently released EveryStream platform, we can take any video file you have and transcode or transmux this into the HLS format including the various bitrates and adaptive streaming manifests. You can use our default profiles for HLS adaptive bitrates, resolutions, frame rates, etc., making the process extremely fast and easy to implement.

Simply upload your videos to EveryStream through the graphical user interface, FTP or APIs, and the transcoding to the defined profiles can automatically take place. In a few minutes the URLs are available for your adaptive bitrate HLS streams, which are then immediately available for delivery through the Highwinds network with over 56 PoPs worldwide.

Rolling Thunder Network Map

The EveryStream profiles are customizable, so if the default profiles are not ideal for you, you can add or remove file formats and bitrates as needed. And by the way, HLS is just one option with EveryStream, other encoding formats (such as.mp4, .ogg and .webm) are included to expand your video offering.

Unlike traditional OVPs, EveryStream allows you to choose the specific services you need, including additional features of static and dynamic playlists, metadata tagging, included video player and much more! Contact Highwinds today for a demo or trial of EveryStream to move forward quickly with HLS streaming.

Donna Hipp

By Donna Hipp, Senior Solutions Engineer