search slide
search slide
pages bottom

Netflix puts next-generation video codecs like x265 and VP9 to the test

Over the last few years we’ve seen several next-generation media codecs vie to replace H.264 as the encoder of choice for both discs and streaming content. HEVC, or H.265, may have already won the Ultra HD Blu-ray race, but the battle for streaming content is just beginning. Netflix’s exhaustive study, “A Large-Scale Video Codec Comparison of x264, x265 and Libvpx for Practical VOD applications,” isn’t available in paper form yet, but was discussed during a lengthy presentation at the August 31 SPIE Applications of Digital Image Processing conference.

According to StreamingMedia.com, Netflix’s test involved comparing the actual codecs in question rather than their various specifications — this was a real-world test meant to measure bandwidth savings using implementations of the specifications, not the specifications themselves. The comparison used x264, x265, and the libvpx codec, Google’s implementation of its royalty-free VP9 standard.

The survey measured bandwidth and quality across both real-world and animated content in more than 5,000 clips of video taken from 500 sources. Each clip ran 12 seconds and included a variety of motion levels and was measured at 360p, 720p, and 1080p. The source material itself included both 1080p and 4K video. Further details on the encode options and targets is available from StreamingMedia and the whole article is worth a read. (If you’re interested, the relevant section of the video starts around the 60-minute mark.)

Netflix published multiple benchmark results, but the company stated it felt its Video Multimethod Assessment Fusion (VMAF) benchmark best corresponded to what end users would see. “We believe that VMAF results will have the best correlation to user perception of quality,” Netflix told StreamingMedia. “We use this metric, and sanity-check against other metrics (PSNR, SSIM, VIF, etc.) internally.” Netflix has published extensive information about its VMAF test in a blog post; code is available via GitHub.

Netflix’s findings generally support the argument that x265 is far more bandwidth efficient than x264, though its superiority against VP9 does vary depending on the exact tests and criteria. How well these settings map to real-world constraints also depends on what you’re doing — Netflix used extremely detailed and high-quality options for x264 and x265, and this may not reflect the way most people encode video.

In my own encoding, I tend to favor settings that give decent results in a reasonable period of time, as opposed to fine-tuning each and every setting for maximum quality. Trying to track exact configuration differences when testing batch encoding is also a pain and different settings are better or worse for capturing different kinds of content. There’s a definite art to proper video encodes, and squeezing the best performance out of a given codec may result in different use cases then those contemplated by Netflix, which streams vast amounts of data day and night.

One other problem is browser support. Currently, HEVC is only available in Microsoft’s Edge, and 1080p Netflix streaming only works within that browser. Given that HEVC support isn’t widely available (and there are royalty fees attached), it’s not yet clear which codecs will win out. Netflix hasn’t decided, apparently, whether the 20% bandwidth savings over VP9 are worth paying the high price of the royalties the HEVC standard requires. Its benchmarking effort, while huge, is still the opening salvo in a long-term evaluation process.

Leave a Reply

Captcha image