HTTP Streaming to Apple devices

Apple/iOS Encoding in a Snap

How It Works

Designed into iOS software, the built-in video player now supports adaptive bit rate switching during playback. As a user watches a video on their iPhone, iPad, or iPod device, the iOS player will detect the user’s available bandwidth and automatically switch to the appropriate bit rate during playback. This process provides for a much better viewing experience: higher quality (bit rate) videos streamed for faster WiFi connections while lesser quality videos are streamed in low bandwidth situations such as is the case with AT&Ts 3G network (especially in San Francisco). And, Apple’s version of adaptive bit rate streaming can be utilized by any HTTP server.

Apple calls this Apple’s HTTP Live Streaming. To take advantage of this, you need to create a set of files including a master .m3u8 streaming instruction file, a .m3u8 file for each bitrate you have specified , and all the video segments (MPEG .ts) in the duration specified. The rest is Apple magic.