Encoding video for the internet in 2013

Old times

Not so long ago the standard for delivering video content on the internet was Adobe’s Flash, but when Apple rejected Flash and the internet community at large managed to organise itself and create the HTML 5 movement, we started moving towards open standards instead of plugins, even for video. While the concept of open standards is a good one, but as soon as multiple large companies and organisations get involved, things get political – fast.

In the 2011 book “Introducing HTML 5” the authors' experience with encoding video is made clear by chapter titles such as “Codecs – the horror, the horror”. Why so much pain? The early drafts of the HTML 5 specification mandated the use of Ogg Theora for video and Ogg Vorbis for audio, both of which are open source and royalty free. It sounded like a winning idea but Apple and Nokia both objected so they were dropped from the specification. That left us with no standard, just the idea that we can argue about a standard.

This created two main groups: Vorbis+Theora versus H.264. The Vorbis+Theora group had Firefox and Chrome as its main supporters while the H.264 group had Safari, IE, Android and Chrome. This meant that no single encoding could be used for all browsers and every video would need to be encoded into at least two versions to keep everyone happy. And to make things even less certain, Google Chrome had promised that it would take a stand with Firefox against H.264 (which required royalties to be paid) and support a brand-new, royalty-free encoding called WebM. The promise to remove H.264 support from Chrome has never been fulfilled however, leaving Firefox as the last of the mainstream browsers that does not support H.264.

Now times

Late last year Firefox announced that it would finally support H.264, but to get around licensing it required the system it was running on to have licenced H.264, which Windows, Android and iOS had. It is yet to be in the main release of Firefox for desktops, but it is available on their mobile version and their 'nightly' version which is a test bed for their upcoming releases. So while we are not out of the woods just yet, we are getting very close to being able to end this debacle – for now.

Future times

Science and technology never sleep and the H.265 (yes, one number higher than H.264) has been finalised and promises to deliver the same quality picture as H.264 while requiring just half the bandwidth. However, one thing that is sure to hold back adoption of it is hardware support. What made H.264 popular is the fact that it is well supported by hardware devices, meaning that smart TVs and blu-ray players can access the online content. Also, smart phones can view H.264 video while using significantly less battery power than other codecs that would have to be decoded by software. Until a significant proportion of devices also have hardware support for H.265 we can expect the adoption to be a little slow.

And finally, Google’s backstabbing of Firefox may come round to bite them because they are working together on another open standard called WebRTC which aims to standardise voice and video conferencing inside web browsers (think Skype, but inside your browser). We can definitely expect H.264 to be off the table for that one and for WebM to make a return.