HTTP Live Streaming

Overview

HTTP Live Streaming (HLS) sends audio and video over HTTP from an ordinary web server for playback on iOS-based devices—including iPhone, iPad, iPod touch, and Apple TV—and on desktop computers (macOS). Using the same protocol that powers the web, HLS deploys content using ordinary web servers and content delivery networks. HLS is designed for reliability and dynamically adapts to network conditions by optimizing playback for the available speed of wired and wireless connections.

HLS supports the following:

  • Live broadcasts and prerecorded content (video on demand, or VOD)

  • Multiple alternate streams at different bit rates

  • Intelligent switching of streams in response to network bandwidth changes

  • Media encryption and user authentication

The following figure shows the components of an HTTP Live Stream.

HTTP Live Streaming

 

Apple provides several frameworks that support HTTP Live Streaming, including AVKitAVFoundation, and WebKit.