There seems to be a lot of talk going on lately about this so I wanted to give my thoughts. This topic is actually quite a confusing one to think about. Let me first address the iPhone side of this so we can get to the real meat of the issue.
The iPhone does not support Flash video, or any other type of Flash for that matter, so you obviously need an alternative. In my last post I showed one approach for providing alternative videos for iPhone users. But this really doesn’t relate to HTML 5 at all. The iPhone plays video in its standalone player so you will not be able to view video embedded in the page. So for the iPhone, unless something changes, you need to provide an iPhone-compatible video file for your users to watch.
Now with the iPhone out of the way, we can now look at the real issue. YouTube released an HTML 5 demo of its player quite a while ago and are now testing this on their site. Vimeo, which is a lesser known video site, also launched a beta HTML 5 player as well. This should not come as a surprise to anyone as it is in their best interest to get ahead of the curve with HTML 5. If you are in a supported browser, HTML 5 video playback can be very smooth and less CPU-intensive than Flash. For basic video playback, I see HTML 5 as a great option down the road. Of course, the issue for me always comes down to browser compatibility.
The video tag works in Safari and Google Chrome. You can get it to work in IE if users install Chrome Frame. This is fine for developers, but the masses more than likely won’t be willing to do that just yet. So in reality, Firefox and IE both do not support HTML 5 video. Firefox seems to be doing its own thing, requiring you to use the Ogg video format, while Safari and Chrome support H.264. Go over an read this great write-up on HTML 5 video to see the splintering of the various video formats and browser support. If you want to deliver video to every browser without having to encode multiple video formats and creating alternative markup, then Flash is the way to go.
Now this is not to say that in the future, maybe they will all agree on an implementation. If that happens and it performs better than Flash, then that is how I will be delivering my videos as well. But another thing to point out is that Flash video is used for a lot of things beyond basic playback. Flash supports embedded cue points and alpha channels and is often used in ways beyond the traditional YouTube playback scenario. So while HTML 5 video looks promising, it is clearly way too early for people to be writing an eulogy for Flash video. Remember also that while the browsers get their acts together, Flash video will continue to evolve as well.