VP9 Finally Comes of Age, But Is it Right for Everyone?

Article Featured Image

Brightcove also announced the addition of VP9 encoding for both progressive download (in WebM format) and adaptive streaming (in DASH) to its Zencoder cloud encoding service. I also asked David Sayed, Brightcove’s VP of product management, “Why now?” “We’re starting to see customer interest in VP9 especially in Asia-Pacific,” he says. “The interest there is less about higher-than-HD resolutions and more about bandwidth savings due to the codec, and the WebM Project’s position on royalties.” Sayed also says that Brightcove expects to add support for VP9 in its online video platform by the end of 2016.

On April 20, 2016, Amazon announced that the Elastic Transcoder cloud encoding service can “create WebM outputs using the VP9 codec.” There’s no word as to whether the service also supports DASH output.

Of course, one of the earliest adopters of VP9 was JW Player, which has been working for months to incorporate VP9 into its online video platform. According to Greg Twohig, JW Player’s product manager, the company wasn’t motivated by customer requests for VP9 encoding. Rather, it was a desire to provide the same or better quality at much lower bitrates than H.264 could afford.

JW Player planned to start customer trials in late April or May of this year, which should be fairly far along by the time you read this article. Twohig reported that finding customers to try the new format shouldn’t be a problem. “We sent an introduction to the service to several customers, and the results were positive and immediate. They were chomping at the bit to be part of the pilot.”

Wowza Media Systems also announced multiple VP9-related capabilities at NAB, including the ability to transcode and package VP9 encoding video into DASH format for adaptive streaming, for either live or on-demand delivery (Figure 4). The Wowza Streaming Engine can also push a VP9 stream to YouTube Live, decreasing the bandwidth requirements for a live program. Also for live event producers, Media Excel announced support for VP9/DASH streaming within the HERO Encoder product line.

Figure 4. A master class on how to produce and deliver VP9 in DASH with the Wowza Streaming Engine and JW Player (go2sm.com/9masterclass)

Basically, prior to NAB 2016, VP9 support was exceptionally limited in encoding, transcoding, or associated products, and it was completely unavailable in leading online video platform providers. Clearly, the logjam has been broken. Whether the result is a torrent or trickle of other products remains to be seen.

It Will Play on Most Desktops With No Problem

Once the video is encoded, attention turns to where it will play. Let’s start with desktop and notebook computers. VP9 plays natively via HTML5 in Google Chrome (version 29+), Mozilla Firefox (version 28+), the Opera Browser (version 15+), and in preview versions of Microsoft Edge, which is available only on Windows 10. According to the website StatCounter, as of March 2016, all versions of Chrome comprise 60.1 percent of browsers used on desktop and notebook computers, trailed by Firefox at 15.7 percent and Opera at 1.96 percent, totaling about 77.76 percent of all users. By way of comparison, no other UHD-capable codec is available for free in any desktop browser.

VP9 won’t play in Internet Explorer and Safari, which StatCounter puts at 13.7 percent and 4.5 percent, respectively, with another 1.8 percent in the “other” category, presumably without VP9 support. At 2.15 percent, Edge users are in limbo. Those using the Preview version of Windows 10 can play VP9, but those on the version currently shipping can’t, and there’s no way to tell which is which.

Including all browsers that don’t support VP9, plus allowing for older versions of Chrome, Firefox, and Opera browsers without VP9 support, likely means that between 25 percent and 35 percent of desktop/notebook browsers won’t play VP9 encoded video in mid-2016, though this number will drop over time. To these users, the player will have to detect the inability to play VP9 and point the browser to an H.264-based DASH manifest file.

In terms of performance, VP9 seems to play very well on even modestly configured computers, though my tests were minimal. Specifically, I tested H.264 and VP9 playback on a dual-core (four with HTT) Dell Inspiron Notebook computer with an Intel i5-4210U CPU running at 1.7GHz, a $400 notebook running Intel graphics. This is the slowest computer I have available for testing, since my notebook is an HP i7-based 4-core system (eight with HTT) running at 2.3Ghz, and all my desktop computers are dual-CPU HP workstations.

On the Inspiron, playing a 720p@2Mbps H.264 file consumed about 20 percent of the CPU, with VP9 slightly higher at about 21 percent to 22 percent. I next tried playing a 4K file in both formats. Again, VP9 consumed more of the CPU but not a dramatic amount, which you can see in Figure 5. These results, coupled with the fact that YouTube has been distributing VP9 since 2013, should provide comfort that VP9 plays well on most relatively modern computers.

Figure 5. CPU consumption playing 4K files on a 1.7 GHz i5-based Dell notebook

Those designing HTML5 players for video distribution should find lots of help. For example, as you would expect, JW Player supports VP9 playback in its namesake off-the-shelf player. Just before NAB, castLabs announced support for VP9 encoding to DASH format via its Video Toolkit service, with DRM protection via its DRMtoday service, and video playback via its Video Player SDKs for Android. castLabs plans to fully support VP9 playback in its DASH Everywhere player by the end of June 2016.

