Video on Android’s Jelly Bean


Google’s latest dessert on the menu was shipped with flagship device Nexus 7: Android 4.1 Jelly Bean. Whilst you can find all the new features and fixes of this software release here, what’s more interesting for the engineering team @ Orca Digital is what it means for the future of video on android.

There are multiple ways of delivering video to Android devices: RTSP, Progressive Playback / Download, via alternative components (i.e. Flash or YouTube) and since Honeycomb (3.0) – HLS (HTTP Live Streaming). For VOD (Video-on-Demand) media, progressive playback / download is by far the easiest option – allowing for static mp4 / mov files to be consumed via a native app or in-browser (using HTML5 video tags). For LIVE media however, it is harder. Native apps and browser sites rely on RTSP and Flash (and HLS since Honeycomb) to deliver their rich video content.

However, as some of you may know, Adobe had announced back in November last year that it will stop supporting future iterations of the Android OS after 4.0 (Ice Cream Sandwich). In June, they made their position clearer by stating that they will be removing the Flash Player application from the Google Play Store after August 15. This meant that although Flash is a prominent platform for delivering video on the web, its a completely different story for the mobile space (no flash on iOS and Android 4.1+). This narrows the choices of video delivery down to RTSP, Progressive and HLS (only 3.0 and above). Furthermore, for live video, progressive download is not an option, hence RTSP and HLS are the only options.

In summary, due to the fragmentation of Android devices (in terms of OS versions and device variations), application and website developers will now have to re-consider their approach towards delivering video to android devices. Flash is becoming obsolete in mobile, Google is jumping on the HLS bandwagon, but at the same time existing 2.3 users (Gingerbread and below) can only consume RTSP content as HLS is not available. Good luck!

Update (2012-08-22): Also to note – since Jelly Bean will use Chrome as the default browser and ditch the ‘Internet Browser’, the H.264 codec support will also be dropped and so only WebM videos can be consumed on Jelly Bean’s Chrome HLS video playback. (What were they thinking?)

Update 2 (2012-09-28): Here’s a link to the how the BBC dealt with the changes for their native iPlayer application. In summary, the BBC has (interestingly) decided to still bet its cash on flash – by building a ‘player’ application (written using Adobe AIR) which will accompany the standard application. In a good way, it does ensure that the majority of the phones all share the same user experience

Update 3 (2012-10-17): Here’s also a good read about video on android

@munwaikong

Development
  • ben

    Have you been successful in delivering HLS live streaming to android 4.1? i have been trying to do this for the last few days however have only managed to get sound..

  • munwaikong

    Yes we have. We tested it on 4.1, 4.0.X, and 3.X and we’re getting playback on video and audio. Having said, it is still unstable at the moment – i.e. for some devices it only plays audio when not in fullscreen. Try stopping stream, hitting the fullscreen button, then pressing play. I have that issue with my Galaxy Tab 10.1 running 3.2

  • android_lion

    Great article, thanks for sharing your experiences – it’s save me loads of time. I can’t believe that it’s so hard to stream video to Android – nightmare that Flash is pulling out of mobile (after so many companies have bet on it) and an even bigger nightmare that Android frag is getting worse… please keep us posted!

  • Jose

    Hi,I´m a android users

    You said

    Update (2012-08-22): Also to note – since Jelly Bean will use Chrome as
    the default browser and ditch the ‘Internet Browser’, the H.264 codec
    support will also be dropped and so only WebM videos can be consumed on
    Jelly Bean’s Chrome HLS video playback. (What were they thinking?)

    Can you link to me the official announce of this?

    thanks

    • munwaikong

      this official release notes for Jelly Bean is here: http://www.android.com/about/jelly-bean/. If you search for Chrome, you will note that it is the default browser on the Nexus 7 – (though it may not be necessarily true for other jelly bean enabled devices).

      However seeing that they’ve done it on their flagship device, who’s to know what other manufacturers / future devices are going to do?

  • http://www.facebook.com/rodrigo.amaro Rodrigo Amaro Reveco

    Im now developing an application with VOD support for iOS and Android, and the first option to streaming video was HLS, but in android is other history. We develop an implementation of HLS in pure java for Android 3.0 , but the biggest problem is, i can’t retrive some native metadata to determinate the time of the VOD transmision, it’s really a nigtmare, in iOS was soo easy to do.

    • munwaikong

      check out Update 2 – on what the BBC did with iPlayer

  • Pingback: Video on Android (update) : Orca Digital – Engineering Blog