By using only standard HTTP transactions just like normal web pages, HLS is capable of traversing any firewall or proxy server that lets through standard HTTP traffic. This is very different then UDP-based protocols such as RTP.
This also makes it a little easier for Content delivery networks to implemented for any given stream since standard web servers can used to server live and recorded video now.
As the stream is playing, the player application can select from number of different alternate streams containing the same material encoded at different data rates, allowing the streaming session to adapt to the available speed of your Internet connect, known as Adaptive bit rate.
http://en.wikipedia.org/wiki/HTTP_Live_Streaming
http://developer.apple.com/resources/http-streaming/
- “HTTP Streaming Architecture”—how the technology works, what formats are supported, what you need on the server, and what clients are available.
- “Using HTTP Live Streaming”—how to set up live broadcast or video on demand sessions, how to implement encryption and authentication, and how to set up alternate bandwidth streams. Links to sample streams are included.
- “Frequently Asked Questions”—common questions about HTTP Live Streaming, and their answers: format details, tips, where to go for support, and so on.
- Best Practices for Creating and Deploying HTTP Live Streaming Media for the iPhone and iPad—step by step guidance in setting up a server and network for HTTP Live Streaming.
Apple submitted HTTP Live Streaming to the IETF in 2009 as a proposed standard. This is the latest draft of the RFC at the time of this article being written. http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
Adobe added HTTP Live Streaming support to Flash Media Server. Last year Adobe came up with it's own HTTP-based streaming protocol HTTP Dynamic Streaming. The main difference is that its HTTP Dynamic Streaming uses an XML-based manifest file instead of a plain-text playlist file and the MPEG-4 fragment container format (.f4f). Also, it's only compatible with Flash Player and Adobe AIR.
Adobe throws in towel, adopts HTTP Live Streaming for iOS
Adobe's new Flash DRM comes with selective output control
HTTP Live Streaming, FFMPEG & FFSERVER, and iPhone OS 3
4 comments:
nice collection of links and info here!
if you find yourself looking for someone to do an hls app for you, i'd recommend mediafly - They've been on the HLS train from the beginning, and regularly pump out streaming media apps for small businesses and large enterprises... www.mediafly.com
I'd also like to add, that Adobe's HDS has an extra level of complexity than HLS.
On the server, the lowest-level media chunks (what they call "fragments" - analogous to HLS "segments") are aggregated into multiple medium-size files (what they confusingly call "segments").
This index of "which fragments are stored where, in which segments" is stored in an f4x index file on the origin server, and must be consulted when a request for a certain fragment comes in. The fragment is then extracted from the segment and sent in response.
This is the reason you need their closed-source Apache module to serve their stuff, rather than with HLS where the client simply requests .ts segments directly.
To me, this extra load imposed on origins seems like it wouldn't scale well, something I'm trying to evaluate at the moment.
Having said that, the extra complexity might have other benefits, facilitate more features etc. (possibly more DRM) But personally, so far I'm not a fan.
I'd also like to add, that Adobe's HDS has an extra level of complexity than HLS.
On the server, the lowest-level media chunks (what they call "fragments" - analogous to HLS "segments") are aggregated into multiple medium-size files (what they confusingly call "segments").
This index of "which fragments are stored where, in which segments" is stored in an f4x index file on the origin server, and must be consulted when a request for a certain fragment comes in. The fragment is then extracted from the segment and sent in response.
This is the reason you need their closed-source Apache module to serve their stuff, rather than with HLS where the client simply requests .ts segments directly.
To me, this extra load imposed on origins seems like it wouldn't scale well, something I'm trying to evaluate at the moment.
Having said that, the extra complexity might have other benefits, facilitate more features etc. (possibly more DRM) But personally, so far I'm not a fan.
You can now play HLS in newer versions of Android, and 3ivx technologies have announced an implementation of HLS for WIndows 8 and Windows 8 Phone
This basically means that shortly all major consumer operating systems, Windows, Mac OS X, Android, iOS) will support HTTP Live Streaming with H.264 and AAC content
Post a Comment