• About
  • Blog News

  • Online Video
    • Trends
    • Showcase
    • Flash Video
    • HTML5 Video
    • Live Video
    • Media Servers
    • Streaming
    • Content Protection
  • Mobile
    • Trends
    • Adobe AIR
    • Showcase
    • Devices
    • Android
    • Apple
    • RIM
    • Digital Home
  • Interactive Web
    • Trends
    • Fun
    • Showcase
    • Gaming
    • 3D
    • HTML5
    • Flash/Flex
  • Advertisement
  • Articles
  • Events

Home » Mobile » Adobe AIR » The Ultimate Guide to Understanding Advanced Video Delivery with AIR for Mobile

The Ultimate Guide to Understanding Advanced Video Delivery with AIR for Mobile

Posted by: Jens Loeffler    Tags:  adobe air, encoding, live, Mobile    Posted date:  January 9, 2012  |  15 Comments



Adobe AIR provides a very attractive abstraction layer for video playback on mobile devices, but a certain level of knowledge is required to take full advantage. Before we start, it is important to understand the difference between Adobe AIR and Flash Player on mobile devices. Flash Player on mobile runs in the browser, and allows to display Flash web content that otherwise wouldn’t be available. The challenge of this approach is iOS does not have Flash support, meaning for reach, mobile sites are not authored in Flash, but rather HTML. Adobe recognized this, and made appropriate adjustments late last year.

Adobe AIR in contrast is based on the application approach, and can combine Flash, HTML and native functionality – as result, it is possible to take advantage of the advanced video features that are widely deployed with Flash on the desktop, including adaptive streaming, content protection, ad monetization and beyond.

To reaffirm the commitment to Adobe AIR, Danny Winokur, Vice President & General Manager, Interactive Development at Adobe made the following the statement.

Our future work with Flash on mobile devices will be focused on enabling Flash developers to package native apps with Adobe AIR for all the major app stores.

The only platform that has not full support for the Adobe video stack is AIR for iOS due to iOS limitations, but it contains very legit workarounds to enable equivalent, fully App Store compliant, functionality within the same workflow, resulting in the same end user experience. Let’s look at the media capabilities of the different mobile platforms.

 

Protocols and codecs

Fully hardware accelerated H.264 video playback is supported on all AIR target mobile platforms including iOS. The supported protocols are slightly different on iOS though.

Figure 1) AIR for Mobile H.264

 

 

 

 

 

 

Other codecs are supported as well, but not HW accelerated.

Figure 2) AIR for Mobile ON2 VP6, Sorenson Spark

 

 

 

 

 

 

Content protection is supported, but again with slight differences on iOS.

Figure 3) AIR for Mobile content protection

 

 

 

 

 

The figures above show that video features are mostly equivalent to the desktop, with minor differences on iOS. For a more in-depth overview how to use a unified workflow to include iOS video delivery, read the mobile strategy post, and the article comparing HDS with HLS.

In addition, here is a short video of HLS H.264 live streaming running in AIR for iOS, demonstrating how well it integrates.

 

Performance

The performance of AIR for Mobile video delivery depends on the target platform, but iOS and the Blackberry Playbook have very limited fragmentation, and the AIR video performance is equivalent to native. Thus the overall Apple encoding recommendations also apply to AIR for iOS, and the Playbook’s very well performing H.264 hardware decoder can consume most H.264 encoded content.

Android on the other side, with hundreds of different devices, is a lot more challenging, but also benefits most from video delivery with Adobe AIR.  But before I dive into the specifics, let’s look at a crucial performance feature for mobile video delivery.

 

StageVideo

StageVideo, in contrast to the older video object, GPU accelerates 100% of the video pipeline, meaning best video quality, performance and battery life.

On Android the video object supports hardware decoding, but part of the video pipeline might use CPU. This is sufficient for smart phones, but not a good technique for HD quality video on tablets.

Figure 4) StageVideo support on mobile

 

 

 

 

As you can see above, StageVideo has different characteristics on each platform, but the overall guidance is to detect StageVideo and use if available. The Open Source Media Framework automatically enables this functionality, but there is also a manual detection approach.

 

Android video fragmentation

