Thoughts on Web Video [Updated]

Video on the web has been quite the boom in the last decade. In the early days, everything was a QuickTime or Windows Media video. Windows Media was the reigning king for a long time. Eventually, Macromedia Flash, since acquired by Adobe, became the dominant delivery system for web video. I believe what brought forth the era of Flash was YouTube. YouTube employs Flash to deliver millions (billions?) of video every day to the masses.

Now, I don’t have a great deal of love for Flash. It’s slow, buggy, and is largely believed to be the chief cause of browser crashes. But Flash is unavoidable. Everyone pretty much has to have it installed, because so many sites are built around Flash for video and interactive components.

Flash is also a huge resource hog. It eats up a good chunk of CPU (though the 10.1 beta doesn’t eat nearly as much as past versions). In today’s largely mobile lifestyle, more CPU consumption means shorter battery life. It’s no secret that Flash’s hunger for CPU resources (and therefore battery life) is one of the chief reasons that Apple doesn’t allow Flash on the iPhone and iPod touch.

Still need a case against Flash? Some people feel so strongly about it that they built the wonderful ClickToFlash which blocks all Flash content until the user clicks on the Flash element to play it. Go ahead, install it now.

The answer to Flash, at least regarding web video, presented itself not too long ago in the advent of HTML5 and it’s <video> tag. Nearly all of the most popular browsers have adopted HTML5 (except for Internet Explorer, but no one should use that anyway). The biggest hurdle in the adoption of HTML5’s video tag has been the format of video presented. Safari & Chrome use H.264, and Firefox uses Ogg Theora to present video.

Without a unanimous agreement for HTML5 video format, Flash will remain the most prevalent form of video delivery on the web for years to come. But all of that has the potential to change quickly. How? YouTube, the world’s largest distributor of web video.

Yesterday YouTube opened up a beta of HTML5 video delivery. They chose to run with the H.264 encoding (naturally, since YouTube and Chrome are both Google products). There are a couple of caveats, though. This beta implementation of HTML5 video on YouTube will not work in full screen, or on videos that have ads embedded (those will still present in Flash). Also, if there are annotations to the video, those will not display in the HTML5 player. Lastly, YouTube videos embedded in other sites will play in Flash for the time being.

If you currently use Safari 4, Chrome, or Internet Explorer with Chrome Frame, you too can join the downfall of Flash video. Visit YouTube’s HTML5 Beta page and with one click you will see most YouTube content in HTML5. Videos now load quickly and efficiently without hitting your CPU too hard.

I have a feeling that if enough users participate in the HTML5 beta, YouTube will expand its feature set on the site, and might even use it by default. They obviously wouldn’t open a beta unless they were considering making the jump to a native, browser-based delivery system.

UPDATE: Of course, as soon as I hit publish, Vimeo has followed YouTube in rolling out an HTML5 player, circumventing Flash altogether. They also chose to go with H.264, so Firefox users are out in the cold. It also has the limitation of not supporting full screen. If you want to use HTML5 on Vimeo, the details are here.

I have a feeling that the Firefox team will be looking at H.264 soon.