Web Video on Desktop and Devices - Flash and HTML

Right now video is a bit of a mess on the web.

The most widely supported platform for playing video on the desktop is Flash. But some devices notably the iPad and iPhone don't support Flash. If you want to be able to play your video on multiple platforms and devices what can you do?

What about HTML5 Video?

Most modern browsers support the HTML5 video tag.The main issue here is that HTML5 browsers support different codecs and don't yet have wide adoption.

Currently the formats that are supported in different browser are:

  • Firefox, Opera and Crome support Theora.
  • Safari, Internet Explorer 9 and Crome support H.264.
  • Android devices and iOS devices support H.264.
  • Current versions of Internet Explorer don't support HTML5 video tag.

Internet Explorer will support the HTML5 video tag when Internet Explorer 9 comes out, but it wont run on Windows XP, which is about is about 40% of desktop machines.

Currently (January 2011) only about 25% of desktop browsers in use support the video tag.This is likely to increase as time goes on but it will still be quite a few years until HTML5 video support in browsers reaches anything like the adoption of the Flash player.

On the mobile devices/smart phone support is better with Android, iOS and RIM supporting it. Currently (January 2011) about 67% of mobile browsers support HTML5 video. This is likly to increase at a quicker rate than desktop support.

Another issue to consider is that HTML5 video can play video fine but doesn't support a wide range of features that Flash video does support such as full screen playback (limited support), captioning and true streaming.

What about H.264?

All common desktop browsers and smart phones support H.264 either via the HTML video tag or the Flash player, so that should make things easier right? Well sadly no. H.264 consists of several profiles with different capabilities. The Flash player supports a wider range of profiles than iOS, so a video may not work in iOS even when it works fine in the Flash player. Even if a flash video is encoded in the basic profile iOS won't play H.264 videos in a F4V container but needs an MP4 container. You can create a MP4 file with a baseline profile 3.0 that will be viewable in all iOS devices and the Flash player.

Desktop video vs Mobile video

Another thing to consider is that mobile devices generally have smaller screen sizes, less available bandwidth and slower processors than desktop computers. They are also viewed in poor lighting conditions and listened to in noisy environments. You may want to display a lower resolution or lower quality video for mobile devices to improve the mobile viewing experience.

What does this all mean?

To display video in a wide range of browser on the desktop and devices you need to use both Flash and HTML.

There is no single video format that will work in all devices and you will need to encode your video in multiple formats in you want to target a wide audience and set of devices.

If high quality is not essential you can use a single low resolution H.264 mp4 video to display in both Flash and HTML.

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
Of course as soon as I write this things change a little and Google have announced they will be dropping support for H.264 in their Crome browser and support WebM and Theora.


However the Flash player in Chrome will play H.264 videos just fine even when this happens.
# Posted By Justin Mclean | 1/12/11 11:00 PM
Using an Online Video Platform can really help mitigate the risk and remove the worry of having to encode to multiple formats and target multiple player environments. I've just posted about the challenges video publishers face and how Ooyala can help.

We also help switch to HTML5 video with a dynamic player swap, to help support this environments that don't have Flash Player capabilities.

# Posted By Andrew Spaulding | 1/13/11 5:59 AM
Video platforms certainly take a lot of the hassle out and solve a lot of hosting issues. However they may not be a fit for everyones budget.
# Posted By Justin Mclean | 1/13/11 10:05 PM
Google have confirm continuing support for the Flash player in Crome as the way to play H.264 videos.


No confirmation if they are dropping support for H.264 on Android as well. I would assume not.
# Posted By Justin Mclean | 1/16/11 2:34 AM