Android as a video delivery platform is more challenging than a platform like iOS with very limited fragmentation. Android runs on hundreds of different devices, with different hardware, and GPU layers underneath it.

Figure 5) Layers of Android video fragmentation

Adobe AIR provides an abstract layer on top of a complex and fragmented foundation, with a lot of continuous efforts invested in supporting different chipsets and drivers. As pointed out in a previous blog post, even the supported streaming protocols differ based on the Android version. Once built on top of AIR, the application will adopt to new devices with minimal efforts due to continuous AIR updates. That said, the Android team is working on decreasing the fragmentation. But to reach all devices today, a native approach without Adobe AIR in comparison is time consuming and often requires third party support to enhance e.g. the native streaming capabilities.

With such a diversity comes the need for a video encoding performance baseline to reach all devices with the sames encoding, which Adobe provides in detailed form, and with my short guide from 2010. In addition tablets with StageVideo and Android 3.1+ support 720p video playback, and the Kindle Fire offers high quality playback even on Android 2.3.

Note: In case you experience performance issues with 720p playback on Android 3.1+ devices with StageVideo enabled, ensure to download the latest AIR runtime from the Android Market.

If device specific video optimization is desired, it is possible to fairly accurately detect the device based on the method the AIR application Device Info uses, and deliver device optimized profiles.

 

Monetization

As part of supporting the Flash Video ecosystem with Adobe AIR come all the monetization options, including video ads with Auditude, measurement with Omniture, and everything else that is part of the ecosystem.

To better understand how to convert your Flash video web experience into an Adobe AIR application, read the mobile strategy article.

 

Conclusion

Obviously there is more complexity to video delivery and the overall application approach, but this demonstrates the advantages of using a runtime with unified video features to reduce costs and increase scale.  For successful examples, it’s worth checking out WatchESPN, Snagfilms or Psych Vision 2.

And as always, feedback and questions are welcome – this article is the result of reader comments from the recent survey.

Update 01/16/12: Added Source Code – 720p Video on iPad and Android Tablets with Adobe AIR.

Update 01/27/12: If you use the captive runtime approach, please update Flash Builder/Flash to the latest AIR version for 720p Android playback (AIR 3.1.0.5560 or higher)

About the author
Jens Loeffler
Technology enthusiast and evangelist, with a passion for online video and mobile. Senior technical evangelist on Adobe's Media Solutions product management team focusing on online video and services. The views expressed on this blog are personal views.



Related Posts

GoDaddy.com Places Gigantic QR Code on NYC Times Squares – This Post Proves It Works
It's one of these things you should ignore, but size can make a difference, as this initiative demonstrates. GoDaddy.com placed a gigantic billboard on NYC's Times Square, and it at least got my attention. I personally...


Apache Flex – And It Begins With a New Logo
The recent months have been very eventful for Flex developers, and initial concerns turned quickly into excitement to get behind the new opportunity. Flex made significant recent steps to become a full open-source project,...


4 Power Tips to Increase Adobe AIR Mobile Performance
The featured image shows Machinarium, a blockbuster Adobe AIR iPad game currently in the iOS App Store. Even though I personally didn't have insight in their performance optimization, here are some generic quick tips to improve...


Sign in or Post as Guest
Livefyre logo
  • Comment help
  • Get Livefyre
Post comment as
twitter logo facebook logo
Sort: Newest | Oldest
guest

Great summary article.
Do you have a list of Android tablets that Adobe might have tested and found H.264 (with StageVideo) playback performance to be acceptable ?

share
  • spam
  • offensive
  • disagree
  • off topic
Like
Jens Loeffler

All Android 3.1+ tablets have AIR StageVideo support, meaning native video performance. The performance is dependent on the HW decoder and the encoding settings, but mobile optimized 720p video should work on all those devices (see encoding guidelines).

Tablets with Android 2.2/2.3 might or might not have StageVideo support depending on the chipset - if they do, it's dependent on the HW decoder, but likely 720p. If not, the video object can also perform well depending on the chipset (e.g. Kindle Fire or the original 7-inch Galaxy Tab with firmware upgrade can handle high quality video well), but less popular, older tablets, might not. It's case by case.

share
  • spam
  • offensive
  • disagree
  • off topic
Like
superabe
superabe 5 pts

