IPhone HTTP Video Streaming Explained
Posted By David Lam on November 1, 2009
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. However, 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 difficult 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 difficult, as it routinely moves between mobile and WiFi networks.
Before Adaptive Streaming, video on the web had always been plagued by two major issues: quality of the video (either too small or too blurry) and reliability of the playback (constant rebuffering or stuttering). The problem was that the two variables were interrelated. Increasing the quality requires higher bandwidth, and using less bandwidth to minimize re-buffering sacrificed video quality.
What’s next? The obvious followup is to add support for HTTP Live Streaming in Apple TV, allowing for HD streams direct from broadcasters, facilitating the ability to only pay for channels you want to watch, skipping around the local cable monopoly while gaining access to content they don’t carry. The same content would also be accessible on the iPhone, a desktop PC, or any other device with the capacity to play modern video codecs. And that’s why Apple is not supporting Mozilla’s efforts to use the obsolete Ogg Theora on the web, which lacks silicon support for hardware acceleration on mobiles and appliances.
The real benefit to HTTP Live Streaming is that the server can maintain multiple versions of the clips in different formats. This allows an iPhone user with a WiFi connection to negotiate a higher quality version of the video than if only EDGE were available. Even better, the phone can renegotiate a higher or lower quality dynamically if it improves or loses signal. This enables the watcher to experience the best video quality possible at the current bandwidth available, continually optimized as new segments are requested. Unlike Microsoft’s Smooth Streaming trojan horse for Silverlight, HTTP Live Streaming works with any playback client on any platform and does not involve a layer of DRM, although it does support encryption, allowing broadcasters to limit access to their content. Because support is built directly into the iPhone’s embedded QuickTime player, users don’t even need to download apps for every broadcaster or channel; content creators can simply publish their feeds within a standard website, and iPhone can access them just like a desktop client. Other phones can similarly support the same interoperable standard, providing a leg up for mobile platforms with less commercial attraction or no ability to run real applications, like the Palm Pre.
Learn more about iPhone HTTP Streaming segments. Stop by Ankoder site where you can find out all about Online Video Encoding and what it can do for you.
