High-Quality iOS Live Streaming
So, you’re interested in high-quality iOS live streaming? Well then, this article is for you! Live streaming to iPhones and iPads presents some unique challenges for online video. However, don’t fret – there are solutions available that we’ll be explaining in-depth below.
In this piece, we’re going to start by breaking down the mobile revolution. Then we’re going to unpack some of the reasons why you should have a mobile strategy (if you don’t have one already, it’s time to get onboard). Finally, we’ll dive into the details of how to stream to RTMP equipped iOS devices.[NOTE: This article is about streaming to iOS devices. To learn more about streaming from iPhones and other iOS platforms, check out this previous article.]
The mobile revolution is over
The old world has already been overthrown. Mobile has completed its ascent to the top and achieved total dominance as a platform. The first true smartphone, the Apple iPhone, was released in 2007. That means it’s been about a decade since the mobile revolution began.
A lot has changed during that time. Smartphones have become almost ubiquitous. They’ve changed the way we communicate, entertain ourselves, and share. For businesses, smartphones offer the ability to reach potential customers instantly, wherever they are located.
When it comes to live video, smartphones are the umbilical cord. They connect a population that’s constantly on-the-go to fast internet and to the world. People can now access high-quality video streams wherever they are located.
When it comes to tablets and other mobile devices, the story is a little different, but still similar. Tablets generally offer a new form factor of device to users who are looking for portable, lightweight entertainment and productivity devices. For video, tablets offer a large screen size and fast processing.
Benefits of streaming to mobile devices
A brief look at a few statistics will back this up. Globally, the number of mobile device users surpassed the number of desktop users in mid-2014, and the gap has only continued to rise. Sixty-five percent of digital media consumption time is spent on mobile devices. It’s no wonder then that mobile advertising is expected to account for more than 70% of all U.S. digital ad spending by 2019.
When it comes to video, mobile is dominating as well. It’s estimated that more than 152 million mobile users watch video in the United States. Revenue from mobile video in this country totals almost $2.3 billion annually, mostly from advertising. Live streaming to mobile is following the same trend. Millennial smartphone users expressed high levels of interest in watching humor, breaking news, music, sports, and educational videos via android and ios live streaming.
Challenges of mobile streaming
Streaming on mobile devices isn’t all fun and games. There are some limitations and challenges.
Chief among these are issues related to data transmission and processing. Simply put, video streams are large. These files can have a major impact on data usage for mobile plans. Therefore, video compression is essential. However, the more compression video receives, the more processing it requires. That takes a powerful CPU. Battery life can also be an issue, since playing video is power-intensive for the CPU and the screen.
Over the years, technological advances have chipped away at many of these difficulties. Dedicated video chips in modern mobile devices minimize the power needed to decode video. Larger and more efficient batteries maximize device lifespan, and better encoding minimizes file size and data use.
iOS live streaming challenges
In the past, Android devices used to support Flash. This standard wasn’t ever adopted by Apple on the iOS platform for security reasons and was dropped from Android as well a number of years ago.
These days, both Android supports a variety of formats and codecs for live streaming video while iOS is much more restrictive. The overlap is small. If you want to reach both platforms with a single video format, you’ll need to be careful when choosing your settings, and frankly, you need to follow Apple’s iOS specs.
How to stream to iOS devices in 3 easy steps
Reaching iOS users is imperative. Apple has shipped well over 1 billion iOS devices. In 2013, it was estimated that there were around 300 million active iPhone users. That number has greatly increased since and the percentage of mobile video consumed on iOS devices is higher than the device market share. In the tablet world, iPads account for 86% of all streaming video starts from tablet devices.
iOS live streaming requires some specific adaptations. Let’s take a look at these now.
1. Use an adaptive, multi-bitrate video player
The first step in making sure that your live stream can reach iOS devices is to use an adaptive, multi-bitrate video player. An adaptive video player is a player that dynamically adjusts video playback based on the speed of the viewer’s internet connection, their device’s computational performance, and other factors.
This is essential in mobile environments since cell signal (and thus internet speed) can vary widely within a short period of time. Imagine, for example, that your viewers are watching while on a bus or train. They may transition within a few moments from areas of very poor service to areas with a powerful signal.
Mobile users also have highly variable compute power. The newest smartphones often have 4 or 8-core processors that are very capable. Older devices, on the other hand, creep along with single or dual-core processors that are much slower.
All of this is essentially transparent to the user. No button-pressing or user manipulation is required. Instead, they’re simply delivered the best video possible at any given moment. For a good mobile experience on iOS, an adaptive, multi-bitrate video player is essential.[Tweet “If you’re streaming to iOS devices, it’s important to use an adaptive, multi-bitrate video player to ensure high-quality.”]
2. Use the right audio codec
The second issue that you need to consider for iOS live streaming is the audio codec. Apple supports two of the most common audio codecs: AAC and MP3. In general terms, a “codec” is a mathematical method for reducing the file size of a digital media file via compression.
Compared to “raw” audio (for example, .WAV or .FLAC files), both AAC and MP3 produce much smaller file sizes with minimal reduction in quality. AAC is generally preferable as the file sizes it produces are somewhat smaller.
Specifically, current iOS devices support the following:
- AAC-LC (the “low-complexity” profile of the AAC audio codec)
- HE-AAC (High-Efficiency AAC version)
- Up to 48 kHz sampling rate in stereo
- MP3 recordings with a sampling rate between 8 and 48 kHz in stereo
- Bitrates up to 3 Mbps (minimum of 40 Kbps recommended)
That’s the baseline for iOS live streaming. However, we generally recommend the following settings: HE-AAC with a sampling rate of 48 kHz and a bitrate of 64-128 Kbps.
Some experts also recommend also streaming an audio-only version of your live stream. This ensures that you can reach users with even slow cellular internet connections. Generally, a bit rate of 64 Kbps is ideal for this purpose. This will have to be a separate live stream but can be included alongside your video-based stream to give users more options.[Tweet “If you plan to reach iOS users via #streamingvideo, use the right audio codec. Usually, that means AAC.”]
3. Use the right video format
Video encoding is confusing because there are a number of working parts. The first part is the “container format.” Most commonly, we see this in the file extension at the end of a filename. .MOV, .MP4, and .AVI are some common container formats.
In the past, the FLV video container format was the most common type used for streaming video. However, that has changed now. Apple’s iOS devices do not support Flash or the FLV video container. This is also true on Android. Instead, videos need to be delivered using another method. That method is HLS, which we’ll discuss later in this article.
If you plan to record your live streams for later release and mobile viewing, then we recommend MP4 as the most widely supported container format.
The second working part in video encoding is the codec. This essentially references the mathematical algorithm used to compress video files in order to reduce their size. The most common codec for video delivery online is called H.264.
However, within the H.264 codec, there are a number of different versions of implementations. These are known as profiles. The “baseline” profile can be decoded by older devices with lower processing power, while “main” and “high” profiles won’t work on these platforms.
If you plan to target older models of devices for iOS live streaming (like iPhone 3G), we recommend the H.264 Baseline profile, level 3.1. However, these devices are getting rarer every day. If you intend to reach users of the iPhone 4 and later models, the H.264 Main 3.1 profile will provide better quality.
Finally, the video format also relates to the delivery method. In the past, Adobe-developed RTMP (Real Time Messaging Protocol), which streams flash video, was the dominant delivery method for all live streams. It’s still the gold-standard for delivering live streams to your streaming host.
However, as we’ve noted, iOS live streaming doesn’t support Flash. They need a different format of video delivered from your host to viewers. That means that a new format needed to be developed when iPhones were first released.
Enter HLS: HTTP Live Streaming. HLS breaks video files up into small packets that are delivered using the standard HTTP language of the web. It’s a robust, practical standard, and it’s become very common. This protocol was created by Apple and is widely supported on Android as well. HLS is also the standard of choice for most live-streaming platforms, including Dacast.
In the coming years, HLS will likely be replaced by MPEG-DASH. This new delivery method is also based on HTTP but has several advantages over HLS. For example, it is codec agnostic, which means that any codec—H.264, H.265, Vp9, Vp10, etc.—is supported.
However, MPEG-DASH is still a future technology. To reach iOS devices, for the time being, you should use HLS.
Another issue is that networks might not be fast enough to keep up with your real-world needs. One study from late 2016 found that average 4G network download speeds from the main U.S. cell carriers varied from 18.5 Mbps (AT&T) to 7.3 Mbps (Sprint).
In general, we recommend broadcasting in a variety of bitrates to reach viewers with varying internet speeds. For example, you might encode a low-quality version of your stream at around 500 Kbps. You can also include a medium-quality version at 2 Mbps, and an HD stream at 5 Mbps.
Streaming to iOS devices, as we’ve seen, presents some unique challenges. However, with the right settings and proper prior planning, you can avoid these issues altogether. The factors discussed above will allow for iOS live streaming in the highest quality.
This technology is constantly evolving, and more changes are on the horizon. Upcoming codecs and delivery methods like HEVC will further improve video quality and reduce data use. The future of live streaming, and especially high-quality video on mobile devices, is bright.
Do you have experience with streaming to iOS devices? If so, we’d love to hear from you about what has worked! Let us know about your experiences in the comments.
And if you want to try us for free, enjoy all our features for 14 days!