HTTP Live Streaming
HTTP Live Streaming (also known as HLS) is an HTTP-based media streaming communications protocol implemented by Apple Inc. as part of their QuickTime and iOS software. It works by breaking the overall stream into a sequence of small HTTP-based file downloads, each download loading one short chunk of an overall potentially unbounded transport stream. As the stream is played, the client may select from a number of different alternate streams containing the same material encoded at a variety of data rates, allowing the streaming session to adapt to the available data rate. At the start of the streaming session, it downloads an extended M3U (m3u8) playlist containing the metadata for the various sub-streams which are available.
Since its requests use only standard HTTP transactions, HTTP Live Streaming is capable of traversing any firewall or proxy server that lets through standard HTTP traffic, unlike UDP-based protocols such as RTP. This also allows content to be delivered over widely available CDNs.
HLS also specifies a standard encryption mechanism using AES and a method of secure key distribution using HTTPS with either a device specific realm login or HTTP cookie which together provide a simple DRM system. Later versions of the protocol also provide for trick mode fast-forward and rewind and integration of subtitles. upLynk has also added the AES scrambling and base-64 encoding of the DRM content key with a 128-bit device specific key for registered commercial devices together with a sequential initialization Vector for each chunk to their implementation of the standard.
Apple has documented HTTP Live Streaming as an Internet Draft (Individual Submission), the first stage in the process of submitting it to the IETF as an Informational Request for Comments. However, while Apple has submitted occasional minor updates to the draft, no additional steps appear to have been taken towards IETF standardization.
- Adobe Media Server supports HLS for iOS devices (HLS) and Protected HTTP Live Streaming (PHLS).
- Akamai supports HLS for live and on-demand streams.
- Anevia ViaMotion Servers support HLS for targeting any device for both live and on-demand streaming.
- Antik Media Server complex solution for HLS, Live linear TV, Catch-up TV archive, VOD, Scrambling, Stream replication, Timezone shifting, Archive Snapshots, Archive mirroring, smart load balancer and powerful Management & System Monitoring.
- Cisco Systems: Supports full end to end delivery for Live/TSTV/VOD and Cloud DVR services.
- Encoding.com allows complete control over all HLS parameters (encryption, still image fallback, Dolby audio-only, segment duration, bitrates, keyframes, resolution ) and programmatic editing of HLS content, all in the cloud.
- EdgeCast Networks supports cross-device streaming using HLS.
- Elemental Technologies support end to end encoding and delivery of HLS for both live and on-demand applications.
- Flussonic Media Server: From Flussonic, LLC supports VOD, Unlimited DVR Rewind, HLS Support for iOS Devices such, Timeshift of Live Streams, Live Streaming, Video Archiving, HLS Re-Broadcasting Support and other features.
- Gstreamill supports HLS output.
- Helix Universal Server from RealNetworks supports iPhone OS 3.0 and later for live and on-demand HTTP Live or On-Demand streaming of H.264 and AAC content to iPhone, iPad and iPod.
- IIS Media Services from Microsoft supports live and on-demand Smooth Streaming and HTTP Live Streaming.
- InstaTV Server supports HTTP Live Streaming of ATSC/ClearQAM HDTV from Windows PC with any TV tuner card to iPhone, iPod, and iPad.
- Level 3 supports HLS live and on-demand streams.
- Limelight Networks supports HLS for some accounts.
- MACNETIX VOD Server supports HLS playback and MACNETIX Transcoder supports Live.TV streaming to STBs and mobile devices
- Mistserver supports HLS in live, on-demand and live replay mode
- Nginx Plus supports HLS in on-demand mode.
- Nginx with the RTMP Module supports HLS in live mode.
- Nimble Streamer supports HLS in live and on-demand mode as both origin and edge server.
- Packet Ship Overview:Origin server and Streamline video server both support HLS for on-demand, live and catch-up streaming.
- RGB Networks Inc: Supports VOD+Linear+Just-in-Time-Packaging for HLS with DRM.
- Take 3 VOD and Live supports HLS for iOS as well as Flash for Android and PC all based on Google's Widevine DRM
- TVersity supports HLS in conjunction with on-the-fly transcoding for playback of any video content on iOS devices.
- Unified Streaming Platform supports HLS.
- Unreal Media Server supports low latency HLS as of version 9.5.
- VBrick Distributed Media Engine supports HLS for serving live and on-demand HLS.
- VLC Media Player supports HLS for serving live and on-demand streams as of version 2.0
- VODOBOX Live Server supports HLS for iPhone, iPad, iPod, Google Android devices (Honeycomb 3.0 and above) and Adobe Flash Player with HLS plugin.
- Wowza Media Server from Wowza Media Systems supports HLS for live and on-demand streaming.
- Adobe Systems demonstrated an update to its Adobe Flash Media Server product supporting HTTP Live Streaming at the NAB Show in April 2011
- Apple Inc. used this on September 1, 2010 to stream their iPod Keynote event live over the internet, and on October 20, 2010 to stream their 'Back to the Mac' Keynote event live over the internet.
- Google added HTTP Live Streaming support in Android Honeycomb and later.
- Helix Universal Server from RealNetworks supports iPhone OS 3.0 and later for live and on-demand HTTP Live or On-Demand streaming of H.264 and AAC content to iPhone, iPad and iPod initial release April 2010, latest release November 2012
- HLSProvider provides HTTP Live Streaming support for Chromeless Flash Player, JWPlayer, and OSMF 2.0 since May 2013 
- HP added HTTP Live Streaming support in webOS 3.0.5.
- Livestation streams numerous TV channels such as France 24, RT, and Al Jazeera English.
- Microsoft added support for HTTP Live Streaming in IIS Media Services 4.0.
- Flussonic added HTTP Live Streaming and Video On Demand support in January 21, 2009.
- Onlinelib added HTTP Live Streaming support in HLS Player and SDK for flash version 2.0, Plugin for JW-Player, OSMF 2.0 and Adobe Strobe Media Playback
- Wowza Media Systems released Wowza Media Server 2.0 with full support for HTTP Live Streaming on December 9, 2009
- Yospace added HTTP Live Streaming support in Yospace HLS Player and SDK for flash version 1.0
Supported players and servers
|Product||Live Streaming||DRM||GPL||As of Version||Vendor|
|3ivx HLS Player SDK for Windows 8, Windows Phone 8  & Xbox One ||Yes||Yes||No||2.0||3ivx|
|Amino x4x STB||Yes||Yes||No||2.5.2 Aminet||Aminocom.com|
|Antik Juice IPTV STB||Yes||Yes||No||1.0+||Antik Technology|
|Adobe Flash Player||Yes||Yes||No||11+||Adobe|
|HLS SDK and Players for Windows 8, Windows Phone and Xbox Live||Yes||Yes||No||2.0||Apptelic Ltd.|
Media Player: 3.0+
|HLSProvider/Flash plugin (Chromeless/JWPlayer/OSMF 2.0)||Yes||Yes||No||http://mangui.github.io/HLSprovider|
|WebOS (HP Touchpad)||Yes||Yes||No||3.0.5||HP|
|DicePlayer (Android 2.2+)||Yes||Yes||No||Diceplayer 1.0+||INISOFT|
|MX Player (Android)||Yes||Yes||No||MX Player 1.6|
|nangu.TV on Motorola STB||Yes||Yes||No||2.0||nangu.TV|
|LifeVibes QuickPlayer (Android 2.2-4.3, iOS)||Yes||Yes||No||CineXPlayer & other||NXP Software|
|HLS Streaming Player and SDK for Flash ||Yes||Yes||No||2.0||Onlinelib.de|
|Helix Client SDK (Android 2.2 to 4.x)||Yes||Verimatrix||No||1.2 (November 2012)||RealNetworks |
|Roku Digital Video Player||Yes||Yes||No||Roku OS / SDK 2.6||Roku|
|Sol HLS Player(Android 2.2 - 4.2)||Yes||Yes||No||1.47||Solbox|
|GPAC (cross-platform media player)||Yes||No||Yes||0.5.0||Telecom ParisTech inc.|
|VLC media player||Yes||No||Yes||2.0||VideoLAN|
|XBMC Media Center (cross-platform media player)||Yes||Partial||Yes||12.0 Alpha 5 and later
DRM support requires a monthly/nightly build
|Antik Media apps (iOS, Android, Win8)||Yes||Yes||No||2.0+||Antik Technology|
|HLS Streaming Player and SDK for Flash ||Yes||Yes||No||1.0||Yospace|
|HLS NexPlayer SDK (Android 1.6 and above, iOS, Windows 8)||Yes||Yes||No||6.0||NexStreaming|
|Product||Technology||As Of Version||Vendor||Notes|
|Unicorn Once||SaaS||Unicorn Media|
|IIS Media Services||4.0||Microsoft|
|Antik Media Streamer||Ingest Module (UDP/HTTP Transport Stream, Backup Stream with auto-switching, stream status monitoring and logging), Stream replication UDP/HTTP, HLS streaming, Video archive with snapshots, Server-side Timeshift, Timezone Shifting with multi-timezones, Stream Encryption using AES and key-rotation (with Antik Key Server)||3.0||Antik technology|
|Adobe Media Server||Live and VOD streaming as origin and edge server||5.0||Adobe|
|Anevia ViaMotion Servers||Transcapsulation: from one input, several outputs
(HLS, MS Smooth Streaming, ADS Flash, MPEG DASH)
|Packet Ship OverView:Origin Server||Capture from IPTV multicast and chunking to HLS for multi-bandwidth live streams, with AES encryption||2.1||Packet Ship|
|nangu.TV Streamers||on-the-fly adaptation: content is stored once enabling several outputs
(HLS, MS Smooth Streaming, ADS Flash, MPEG DASH)
|TVersity Media Server||1.9||TVersity||Pro Edition only|
|Helix Universal Server||Live + VOD HLS with Verimatrix DRM integration, ABR, Multi-Resolution, AES encryption||15.0+||RealNetworks||High performance HLS (12,000+ concurrent devices)|
|Wowza Media Server||Live and VOD streaming as origin and edge server||Wowza Media Systems|
|Unified Streaming Platform||Muxing your media content from one unified source to multiple outputs (Smooth Streaming, HDS, HLS and MPEG DASH) and delivering your content to multiple clients and devices.||Unified Streaming|
|Flixwagon Platform Video Server||Flixwagon|
|StreamCoder Live Encoder||Realtime video encoder (inputs : DVB/IP stream or video signal). Supports multi-bitrates and multi-languages||Ektacom|
|VODOBOX Live Server||Apple HTTP Live Streaming multicast server (compliant with iOS, Android and HLS Flash Player)||Vodobox||Live transcoding from DVBT tuner, IP streams, DirectShow camera and video input capture card to mobile devices|
|Apache HTTP Server||Apache Software Foundation|
|Unreal Media Server||9.5||Unreal Streaming Technologies||Latency of live streams can be as low as 2.5 seconds over the Internet|
|InstaTV Server||1.0||InstaTV||Live transcoding and streaming of broadcasting TV using any Windows compatible digital tuner to mobile devices|
|Nimble Streamer||Streaming live and VOD, transmuxing MP4 to VOD HLS, UDP MPEG-TS to HLS, HLS re-streaming||WMSPanel|
|Nginx-rtmp-module||Free module for nginx server with support of HLS live streaming. Compliant with iOS and Android.||0.9.x||Roman Arutyunyan|
|Nginx Plus||VOD HLS as origin||NGINX, Inc.|
|Flussonic Media Server||Multi-Platform support for HTTP, RTSP, RTMP, Time Shifting, DVR Functions with Unlimited Rewind Capabilities HLS streaming specific to iOS platform support.||3.0+||Flussonic, LLC.||Supporting a magnitude of features with full HTTP support.|
|VBrick Distributed Media Engine ("DME")||2.0||VBrick Systems, Inc.||Live and stored HLS. Live can be transmuxed from several input mux including rtp, rtmp, and MPEG-2 Transport Stream using H.264 encoding|
- Jordan, Larry (10 June 2013). "The Basics of HTTP Live Streaming". Larry's Blog. Larry Jordan & Associates. Retrieved 18 June 2013.
- Pantos, R. (30 September 2011). "HTTP Live Streaming". Internet Engineering Task Force. Retrieved 18 June 2013.
- "Application keys". Digital rights management (DRM). upLynk Support. Retrieved 18 June 2013.
- "Internet Drafts are not Open Standards". Anne van Kesteren. Retrieved 30 July 2011.
- "Limelight Orchestrate Video Support". Limelight Networks. Retrieved 14 November 2013.
- "Nginx Documentation: Module ngx_http_hls_module". nginx.org. Retrieved 6 November 2013.
- "Packet Ship website". Retrieved 7 December 2012.
- "Streaming HowTo: Streaming for the iPhone". VideoLAN Wiki. Retrieved 21 May 2011.
- "Android 3.0 Platform Highlights".
- "webOS 3.0.5 Updates".
- "First Look: Microsoft IIS Media Services 4". StreamingMedia.com. Retrieved 30 July 2011.
- "HLS Streaming Player and SDK for Flash". Onlinelib. Retrieved 13 September 2012.
- "Wowza Unifies Media Streaming, Sets Performance Record, Slashes Costs with Production Launch of Wowza Media Server 2 for Flash, iPhone and Beyond". Wowza Media Systems. Retrieved 25 August 2012.
- "HLS Streaming Player and SDK for Flash". Yospace. Retrieved 28 June 2012.
- https://trac.videolan.org/vlc/ticket/2943 VLC Ticket #2943 (Support for HTTP Live Streaming as a client)
- Daniel Eran Dilger (July 8, 2009). "Apple launches HTTP Live Streaming standard in iPhone 3.0". Apple Insider. Retrieved 2009-07-10.
- Internet-Draft: HTTP Live Streaming: draft-pantos-http-live-streaming