BBC, HTML5 video, etc., etc.
Despite everything, according to the BBC Internet Blog Delicious account, lots of people still don’t get it. So, are you sitting comfortably? Then I’ll begin…
The HTML img element is an awkward but simple beast: it will either display an image, or it’ll display some sort of ‘broken image’ placeholder (in some browsers, this is invisible, but the principle remains): it’s on/off. If the browser doesn’t support the image, you’re out of luck. This means that, although many browsers do support SVG as an image format, you can’t reliably use it with img in your mark-up because lots of browsers out there don’t. Simple.
The HTML5 video element is different. It provides several useful features which mean that not only can you provide alternate versions of a video in different formats (and potentially — although this isn’t really supported by browsers at the moment — transported by different protocols), but you can provide content for browsers which don’t support the element at all, perhaps falling back to a Flash-based player.
As such, if you have the infrastructure to transcode videos into lots of different formats, the lack of agreement amongst browser vendors on The One True Video format isn’t a problem at all. Similarly, the lack of support for video at all in many installations out there also isn’t much of a problem. It gets even easier if you’re used to using JavaScript to embed your Flash player, because you can make this interact in nice ways with video to do codec detection (falling back to Flash even if the video element is supported, but none of the codecs you’re using are).
This means that, in purely technical terms, none of these perceived problems of HTML5’s video element are actually problems at all — the infrastructure for doing lots of transcoding already exists (iPlayer content already comes in many different flavours), and the whole setup is reliant upon JavaScript to work. Furthermore, if you’re using a “blessed” platform (I think exclusively Apple iOS at this point), the logic is already present and in use to switch to the video element to perform playback today.
Does all of this make sense? Good.
There’s a “but”. And it’s a big “but”. The reason only iOS gets HTML5 video while the rest get Flash is because there’s no “view source” on iOS. The perception is that it’s too easy to save copies of videos if they’re served up with HTML5 video to normal browsers. Personally, I think this is bunkum, but this is the BBC’s line on this, and so whether I think it’s bunkum or not is largely irrelevant.
For this reason, even if browser vendors did all settle on a single codec, the BBC still wouldn’t serve iPlayer using HTML5 video.
“Wait!”, you say (you did, I heard you). “What if the same level of protection was afforded to HTML5 video as it was for Flash video?”
The problem with this idea is thus: the only real protection which exists for Flash video is that the Flash player itself doesn’t let you save copies of video. This doesn’t prevent anything else from doing it. If you know how, saving Flash video isn’t particularly difficult at all (which means that, if somebody technically-clued wanted to download your Flash-based videos and put them on The Pirate Bay, there’s not a lot holding them back, except that it may well be easier for them to get those videos from some other source — such as the airwaves — instead).
While it would be theoretically possible to modify browsers so as to make it even harder for people to find video sources (and they don’t make it easy as it is — there’s no “Save video as…” as you get with images), of the browsers out there, the minority are closed-source (although the majority of installations are of these) — and so there’s nothing stopping somebody from producing (and distributing) a version of, say, Firefox or Chrome which undid the hypothetical obfuscation.
For this reason, the only solution to this particular stand-off isn’t a technical one: it’s simply a matter of mindset — the content owners and the BBC will have to accept that sometimes people will keep your content longer than you’d like, especially if you also broadcast it free-to-air; if they’re unwilling to accept this, then HTML5 video for iPlayer will never happen except in very select cases, like iOS.