HTTP Live Streaming

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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[1] 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[2] 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. So the use of a DRM content key requires secret closed source code to obscure device specific information making a complete GNU General Public License product impossible to legally develop for the Linux-libre community.

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.[3]

Contents

Server implementations [edit]

  • Take 3 VOD and Live supports HLS for IOS as well as Flash for Android and PC all based on Google's Widevine DRM
  • MACNETIX VOD Server supports HLS playback and MACNETIX Transcoder supports Live.TV streaming to STBs and mobile devices
  • Anevia ViaMotion Servers support several protocols (HTTP Live Streaming, MS Smooth Streaming, ADS Flash, MPEG DASH) for targeting any device. They support both live and on-demand streaming.
  • Packet Ship Overview:Origin server and Streamline video server both support HLS for on-demand, live and catch-up streaming.[4]
  • TVersity supports HTTP Live streaming in conjunction with on-the-fly transcoding for playback of any video content on iOS devices.
  • 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.
  • Wowza Media Server from Wowza Media Systems supports live and on-demand streaming.
  • VODOBOX Live Server supports HTTP Live Streaming for iPhone, iPad, iPod and Google Android devices (Honeycomb 3.0 and above).
  • Mistserver is a lightweight, open-source streaming server with support for HLS in live, on demand and live replay mode
  • Akamai supports HTTP Dynamic Streaming for live and on-demand streams.
  • Level 3 supports HTTP Dynamic Streaming for live and on-demand streams.
  • InstaTV Server supports HTTP Live Streaming of ATSC/ClearQAM HDTV from Windows PC with any TV tuner card to iPhone, iPod, and iPad.
  • Unreal Media Server supports low latency HTTP Live Streaming as of version 9.5.
  • VLC Media Player supports HTTP Live Streaming for serving live and on-demand streams as of version 2.0[5]
  • Uplynk supports live and on-demand streaming for all devices by storing a single non-proprietary HLS encode.[6]
  • Erlyvideo[7] can stream HLS in a cache-friendly manner, allowing to reuse cached chunks for live stream and for archive viewing.

Usage [edit]

  • 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.
  • Livestation streams numerous TV channels such as France 24, RT, and Al Jazeera English.[1]
  • Microsoft added support for HTTP Live Streaming in IIS Media Services 4.0.[8]
  • Google added HTTP Live Streaming support in Android Honeycomb and later.[9]
  • 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
  • HP added HTTP Live Streaming support in webOS 3.0.5.[10]
  • 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[11]
  • Yospace added HTTP Live Streaming support in Yospace HLS Player and SDK for flash version 1.0[12]
  • Wowza Media Systems released Wowza Media Server 2.0 with full support for HTTP Live Streaming on December 9, 2009[13]
  • HLSProvider provides HTTP Live Streaming Plugin for JW-Player since May 2013 [14]

Supported players and servers [edit]

Clients [edit]

Product Live Streaming DRM GPL As of Version Vendor
HLS Player SDK for Windows 8 & Windows Phone 8 [15] Yes Yes No 2.0 3ivx
Amino x4x STB Yes Yes No 2.5.2 Aminet Aminocom.com
Antik Juice STB No Yes No http://www.antiktech.com
iOS Yes Yes No 3.0+ Apple
QuickTime Player Yes Yes No 10+ Apple
HLS SDK and Players for Windows 8, Windows Phone and Xbox Live Yes Yes No 2.0 Apptelic Ltd.
Entone STB Yes Yes No http://www.entone.com
ffplay Yes Partial Yes FFmpeg
Android Yes Yes No Honeycomb and later Google
HLSProvider, HLS media provider for Flash JWPlayer 5/6 Yes No No https://github.com/mangui/HLSprovider
WebOS (HP Touchpad) Yes Yes No 3.0.5 HP
DicePlayer (Android 2.2+) Yes Yes No Diceplayer 1.0+ INISOFT
avplay Yes Partial Yes Libav
MX Player (Android) Yes Yes No MX Player 1.6
MythTV Yes No Yes 0.26 MythTV
nangu.TV on Motorola STB Yes Yes No 2.0 nangu.TV
LifeVibes Quickplayer[16] (Android 2.2-4.0) Yes Yes No cinexplayer & other NXP software
HLS Streaming Player and SDK for Flash [11] Yes Yes No 2.0 Onlinelib.de
Helix Client SDK (Android 2.2 to 4.x) Yes Verimatrix No 1.2 (November 2012) RealNetworks[2]
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 [http://www.solbox.com/eng/index.php Solbox
GPAC (cross-platform media player) Yes No Yes 0.5.0 Telecom ParisTechinc.]
VLC media player Yes No Yes 2.0[17] VideoLAN
XBMC Media Center (cross-platform media player) Yes No Yes 12.0 Alpha 5 and later XBMC Foundation
HLS Streaming Player and SDK for Flash [12] Yes Yes No 1.0 Yospace

Servers [edit]

Product Technology As Of Version Vendor Notes
VLC 1.2
Unicorn Once SaaS Unicorn Media
IIS Media Services 4.0[8] Microsoft
Adobe Flash Media Server 4.5 Adobe
MythTV 0.25 MythTV
MACNETIX VOD-Server 3.0 MACNETIX
Anevia ViaMotion Servers Transcapsulation: from one input, several outputs
(HLS, MS Smooth Streaming, ADS Flash, MPEG DASH)
Anevia
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)
nangu.TV
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 Wowza Media Systems
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 (Compliant with iOS and Android) Vodobox
Apache HTTP Server Apache Software Foundation
Mistserver 1.1-pre DDVTECH
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
lighttpd 1.4.x
Antik 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) 2.0 Antik technology
Nginx-rtmp-module Free module for nginx server with support of HLS live streaming. Compliant with iOS and Android. 0.9.x Roman Arutyunyan

See also [edit]

References [edit]

External links [edit]