For content owners that want to get their live event-based streaming content on mobile phones and tablets, many are quickly finding out that getting it to Android devices is extremely challenging. Unlike Apple’s iOS platform, Google has yet to provide an easy way to get live video to Android devices and to date, hasn’t detailed any kind of strategy of how they plan to fix it. Many content owners I have spoken with, as well as those who help these content owners encode and distribute their video are now questioning why they should even continue to go through all the trouble of trying to support Android based devices at all.
While media companies can always build an app for their event series, most do one-off events and are faced with streaming to the mobile web and reaching their audience using browsers on Android and iOS devices. When Android phones became popular, live video was supported in the mobile browser thanks to Flash. Digital video professionals with live content to distribute were able to keep doing what they were doing on the desktop and Flash made it easier than it is now. That’s not to say that Flash was perfect as in many cases their desktop players were heavy, containing ad overlays and metadata interaction that had a major impact on the playback quality. To get better quality video playback, some people turned to RTSP delivery, which Android touted as its native live video format until Android 2.3.4 came out, when that feature no longer worked.
The most effective way to get live video to Android browsers was to make a stripped-down Flash player that didn’t demand much from the phones. Video was decoded in the software but it would drain batteries quickly. It was imperfect but it functioned well enough to play video. With the introduction of Android 3.0 it looked like HLS support was going to be built-in for all future devices, and that has held true, sort of. HLS support doesn’t match the specification, and buffering is common. Industry-leading HLS implementations like those from Cisco and Akamai will not load on Android devices, so for the most part, content owners went back to Flash. But now Flash isn’t available to new Android phones.
Right now, content owners are left in an awkward state if they want to deliver live video to Android browsers. If Flash is present, you can deliver a basic Flash video player. If it is not, you can try to deliver HLS but the HLS manifests must either be hand-coded or created using Android-specific tools. If the HLS video can play without buffering you’ll find that there is no way to specify the aspect ratio, so in portrait mode it looks broken. The aspect ratio problem seems to have been fixed in Android 4.1 but often, if you enter video playback in landscape mode and leave in portrait it will crash. You can allow the HLS video to open and play in a separate application, but you lose the ability to communicate with the page, and exiting the video dumps the user back on their home screen.
In comparison to iOS devices, content owners can still send the same live video to iOS devices that they could in 2009, and it will play smoothly with little buffering. Live video support for browser-based streaming within Android tablets and phones is a significant challenge with little help available from Google, and with Android still talking about removing H.264 video support, many content owners are wondering why they should even try to support Android any longer? What’s clear is that Google doesn’t have a strategy to fix the problem and many content owners and video ecosystem vendors are frustrated. Content owners want to get their live video on as many devices and platforms as possible and right now, getting it to Android devices is very difficult and costly. Unless Google steps in to solve the problem, don’t expect content owners to continue to try to support Android devices for live video streaming.
Content owners that want to give their feedback to Google about this, feel free to do so in the comments section below.
Note: I emailed a representative of the Android team asking if they were willing to talk about this subject but didn’t hear back. If Google would like to respond to this issue, I’ll be happy to post their response or hear any plans they may have to address the problem.