HTML5 vs Flash Video: Choose Wisely

The title of this blog post is ALSO the title of an upcoming talk I’m giving at NCDevCon (  I’ve decided that instead of starting out in power point, I’d write this up as a blog post and think about how to present this stuff on a big screen later.  I do this, not only to have a nice blog post about this stuff, but because I hate looking at power presos on my computer – and I’d rather have something better to share with folks after the presentation.

I’ll write this up as a series of posts with this as the main index page.  So below are the main topics in this series!  I’ll fill them in with links as I progress, so stay tuned!


The War of the Buzzwords!

  • A Little History of Web Video
  • Video with Flash (FMS and Flash player)
  • Enter the video tag

Playing with the Video Tag

  • Simple playback
  • Native and custom controls
  • Javascript API
  • Some shortcomings
Extra Help with HTML5
  • Modernizr
  • Not Modernizr
  • No Javascript
  • Video Frameworks

How to: Basic Flash Playback

  • NetStream & NetConnection – Kinda complicated!
  • Open Source Media Framework
  • 3rd Party Players
  • Strobe and Flash Media Playback

Streaming vs Progressive

  • What is Progressive Video?
  • What is Streaming Video?
  • Something in between (pseudo-streaming)
  • Uses cases for each
  • What’s possible in HTML5 vs Flash?
  • Different Streaming possibilities in Flash – HTTP, RTMP, Pseudo Streaming

How Apple HTML5 is Different than normal HTML5

  • Some Apple playback quirkiness
  • Midroll Ads
  • Automatically Seeking
  • Player Chrome
  • Video API Events

What’s Happening on the Server Side

  • HTTP Live Streaming
  • M3U8 File Spec
  • Live playback limits on HLS
  • Other Streaming Servers

Advertising and Reporting

  • 3rd Party Library maturity
  • Advertising with MP4 – at least that’s easy!
  • Companion ads and banners

The Verdict

  • Choose Wisely!
  • Use HTML5 video for simple playback
  • Use HTML5 for iOS
  • Use Flash for long-form streaming content
  • Use Flash for in-depth ad support

Other Options

  • Native iOS
  • AIR for Mobile
  • Corona and other 3rd Party Packagers