Thanks for the info. In my tests Samsung Galaxy Tab 10.1 does not handle video playback well. It stutters playing video even lower than 720p. Toshiba Thrive is better, still stutters occasionally. The Kindle Fire seems to crash even trying to play back H264.

This is my point, I see a lot of claims that streaming in AIR works fine on so and so tablet, but when we try to make one, I dont see results that match the claims. So a sample application with a link to a public 720p stream, and a list of sample devices where you tested them to be acceptable would really help. We can then grab the app..test it on the devices listed and then work to optimize our content to work at least as well as the reference app.

share
  • spam
  • offensive
  • disagree
  • off topic
Like
Jens Loeffler
Jens Loeffler 5 pts moderator

superabe Thanks for the feedback, I will post a sample application. In your case, something doesn't seem to be right.

I would confirm you set wmode to direct, and use StageVideo correctly. The encoding settings are also very important. AIR uses the underlying HW decoding, meaning if you set a too high level or profile, the decoder might not support it, and AIR will fallback to SW (resulting in poor performance given that it is HD).

I would be interested in your video asset, maybe you could share it? (if privately, there is a contact form on the right)

share
  • spam
  • offensive
  • disagree
  • off topic
Like
Jens Loeffler
Jens Loeffler 5 pts moderator

superabe Here is an example - http://www.flashstreamworks.com/2012/01/14/720p-vi...

share
  • spam
  • offensive
  • disagree
  • off topic
Like
superabe
superabe 5 pts

Jens Loeffler

Excellent. Thank you.

Can't wait to try this out next week. About the video assets, I cant share it, due to copyright issues, but if your sample above does not resolve the issue for me, I will try find some creative commons license based video demonstrates the issues and send it over.

Really refreshing to see prompt responses from an Adobe evangelist. Usually the process of resolving a video streaming issue across the AIR, FMS, OSMF, forums is quite frustrating. Appreciate it.

share
  • spam
  • offensive
  • disagree
  • off topic
Like
Jens Loeffler
Jens Loeffler 5 pts moderator

superabe The Galaxy Tab 10.1 has the same hardware as the Xoom, it should behave the same. Let me know how it works.

share
  • spam
  • offensive
  • disagree
  • off topic
Like
superabe
superabe 5 pts

Jens Loeffler

So I tried out your stream above on the Galaxy Tab 10.1 and playback is choppy (nowhere near the quality you get on the desktop). This is especially noticeable on camera panning movements.

share
  • spam
  • offensive
  • disagree
  • off topic
Like
Jens Loeffler
Jens Loeffler 5 pts moderator

superabe The hardware is identical, this is a bit mysterious. What is your Android version? I tested it again, I do see some drops initially, but then it's perfectly smooth (not a dropped frame, even during movements). It's possible this related to the fact it's progressive download, and the device is trying to save it to cache initially while playing it. You could try switching to RTMP, it should eliminate all caching overhead (same issue with PD on desktop depending on how fast your HD and internet connection is, e.g. slow HD, high bitrate video, and very fast Internet connection could cause this).

share
  • spam
  • offensive
  • disagree
  • off topic
Like
superabe
superabe 5 pts

Jens Loeffler I am testing on a Galaxy Tab 10.1 with Android 3.2. I feel its not caching related because I see this on subsequent playback as well. Do you have an email id I can send the apk over to. I wonder if its something to with the way I am packaging the app.

Are you testing on a Xoom ?

share
  • spam
  • offensive
  • disagree
  • off topic
Like
Jens Loeffler
Jens Loeffler 5 pts moderator

superabe Sure, you can send me the link to the APK via the contact form on the right, happy to test it on the Xoom. What AIR version are you packaging with?

share
  • spam
  • offensive
  • disagree
  • off topic
Like
superabe
superabe 5 pts

Jens Loeffler I am packaging it with AIR 3.1 as a captive runtime. I am not able to put out a public link to the APK just yet. If you don't mind can you send me your email id to [superabe at gmail dot com] and I can send you the APK directly.

Thanks.

share
  • spam
  • offensive
  • disagree
  • off topic
Like
Jens Loeffler
Jens Loeffler 5 pts moderator

