Video Formats and Battery Life

Now that we've established there's an evident delta in efficiency among a small group of popular media players, it's time to look at formats. All the previous testing was performed using a H.264 video sample, which is arguably the most popular video format at the moment, but there are loads of other formats people use. So which one will give you the best battery life?

Theoretically, any format that can be hardware accelerated will give a sizable battery life advantage, as GPUs tend to be more efficient at these tasks than the CPU. On top of this, a codec that compresses to a lesser degree should be more battery life friendly, and lower resolutions will be advantageous as well.

All of these come with trade-offs though. Less compression equates to a larger file size, which on devices with limited storage means fewer videos can be stored. In a streaming situation where bandwidth is key, the lower bitrate, the better. Lower resolutions both decrease file size and are easier to decode, but quality will inherently suffer. In a world where HD is the new norm and 4K is up and coming, no one really wants to go back to 480p for efficiency's sake.

H.264 is the main format I tested with, in four different configurations. First is the 720p file I used for testing on the previous page, the second a typical 1080p sample with a moderately high bitrate; both files had 6-channel audio. The third file was a 1080p sample at 60 frames per second, which can cause devices to stress out more during the decoding process, and fourth, a compressed 4K (2160p) video.

I chose two older formats to test with: Xvid and WMV. Both formats are typically hardware accelerated; the Xvid sample was 720p and comparable in bitrate to the 720p H.264 sample, and the WMV sample is standard definition. Just on visuals, H.264 delivers better quality for the bitrate compared to Xvid, so it'll be interesting to see how they compare in battery life.

Adding to the mix is a new, high compression, high quality format that is sure to increase in popularity in the next few years as companies look to push high-resolution content through limited bandwidth pipelines. Known as HEVC, it's essentially the successor to H.264, and can be known as H.265 in some circles. As the format is relatively new, it can't be hardware accelerated, but videos encoded in HEVC look absolutely astonishing for the bitrate used.

The final format I thought would be interesting to test with is Planar YUV with 4:4:4 chroma subsampling. This video is uncompressed (lossless), delivering the highest possible quality with massive file sizes. The particular sample I used was 720p, 50 frames per second and had a whopping bitrate of 1.1 Gbps, creating a 1.3 GB file from just 10 seconds of footage.

You can see the full specifications of each video sample in the table below.

Format Container Resolution Frame
Rate
Video Bitrate Audio Type Audio Bitrate Total Bitrate
H.264 .mp4 1280 x 720 24 2.1 Mbps 6ch AAC 400 kbps 2.5 Mbps
H.264 .mp4 3840 x 2160 24 19.4 Mbps 2ch AAC 190 kbps 19.6 Mbps
H.264 .mp4 1920 x 1080 60 6.0 Mbps 2ch AAC 190 kbps 6.2 Mbps
H.264 .mt2s 1920 x 1080 24 8.2 Mbps 6ch AC3 640 kbps 8.8 Mbps
HEVC .ts 1920 x 1080 24 1.7 Mbps 2ch AAC 70 kbps 1.8 Mbps
Xvid .avi 1280 x 720 24 2.1 Mbps 6ch AC3 450 kbps 2.6 Mbps
WMV .wmv 640 x 480 30 2.0 Mbps 2ch WMA 130 kbps 2.1 Mbps
YUV 4:4:4 .y4m 1280 x 720 50 1,100 Mbps None None 1,100 Mbps


For benchmarking video formats I stuck to the Lenovo Miix 2 8 with its Bay Trail innards, performing each test under the same conditions as before. Bay Trail is a good platform to test with as it supports hardware decoding, is found in the majority of Windows tablets on the market, and is generally a solid performer both in battery life and low wattage processing power. I wouldn't expect relative results to differ greatly between Bay Trail and Haswell or Ivy Bridge.

Here's what I discovered through my testing of different formats.

Once again, we're seeing a massive gulf in between the most efficient and least efficient format I tested: 720p H.264 delivered a massive 120% longer stint on battery than 1080p HEVC. As it turns out, the format I tested with in the first section is the most efficient overall, although I'd expect if you reduce the resolution down to 480p while encoding in H.264 you'd get an even better result.

Just looking at H.264-formatted videos, the resolution and frame rate can have a significant effect on battery life. Going from 720p to 1080p caused a 10% drop in battery life, equating to around an hour drop in the conditions I tested with. If you can tell the difference in quality between 720p and 1080p, the decoding efficiency decrease is worth it, although on the Miix 2 8's WXGA display I'd rather encode my videos in 720p to get the longest battery life out of the device.

Having videos encoded in 4K (2160p), or 1080p at 60 frames per second, is unlikely, and both formats provided a larger decrease in battery life. At 4K, you can expect a drop in expected battery life of around 28% and 19% coming from 720p and 1080p respectively, which isn't as huge as I was expecting. As you can see from the graph above, 1080p60 is a similar story.

The high-compression HEVC format can only be decoded in MPC-HC and VLC, and most chip architectures are incapable of decoding it efficiently as it's so new. While it delivers fantastic quality for the file size, it's impractical for a battery-powered device when it lasts half as long as an equivalent-resolution H.264 file.

Uncompressed video is another interesting case: the processor doesn't need to do any decompressing of the stream, but the enormous bitrate puts a lot of strain on memory bandwidth and GPU capabilities. As such, it also performs poorly when measuring battery life.

Looking at CPU usage in the most efficient setup - that is, using the Videos app for all formats except HEVC and lossless, which were run in MPC-HC - reveals some interesting things. HEVC utilizes 100% of the CPU to decode, while 720p Xvid (H.263-based) is surprisingly CPU intensive compared to H.264. There is also little difference between 4K and 1080p H.264 decoding, suggesting differences in battery life are down to higher GPU usage.

Checking CPU usage for a 720p H.264 sample across all the video players I tested shows utilization anywhere between 3% and 22%. Results here correspond perfectly to what player is the most and least efficient.

Final Thoughts

If these tests have taught us anything, the video player you use and the format of your video is critical to achieving the longest battery life. A combination of a 720p H.264 video played in the stock Windows 8 Videos app gave the longest battery life out of those that I tested, although using 1080p or 4K resolutions can give much better quality with only a small decrease in stamina.

Unfortunately it's not always possible to watch solely H.264 videos; sometimes you'll get one in a MKV container, sometimes you'll get a less-efficient Xvid file, and others you'll have to deal with crazy formats. Power Media Player is capable of playing a wider range of formats than the Videos app in an efficient way, but it's not free and nor does it carry features you get from free alternatives such as VLC.

Popular free alternatives like VLC and MPC-HC aren't as efficient as you might expect. Choosing to play a video in VLC over the stock Videos app effectively results in three less hours of playback time, which is far from ideal. While these apps do support the largest range of formats, and have many useful features, the decoding efficiency needs to improve so they're worth using in basic playback situations.

Finally, while HEVC is by far the most impressive format in that it provides astonishing quality with a low bitrate, it's extremely resource intensive to decode, especially on relatively weak tablet hardware. Until we get efficient hardware decoding for the format in future platforms, it's unlikely we'll see it overtake H.264 as the most popular video format.