All Things Streaming Icon

All Things Streaming

Streaming industry news, how-to’s, and more

Streaming Video to iOS-Based Devices

July 27, 2017 by Jamie Sherry

Online video consumption on mobile devices continues to grow. While viewing habits are different on tablets and smartphones, this trend is boosting engagement and loyalty with content across the board. At the same time, Apple dominates in device sales and as an individual app store—despite Android edging ahead in app revenue for the first time in 2017.

The end result? Streaming-video content providers will continue to focus on a user experience that's specific to iOS-based devices.

 

Considerations When Streaming to iOS-Based Devices

In a fragmented world of online video workflows, there are a few basic things streaming content providers must factor in when delivering to iOS:

 

Content Preparation

Streaming to iOS-based devices requires the use of a video format known as Apple HTTP Live Streaming (HLS). An up-and-coming format called MPEG-DASH is also supported—but that’s another discussion.

HLS is a widely adopted format, and is even used outside iOS-based devices. Here’s how content preparation works:

  • HLS consists of a live or pre-recorded source that is encoded using H.264/AAC, and packaged as an MPEG-2 Transport Stream, which is "segmented" into smaller files before they’re 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 to ensure the best end-user experience. Key aspects include quality levels (e.g., bitrates, encoding profiles, resolution) that must be properly selected, and the alignment of audio and video properties.

 

Delivery

A web server or distributed HTTP caching infrastructure facilitates streaming to iOS-based devices. 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 and budget. Ultimately, it comes down to “how close” the publisher would like to be to it.

 

Playback

Devices with iOS 3.0 or greater have built-in client software (i.e., 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 capable of playing content using the Apple HLS format can also be developed, and made available for download through the iTunes store. Apple offers some very helpful guides through its iOS Developer Library.

 

Advanced Considerations

After you master the basics of streaming to iOS, there are some more advanced topics to consider, including:

  • Security.

  • Accessibility.

  • Monetization (e.g., advertising and subscriptions).

  • Simplifying content preparation.

Wowza Streaming Engine and Wowza Streaming Cloud can help, especially with content preparation. This media server software enables transmuxing, transrating and transcoding capabilities that automate the process of packaging content into the Apple HLS format (and other formats). This both saves time and keeps costs down.

 

Limitations of Streaming to iOS

As the popularity of iOS grows, new problems of streaming to this operating system are arising that must be addressed. Currently, iOS does not support:

 

Low-Latency Streaming

Interestingly, the most popular devices on the market don’t support one of the fastest-growing trends in streaming: low latency. Apple HLS uses adaptive bitrate (ABR) streaming—a packetized delivery model that inherently injects latency of up to 90 seconds.

To address this issue, you can tune HLS for lower latency by reducing chunk sizes, adjusting the number of chunks and modifying playlist chunk counts. However, ultra-low latency of three seconds or less is not possible yet, even with HLS tuning.

Media Source Extensions (MSE) is a JavaScript extension that allows you to stream at low latency in HTML5 browsers. MSE is not currently supported on iOS browsers—but we are currently adding playback support to the Wowza GoCoder SDK. That means you’ll be able to build applications that can stream at low latency by running GoCoder on an iOS device.

 

Two-Way Video Chat

Interactive video chat functionality is becoming more popular, which is primarily made possible by WebRTC technology. Historically, this wasn’t supported on iOS—but Apple has confirmed that WebRTC will be supported in iOS 11, slated for release in fall of 2017.

At Wowza, we’re always doing our homework to try and find creative solutions to problems such as the limitations of iOS. Stay tuned for new updates on streaming to iOS devices.

Got a comment? Drop us a line on Twitter @wowzadev
Jamie Sherry

Jamie Sherry has more than 15 years of experience in digital media, telecommunications and networking technologies, having worked with top brands in media and entertainment, enterprise, government and sports across North America and Europe.