YouTube: HTML5 Video Is No Match for Flash

YouTube has some bad news for those of you hoping the site would soon ditch Flash in favor of HTML5 video tags: It isn’t going to happen any time soon.

That’s message from the YouTube developer blog which cites half-a-dozen areas where Flash trumps HTML5 and explains why “the <video> tag does not currently meet all the needs of a site like YouTube.”

The emerging HTML5 standard, which is quickly being adopted by browser manufacturers and developers, offers native video-playback and animation tools that don’t require Adobe’s Flash plug-in. However, while HTML5 handles the basics of video, it lacks many of the extra features that sites like YouTube, Vimeo and Hulu currently offer through Flash-based video players.

To switch to pure HTML5 video would mean YouTube would have to give up features like live streaming, dynamic video quality control and the ability to allow users to jump to specific points in a video.

While YouTube claims to be “excited about the HTML5 effort and <video> tag,” the post makes it pretty clear that HTML5 isn’t going to take over the site any time soon. The video-streaming site Hulu has previously said the same thing: HTML5 lacks the extra features Flash enables.

YouTube has been running an experimental HTML5 version of the site for more than a year, and it remains an opt-in choice for those who want to avoid Flash. The site also continues to serve raw H.264 videos to mobile devices like the iPad, but don’t expect the main browser version of YouTube to make the same changes.

The YouTube developer blog lists several things Flash can do that HTML5 video tags cannot:

  • Flash cuts down on the number of formats YouTube needs to encode.
    With browsers divided over which video codecs to use, YouTube would need to re-encode most of its content. With YouTube users uploading 24 hours of video to the site every minute, that’s no small task. The new WebM video codec offers some hope here, but it isn’t universally supported yet.
  • Flash offers “fine control over buffering and dynamic quality control.”
    The HTML5 video tag doesn’t cover live streaming, nor does it allow for adaptive video quality when streaming long movies. However, as the post points out, “a number of vendors and organizations are working to improve the experience of delivering video over HTTP,” meaning there’s hope this problem will eventually be solved.
  • Flash offers content protection.
    While not the top of the list when it comes to features a user is looking for, without a means of protecting content from being distributed illegally, most of YouTube’s content partners would likely jump ship.
  • Encapsulation and embedding.
    Flash makes it easy to send extra data along with your embedded video, meaning ads, captions, annotations and extras like related-video lists automatically show up. There’s no easy way to do the same with HTML5 embed code. JavaScript, sure, but not the native code.
  • Fullscreen video.
    This one makes the least sense. Firefox and WebKit both offer rudimentary support for fullscreen HTML5 video, though there is no hardware acceleration or other extras you’d get with Flash.
  • Camera and microphone access.
    The ability to record video directly to YouTube requires the site to be able to access your computer’s camera and microphone, something HTML5 video on its own cannot do.

YouTube also doesn’t mention a couple of other areas where HTML5 video lags well behind Flash: accessibility and translation tools.

Clearly YouTube isn’t going to abandon Flash just because the web seems to think that’s the cool thing to do at the moment. For those uploading their own videos straight to a blog or similar site, the HTML5 video tag makes sense, but for sites like YouTube and Hulu, the HTML5 video tag still clearly can’t match what Flash has to offer.

See Also: