Apple launches HTTP Streaming Standard
There are two ways to deliver video files over the web: (i) progressive download and (ii) streaming. Progressive downloads are typically cheaper and work with any server, but do not offer content protection nor seeking to undownloaded parts. Streaming servers offer these functionalities, but must be installed on your server(s). Since server side access and / or knowledge is not always readily available, some developers choose an “in between” solution of HTTP streaming through the use of a small server side script (e.g. PHP, ASP, etc.).
For the last decade, Apple has been selling QuickTime Streaming Server, which uses an RTSP (Real-Time Streaming Protocol) server to stream live or rebroadcast video feeds to viewers. Apple uses this technology to stream some of its own live events. But, despite offering royalty free streaming and also delivering it as an open source project, QuickTime’s RTSP streaming server hasn’t gained the traction it was once expected to achieve. A large part of this is due to the fact that RTSP traffic is blocked by many firewalls, making it hard to deliver streams reliably. The audio and video conferencing used by iChat also relies on RTSP, causing some users frustrating problems for the same reason. Getting RTSP video streaming to work on the iPhone would be even more hard, as it routinely moves between mobile and WiFi networks.
Enter HTTP Live Streaming. The basic mechanics involve using software on the server to break an MPEG-2 transport stream into small chunks saved as break files, and an extension to the .m3u playlist specification (.m3u8) to tell the client where to get the files that make up the complete stream. The media player client just downloads and plays the small chunks in the order specified in the playlist, and in the case of a live stream, periodically refreshes the playlist to see if there have been any new chunks added to the stream.
Apple attempted to solve the RTSP problem long ago in QuickTime Streaming Server by making an option to bundle up RTSP streaming video traffic into HTTP packets, which appear identical to standard web traffic and therefore are permitted through most firewalls. This involves a extra layer of overhead but, resulting in a greater demand for bandwidth. For the iPhone, Apple chose to pursue a different strategy, which it calls HTTP Live Streaming.
Adaptive Streaming allows programmers to offer a higher quality viewing experience to a broader audience. Being able to offer HD streams all the way down to low bandwidth streams, without pauses or interruptions of the video, makes for a significantly improved consumer experience.
For examples of iPhone HTTP Streaming segments, see Ankoder – Online Video Encoding. Viewing live streams requires iPhone 3.0 or Snow Leopard QuickTime X.
