Streaming to the Apple iPhone, Part 1
Nov 17, 2009 12:00 PM, By Jan Ozer
Figure 5. With adaptive-bit-rate streaming, a master index file points to alternative index files for each stream.
For more details see the Apple white paper "HTTP Live Streaming Overview"
Implementing adaptive-bit-rate streaming
For adaptive-bit-rate streaming of multiple files, the segmenter creates alternative index files for each stream, with one master index file pointing to the alternates. Apple doesn't detail the heuristic data that dictates how and when the iPhone switches streams, but these technologies typically monitor factors such as buffer levels, replenishment times, and CPU load.
When these factors dictate a switch, the player simply retrieves the appropriate segment from the alternate stream and plays it next. From the player's perspective, this is really no different than retrieving and playing a chunk from the stream it was playing, so switching between streams should be seamless.
Figure 6. When switching streams, the player just chooses the next sequential chunk from a different stream.
Image courtesy Inlet Technologies
When distributing multiple streams, you must encode them uniformly to enable seamless switching. All segments should be the same size (Apple recommends 10-second segments), and keyframe settings should be uniform within the chunks and an even divisor of the segment length (2 seconds or 5 seconds in a 10-second segment). Apple also recommends that the audio stream be exactly the same in all streams to ensure seamless playback.
- Low: 96kbps video, 64kbps audio
- Medium: 256kbps video, 64kbps audio
- High: 800kbps video, 64kbps audio.
Failover and encryption
Apple's HTTP Live Streaming supports three modes of encryption so publishers can protect their content. In addition, publishers can implement "failover protection" by producing redundant parallel streams transmitted from different servers and including this information in the index file. If the player can't retrieve a stream from the first server on the list, it will look for the content on the fallback server listed in the index file.
Implementing HTTP Live Streaming
As mentioned, if your company is large enough, you can buy your own rackmounted encoders, generate your streams internally, and send them off to Akamai or another CDN for mass-market delivery. If you belong to a smaller organization looking for more of a turnkey service, find an online video platform provider that streams to the iPhone. Two providers that come immediately to mind are Brightcove and Multicast Media Technologies.
That's the overview. Back in two weeks with some compelling case studies.
Continue the discussion on “Crosstalk” the Millimeter Forum.


Multimedia
Blogs
Forum
Affordable HD
Whitepapers
Advertisers
Blogcast
Millimeter