superabe Please double check you use renderMode direct in the application.xml, otherwise the app can't access StageVideo and falls back to video mode - which, on this device, can't handle HD content.

share
  • spam
  • offensive
  • disagree
  • off topic
Like
Jens Loeffler
Jens Loeffler 5 pts moderator

superabe The solution has been added to the article, the Flash Builder AIR SDK has issues with 720p video playback content on Android, upgrade to the latest.

Update 01/27/12: If you use the captive runtime approach, please update Flash Builder/Flash to the latest AIR version for 720p Android playback (AIR 3.1.0.5560 or higher)

share
  • spam
  • offensive
  • disagree
  • off topic
Like

Trackbacks
  1. air for ios 用stagevideo 播放mp4影片 | 玩創互動 – 分享實驗室 says:
    February 9, 2012 at 9:06 am

    [...] http://www.flashstreamworks.com/2012/01/14/720p-video-on-ipad-and-android-tablets-with-adobe-air/ http://www.flashstreamworks.com/2012/01/09/the-ultimate-guide-to-understanding-advanced-video-delive…  本篇發表於 [ Air ] 與標籤於 air ios stagevideo mp4 由 [...]

  • Find Articles

  • Recent Posts

    • Nike's "Quick Controls Chaos" Pushes Interactive Web Video Forward
      I've always been fascinated by well produced video-based marketing sites, specifically...
    • Monolith - A Playful Agency Site with Stage3D
      Monolith, a Japanese ad agency, created their agency site with Stage3D (via Flash...
    • Is Samsung's Ad Strategy Oddly Similar to Apple's?
      I remember first seeing the Samsung Galaxy S II commercial  "The Way We're Wired"...
  • Popular Posts

    • HLS vs. HDS - What Is the Difference and Why You Should Care
      Unless you work daily in the streaming business, it's sometimes hard to get into...
    • The Ultimate Guide to Understanding Advanced Video Delivery with AIR for Mobile
      Adobe AIR provides a very attractive abstraction layer for video playback on mobile...
    • The 54th Grammy's Rock with Stage3D
      Literally. The new site "We are music" for the 54th Grammy's, airing on CBS on Sunday,...
  • News in Pictures

  • Social Media





 
  • Online Video

    • The Mystery Behind Live Streaming Delay
      One side effect of living in the year 2012 is that major events, such as the World...

    • Best Practices & Guidelines for In Stream Video Ads
      In Stream Video ads are some of the most popular type of ads for advertisers, agencies...

    • Mobile Video with PhoneGap, HTML5 and Strobe Media...
      PhoneGap is a powerful HTML5 based cross platform application platform, but how well...

    • Vote on the Next HTML5 Media Topic
      As indicated in the recent survey, 23% of you are interested in HTML5. And to help...

  • Mobile

    • Apache Flex - And It Begins With a New Logo
      The recent months have been very eventful for Flex developers, and initial concerns...

    • 4 Power Tips to Increase Adobe AIR Mobile Performance
      The featured image shows Machinarium, a blockbuster Adobe AIR iPad game currently...

    • Tune In to Live Radio with Adobe AIR
      As mentioned in my previous post "The Ultimate Guide to Understanding Advanced Video...

    • Source Code - 720p Video on iPad and Android Tablets...
      My guide to advanced video delivery with AIR for mobile resulted in a lot of interest,...

  • Interactive Web

    • Nike's "Quick Controls Chaos" Pushes Interactive Web Video...
      I've always been fascinated by well produced video-based marketing sites, specifically...

    • Monolith - A Playful Agency Site with Stage3D
      Monolith, a Japanese ad agency, created their agency site with Stage3D (via Flash...

    • MINI Fumbles With Their New Online Car Configurator
      MINI, which had amazing amazing marketing campaigns over the years, included a new car configurator on...

    • Angry Birds Is Not Huge, It's Massive
      It's often easy to underestimate the size of certain, highly recognized brands. Rovio,...

  • Contact Us

    CAPTCHA Image
    Refresh Image

 
The views expressed on this blog are personal views and should not be taken to represent corporate strategy or official Adobe positions.
The content of the posts at this site should not be re-distributed by commercial media.
(c) 2012 Flashstreamworks | Logo Design Stiehl/Over