Introduction

The HTML5 video element is the new way to display videos online.  Before it was standardised, many sites used the Flash plugin to display videos.  Several sites (most notably Youtube) now offer both Flash-based and HTML5-based video options.  HTML5 is supported in several places where Flash isn't (including Apple's iOS devices), and people often claim that HTML5 uses the battery more efficiently than Flash.  However, nobody has ever tried to test this in a lab.  This report plans to answer the following question - is HTML5 video really good for your battery?  Let's find out, with science.

If you like this report, don't forget to write a scientific article and cite it (it's how we academic chaps get compensated, instead of money).  The bibtex file is here.

Test Setup

To accurately measure the battery draw of a device, you need to physically connect a sensitive probe between the device and its battery.  I did this on two devices - a tablet and a laptop.  The tablet was the YuanDao (原道) N90, which has a 1 GHz ARM Cortex A8 processor running Android 2.3.1, and the laptop was the Samsung Series 5 Chromebook, which has a 1.66GHz Intel Atom N570 processor running Chrome OS 19.

power probes

For each device, I disconnected the battery from the rest of the device and routed it through a 0.125Ω resistor connected in parallel to a high-sensitivity AP034 probe.  I then connected over WiFi to a test page which served the same video via Flash and HTML5.  The voltage drop on the probe was sampled 100,000 times per second and stored on a LeCroy deep memory oscilloscope.  I then transferred the traces to Matlab for analysis and pretty pictures.

Alex under test

Understanding the Results

The battery capacity of a mobile device is usually measured in milliampere-hours (mAh).  A 1000mAh battery can supply 1000 milliamperes of current for one hour, 500 milliamperes for two hours, and so on.  The graphs you're going to see below show the average current drawn by the device while it is playing the video, starting at the moment I pressed "play" and ending as soon as the movie ended.  The lower the current draw, the higher the expected battery life.

The Samsung Chromebook's battery is rated at 8100 mAh, while the N90's battery is rated at 3200mAh.

The Results

As shown in the figures below, HTML5 video is much better for the battery than Flash.  Moving from HTML5 to Flash resulted in a 17% rise in current draw (and a corresponding reduction in battery life) on the laptop, and a 12% rise on the tablet.  In both cases the HTML5 video was smoother and had less frame skipping than its Flash counterpart.

Laptop Current Draw

Tablet Current Draw

Conclusions

If you're watching video on a battery-powered device, it's a good idea to use HTML5 whenever you can.  Specifically in the case of YouTube you can enable it here.

Also, engineering is fun.  Go study it.

Acknowledgements

A big thank you to Greg Schechter from Youtube LLC, to Andrew Scherkus from Google Seattle and to Aki Kuusela and Aki Tikkala from Google Finland for contributing the hardware and helping me put together this page.

Questions? Comments?

Hit me up on my e-mail.