On Mobile, Not So Much

My experience with Android was not as positive, though this was on a 3-year-old Samsung Nexus 10 driven by a Dual Core 1.7GHz CPU running Android version 5.1.1. Specifically, playing the 720p 2Mbps New test file in Chrome maxed out the CPU at times and required an overall average of about 58 percent CPU during playback according to the CPU Monitor App. This compared with a maximum of 71 percent for playing back a similarly configured H.264 file, which averaged a much more palatable 47 percent CPU load overall during playback. I tested a number of other free Android players and the Firefox browser, and Chrome proved the most efficient, other than the Ittiam demo player discussed later.

Certainly most premium content distributors will eschew all of these options in favor of a custom app or player. This is absolutely essential for iOS devices, which offer no native VP9 support. In this regard, Ittiam, an India-based company that licenses VP9 and other technologies into multiple markets, offers highly optimized encoders and decoders for Android, iOS, and Windows environments. When I tested the Ittiam demo player, it maxed out at 78 percent playing the WebM New file, compared with Chrome at 100 percent, and averaged 41 percent overall CPU utilization during WebM playback, compared with 58 percent for Chrome. This should put Ittiam on the short list for companies seeking VP9-related playback IP. I spoke with Ittiam company officials, who described significant market momentum for VP9 among their customers and prospects. This is in part because all computer, mobile, and OTT playback environments want to support YouTube fully, and also because of general interest in a royalty-free alternative.

Overall, the common wisdom for UHD and other advanced codec playback on mobile devices is that hardware support will be necessary for adequate performance and to preserve battery life. In this regard, Wikipedia lists a number of CPUs, GPUs, and SoCs (systems on a chip) with hardware-based VP9 decoding, including the MediaTek MT6795, the NVIDIA Tegra X1, Qualcomm Snapdragon 820, and two chips from Samsung. Hardware support exists, at least for Android devices, though it’s certainly not pervasive.

I asked my contact at JW Player whether the company will automatically send VP9-encoded files to compatible Android players, or continue with H264. The response was that this was one of the issues to be determined after trials. While it seems relatively safe to automatically send VP9-encoded content to any computer/notebook with a compatible browser, the best approach with Android is to perform your own testing before making a decision one way or the other.

Intellectual Property Risks and Shelf Life

In the interest of completeness, I wanted to very briefly address the patent risk associated with VP9. As we previously reported in 2013, Nokia had sued Google for patent infringement over VP8 back in 2013, though Nokia ultimately lost that suit. I asked Florian Mueller, owner of the authoritative FOSS Patents blog, if he knew of any newer legal action relating to VP9, and he responded, “At this stage I’m not aware of any pending lawsuit over VP9.”

I asked Italian IP attorney Carlo Piana the same question. He responded with a depressing reality: “The fact that as of now we don’t know of any outstanding claim against a format is by all means no assurance that a later claim will not surface,” he says. “Usually those claims show up when the standard is deeply rooted in the technology and therefore very difficult to disregard.” In other words, the fact that the sky is clear today doesn’t mean it won’t rain down IP claims tomorrow.

Since VP9 will have a relatively short shelf life, perhaps IP claims simply won’t appear or will be targeted toward VP9-next. It’s possible claims will be targeted toward AV1, the first product of the Alliance for Open Media, instead. Of course, with founding members Amazon, Cisco, Google, Intel, Microsoft, Mozilla, and Netflix and subsequent members AMD, ARM, and NVIDIA, the alliance can amass a significant war chest to dispute any IP claims.

More to the point, it’s clear that VP9 will soon be succeeded by AV1, which is scheduled to ship as soon as the end of 2016. Until we know AV1’s output quality and playback complexity, it’s tough to say whether AV1 will replace VP9 or simply supplant it for high dynamic range or 60/120 fps videos.

Many companies, including Microsoft, see working with VP9 today as a way to ensure the fast and smooth transition to AV1 when it’s available. For example, Gabe Frost, principal lead program manager on the Windows and Devices Group, stated, “The work we’ve done on VP9 on Windows gives us a great head start in how they [Microsoft] think about optimizing this class of codec for Windows and windows devices with GPU acceleration.” (Frost is also executive director of the Alliance for Open Media.) On the other hand, companies with a procrastination bent may decide to eschew VP9 in favor of AV1.

At the end of the day, it’s a pretty simple equation. VP9 will let you deliver the same quality video at a significantly lower bitrate, saving bandwidth and distributing higher-quality video to viewers on slower connections. Alternately, you can serve higher-quality video to existing customers at the same bandwidth as H.264 and increase your customer’s quality of experience. Either way, distributing VP9 will add to both encoding and storage costs because you’ll need to continue producing H.264 to serve some browsers and mobile platforms. Do the math, and see what the numbers tell you.

This article originally ran in the Autumn 2016 European edition of Streaming Media magazine as “VP9 Comes of Age."

Streaming Covers
for qualified subscribers
Subscribe Now Current Issue Past Issues
Companies and Suppliers Mentioned