HTTP Live Streaming Gains Momentum
- 4-18-2011
- Categorized in: Distributing your video
HTTP Live Streaming (HLS) is an adaptive streaming technology created by Apple for streaming to iDevices, and submitted by the company to the Internet Engineering Task Force (IETF) for more general use. Over the last two months, both Google and Adobe have added HLS support to key products in their portfolio, which probably means that other mobile vendors, like BlackBerry, HP and Microsoft Phone will fall in line.
By way of background, HLS already has significant support on the delivery side, with Microsoft supporting delivery to iOS devices in IIS Media Services since early 2010, and Wowza Media Server supporting HLS delivery since April 2009. More recently, Google added HTTP Live Streaming support to Android version 3.0, which was announced in February, 2011. Here’s a blurb from the Android 3 Highlights document, “Applications can now pass an M3U playlist URL to the media framework to begin an HTTP Live streaming session. The media framework supports most of the HTTP Live streaming specification, including adaptive bit rate.”
Android 3 also supports Flash, so now video producers have two alternatives for distributing adaptive streaming to Android devices, Flash and HLS. What about HP webOS, Windows Phone and BlackBerry devices?
On the webOS (formerly Palm) discussion board, one thread titled “Apple Live Streaming” asked about support for HLS. Unwired Ben, who appears to be an HP employee, commented on April 1, 2011, “We've been looking into HTTP Live Streaming, but I don't think there will be an implementation in webOS 3.0.”
Flash doesn’t run on Windows Phone 7, though Silverlight does, making Smooth Streaming the best (and perhaps only) way to adaptively stream to that platform. I was unable to find any indications on the Microsoft or RIM (BlackBerry) sites as to whether HTTP Live Streaming support was forthcoming or even under consideration.
HLS Support by Adobe
At NAB 2011, Adobe announced support for HTTP Live Streaming in both the Flash Media Server and Adobe Flash Media Live Encoder. Here are the relevant quotes from Adobe product manager Kevin Towes.
As we continue to evolve [HTTP Dynamic Streaming] we will be adding support for another format, HTTP Live Streaming (HLS). HLS is an MPEG2 transport stream (container) used by devices such as the Apple iPad 2. By adding support for HLS within the Flash Media Server, Adobe is reducing the publishing complexity for broadcasters who need to reach browsers supporting HLS through HTML5 (such as Safari) or devices where Adobe Flash is not installed. Where Flash is installed, Flash Media Server packages the stream using MPEG4-fragments (F4F) to deliver video over HTTP to Flash
...
We also began previewing the next version of Adobe Flash Media Live Encoder, which can capture a live broadcast stream and publish out to multiple devices including Android, Apple iOS and Samsung TVs.
By integrating HLS into both products, Adobe is making it easier for their customers to deliver adaptive video into the Flash and iOS environments, which are the two most critical targets for streaming producers. If the uncommitted mobile vendors end up implementing HTTP Live Streaming as well, it will make things easier for all streaming producers.


The big problem with all of this, is still to this day you need multiple formats of video to support all devices.
Adobe's comment is actually the worst of them all. They are stating they are willing to transcode to HLS for you; but since flash doesn't natively play the streams, it is really only for compatibility.
Which is actually very similar to browsers implementing "Quirks Mode" to be compatible with IE.
Video on the web is broken. Given that Apple got the head start, (and their format is actually pretty good, very scalable, and does not rely on special server software ala Silverlight Smoothstreaming or the older flash only variants) I hope that someone else brings support for it soon.
Right now I know of one major flash player "jwplayer" which is attempting to implement an adaptive bitrate provider. Jeroen has almost finished it's support for HLS (and it works for most purposes). But, unfortunately isn't as usable as the built in IOS player, because it can't play video across domain boundaries. Makes it ok for content producers, but not as a generic player one can install on a computer for instance.
Android support is a good step. I have personally made a player that outputs the ts files in one stream to VLC, and am hoping the VLC team get native support for it one of these days. (latest versions "support" it, but it doesn't precache stream segments last I checked, thus it stops and starts repeatedly).
Ugh. Sorry to stream of consciousness you. This is a problem I've been fighting at work and in my personal projects.
Emblaze has recently informed the IETF on 28 June 2011 that use of a new standard for HTTP live streaming requires a licence from Emblaze
Herzeliya, Israel, 28 June 2011 - Emblaze has recently informed the IETF that a
proposed draft of HTTP Live Streaming, which the IETF is now considering,
incorporates Emblaze's patented streaming technology and, therefore, the use of
this technology is not free and is subject to a license from Emblaze.
This draft of HTTP Live Streaming was offered to IETF by Apple Inc.
Last year, Emblaze filed a claim in a U.S. federal court charging Apple with
infringement of Emblaze's Network Media Streaming for live streaming
technology, patent number US639473.
http://in.reuters.com/article/2011/06/28/idUS101254+28-Jun-2011+PRN20110628
http://docs.justia.com/cases/federal/district-courts/new-york/nysdce/1:2010cv05713/365992/1/0.pdf
http://docs.justia.com/cases/federal/district-courts/new-york/nysdce/1:2010cv05713/365992/1/1.pdf