Streaming video to iOS-based devices
December 17, 2013 by
Online video consumption using mobile devices continues to grow and while viewing habits are different across tablets and smartphones, it is evident that this is contributing to an overall increase in engagement and loyalty with content. At the same time, Apple continues to dominate in overall sales across devices, applications, and advertising, even though Android continues to close the gap. The result is that publishers delivering streaming video will focus heavy on a user experience that is specific to iOS-based devices. In a fragmented world of online video workflows, that means understanding considerations that are specific to these devices.
At the ground level, there are three main considerations that are important to understand when delivering streaming video to iOS-based devices. These considerations are:
• Content preparation — Streaming to iOS-based devices requires the use of a video format known as Apple HTTP Live Streaming (HLS). There is an up-and-coming format called MPEG-DASH that is also supported, but let’s save that for another discussion. HLS is a widely adopted format (it is even used outside iOS-based devices) consisting of a live or pre-recorded source that is encoded using H.264/AAC and is packaged as a MPEG-2 Transport Stream that is "segmented" into smaller files before they are consumed by a compatible client. Derivatives of the content at multiple quality levels are prepared and delivered using intelligent switching between each level in real-time during playback based on network and local conditions. The encoding and packaging processes require careful consideration and planning. Key aspects include quality levels (bitrates, encoding profiles, resolution, etc.) that must be properly selected and the alignment of audio and video properties. This is all to ensure the best end user experience.
• Delivery — Streaming to iOS-based devices is facilitated through a web server or distributed HTTP caching infrastructure. The geographic disparity and size of an audience will help determine the scale and performance a publisher will need to build and/or buy. The decision to build or buy this component is based on a variety of factors including expertise, resources, time, budget, and ultimately comes down to “how close” the publisher would like to be to it.
• Playback — iOS-based devices with iOS 3.0 or greater have built-in client software (a player application) that supports the playback of content using Apple HLS. Alternatively, the Safari browser can be used with the HTML5 video element. A native application can also be developed and made available for download through iTunes that is capable of playing content using the Apple HLS format.
There are some really good guides provided by Apple that are available in the iOS Developer Library.
After you master the basics, there are even more topics to consider when streaming to iOS devices including security, accessibility, and monetization (advertising, subscriptions, etc.). One advanced topic to consider is how to simplify content preparation. Wowza Media Server can help with this by enabling trans-mux, trans-rate, and trans-coding capabilities that automate the process of packaging content into the Apple HLS format, as well as other formats, which saves time and cost.