Find millimeter on Facebook

Related Articles

 

Streaming to the Apple iPhone, Part 1

Nov 17, 2009 12:00 PM, By Jan Ozer


      Subscribe in NewsGator Online   Subscribe in Bloglines  

<i>Figure 5. With adaptive-bit-rate streaming, a master index file points to alternative index files for each stream.

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.

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.

  Related Links

Akamai/Inlet Technologies/Turner Sports"iPhone HTTP Live Streaming" webcast hosted by Akamai

Inlet Technologies' adaptive streaming page

"Encoding and Delivering Video to the iPhone" from Brightcove

"Apple launches HTTP Live Streaming standard in iPhone 3.0" from AppleInsider
Just as an example, in its HTTP Live Streaming white paper, Apple recommended this configuration for alternative streams:

  • 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.

Share this article




Continue the discussion on “Crosstalk” the Millimeter Forum.


© 2014 NewBay Media, LLC.

Browse Back Issues
Back to Top