VP9 Codec: Google’s Open-Supply Know-how Defined
This text supplies a fast overview of the VP9 codec: what it’s, the way it performs, what it prices, and what it’s good for. We’ll conclude with a piece on what you want to know to successfully deploy the VP9 codec utilizing the Wowza Streaming Engine software program.
What Is the VP9 Codec?
VP9 is a codec from Google that was developed from know-how acquired when Google bought On2 Applied sciences in February 2010 for an estimated $124.6 million. By the use of background, On2 was the developer of the VPx line of codecs, together with VP6, which was the predominant codec utilized in Adobe Flash till Adobe added help for H.264 to Flash in August 2007.
In Could 2010, Google open-sourced VP8, in addition to the Matroska-based WebM format (which works with the VP8 and VP9 video codecs, in addition to the Vorbis and Opus audio codecs). Although Google asserted that VP8 was royalty-free, in February 2011, patent pool administrator MPEG LA introduced a name for patents important to the VP8 codec, step one within the formation of a patent pool. Twelve events responded however no pool was ever shaped. In March 2013, Google licensed know-how from MPEG LA that “could” be important to VP8 and the next-generation VP9, although phrases have been by no means disclosed.
The event of VP9 started in late 2011 and VP9 was launched in June 2013. VP9 is the final VP-designated codec as Google contributed all codec know-how acquired from On2 and developed after the acquisition to the Alliance for Open Media. Like VP8, Google launched VP9 as open supply. Additionally, like VP8, VP9’s open-source standing has been challenged by a patent pool, mentioned in additional element under.
When it comes to utilization, by far the most important distributor of VP9-encoded content material was YouTube, although YouTube nonetheless encodes the huge bulk of its recordsdata with H.264. In 2016, Netflix introduced that it was utilizing VP9 for video downloads, whereas JW Participant distributes on-demand video in its on-line video platform utilizing H.264 and VP9.
As with all of the codecs mentioned on this collection, VP9 is a specification that completely different builders can use to create their very own implementations of that specification. Essentially the most extensively recognized VP9 codec implementation is libvpx-vp9, which was developed by Google and is on the market as a standalone encoder or as a codec with FFmpeg. There are additionally VP9 codecs provided by Intel (SVT-VP9) and Two Orioles (Eve-VP9).
Compatibility: VP9 vs. H.264, HEVC, and AV1
Codec Compatibility | Browser | Cell | Good TV/OTT |
H.264 | Nearly all | All | All |
VP9 | Nearly all | Android, iOS | Most |
HEVC | Little or no | Android, iOS | All |
AV1 | Edge, Firefox, Chrome, Opera | Android | Nascent |
The web site CanIUse lists VP9 browser compatibility for each desktop and cellular at 96.26%, which trails H.264 barely, however is far higher than HEVC’s 18.08%, and AV1’s 74.25. On Android and iOS, the Chrome browser can play VP9, as can Safari with iOS 14 and later. Google has assembled a formidable listing of gadgets with VP9 {hardware} help right here, which incorporates TVs from Samsung, Sony, Sharp, LG, HiSense, Philips, and Westinghouse, in addition to a Roku set-top field, and Nvidia sport console. Whereas protection doesn’t seem like as intensive as HEVC, the lure of 4K YouTube playback has attracted quite a lot of {hardware} help. This compatibility is one among VP9’s best strengths.
Efficiency
When gauging codec efficiency, you think about two points: (1) encoding complexity or pace, and (2) encoding high quality. With most codecs, together with the 4 mentioned on this collection, there’s an inverse relationship between the 2. That’s, the higher the encoding high quality the longer it takes to encode, which interprets to increased encoding and transcoding prices. Since no codec can fully exchange H.264 at this level, these encoding or transcoding prices are additive to current H.264 encoding-related prices.
Efficiency In comparison with H.264 | Encoding Complexity (Pace) | Encoding High quality |
H.264 | Baseline | Baseline |
VP9 | 2–15x | ~35% |
HEVC | 2–15x | ~35% |
AV1 | 15–30x | ~50% |
When analyzing codec efficiency, keep in mind that there are a number of VP9 implementations, every with their very own efficiency traits. Most VP9 implementations even have presets that allow you to tradeoff encoding time for efficiency. With libvpx-vp9, for instance, a pace setting of 4 encodes in about 16% of the time of pace 0, however delivers about 3.5% decrease high quality, which doesn’t sound like rather a lot, however is when evaluating codecs and codec implementations. In fact, HEVC and AV1 even have a number of implementations with a number of presets, which complicates codec comparisons and is why the encoding pace column in desk 2 reveals such an intensive vary.
When contemplating encoding high quality, notice that the determine represents the bitrate discount you must anticipate when evaluating a single full decision encode from VP9, HEVC, or AV1, as in comparison with H.264. Clearly, it will differ primarily based upon the codec and preset used.
As well as, any precise estimate of real-world financial savings from adopting a brand new codec has to contemplate earlier than and after encoding ladders and the precise distribution of the streams to your viewers. If distribution is top-heavy, as most are within the US and Europe, you must have the ability to harvest little bit of the quantity proven in Desk 2. In the event you largely distribute recordsdata within the center or decrease rungs of your encoding ladder, bandwidth financial savings will likely be a lot decrease, although video high quality ought to be considerably improved.
Suitability
Now let’s look at VP9’s suitability for a variety of particular encoding purposes. VP9 shouldn’t be nicely suited to stay origination as a result of there are few (if any) {hardware} encoders out there for stay origination. Whereas Xilinx does have an FPGA-based VP9 transcoding engine, it’s bought solely to Twitch and isn’t out there commercially. Intel’s implementation, SVT-VP9, carried out poorly in a Moscow State College benchmark so doesn’t seem promising. Nvidia helps hardware-accelerated VP9 decoding, however doesn’t seem to help hardware-accelerated encoding or transcoding (see right here and right here).
Codec Suitability | Dwell Origination | Dwell Transcode | Low Latency | 4K | HDR |
H.264 | Glorious | Glorious | Glorious | Poor | Poor |
VP9 | Poor | Poor | WebRTC | Glorious | Poor |
HEVC | Good | Good | Nascent | Glorious | Glorious |
AV1 | Nascent | Nascent | WebRTC | Glorious | Nascent |
I’ve experimented with software-based VP9 transcoding in FFmpeg and located it resource-intensive (4X x264 transcoding), that the outputs nearly at all times exceeded the requested bitrates by vital quantities (like 70%+), and that the standard was much like x264. In brief, not an important worth proposition. That mentioned, the Wowza Streaming Engine does help transcoding to the VP9 format with particular directions and proposals in an article entitled Transcode stay streams to WebM for MPEG-DASH playback with Wowza Streaming Engine.
Concerning low latency, VP9 is on the market to be used in WebRTC and a few advocate VP9 strongly over H.264 (see VP9 Codec: Is It Time to Undertake It in Your WebRTC Software?). Wowza Streaming Engine does help VP9 for WebRTC. With respect to low latency inside MPEG-DASH or different HTTP protocols, the shortage of environment friendly transcoding makes VP9 look like a poor selection, and a lot of the efforts appear centered on H.264.
VP9 ought to work nicely with 4K video, which is why YouTube seems to encode all 4K movies utilizing both VP9 (largely) or AV1. For HDR, nonetheless, although VP9 is appropriate with HDR10+ it’s not appropriate with Dolby Imaginative and prescient. So, should you encode with VP9 and need to help each HDR10+ and Dolby Imaginative and prescient, you’ll must additionally encode with HEVC. In distinction, HEVC helps each HDR codecs. In the event you’re undeterred, Google has an intensive information to HDR encoding with VP9 right here.
Royalty Standing
A patent pool administrator named Sisvel launched a patent pool for VP9 (and AV1) in March 2019 searching for royalties on client gadgets however not VP-encoded content material. Google has introduced that they’re conscious of the pool, however that they’ve “no plans to restrict our use of VP9 or AV1 or change upcoming utilization plans primarily based on this announcement from Sisvel.” Since Sisvel isn’t searching for royalties on content material, the pool ought to have minimal influence on streaming producers contemplating publishing with the VP9 codec.
Codec Royalty Standing | Encoder | Decoder | Paid Content material | Free Web Content material |
H.264 | Sure | Sure | Sure | No |
VP9 | No | Client system | No | No |
HEVC | Sure | Sure | Some | Unclear |
AV1 | No | Client Machine | No | No |
What You Must Know to Produce VP9
VP9 has 4 profiles, which outline the instruments used throughout encoding (desk 5). It seems that profile 0 is the default for many encodes, as Google’s beneficial encoding parameters right here solely embody a profile change when encoding 10-bit HDR recordsdata with profile 2. All SDR pattern command traces don’t embody a profile change.
VP9 additionally has 14 completely different ranges that restrict numerous encoding configuration choices. In the event you’re distributing VP9 to a restricted energy system like a cellphone or SmartTV, examine the specs to grasp any limits. For instance, Google’s Android specs don’t specify a profile or stage for VP9 playback, although Samsung’s Good TV specs point out help for VP9 profile 0/2 at as much as 4K/60 and 80 Mbps.
Past these configuration choices, there are a number of VP9 particular choices detailed in Google’s documentation, FFmpeg’s documentation, and the FFmpeg Wiki. Google’s documentation incorporates detailed suggestions for stay transcoding right here. You’ll be able to learn in regards to the choices out there for VP9 transcoding in Wowza Streaming Engine right here.
Total, for streaming to computer systems for browser-based playback, there’s a common feeling that AV1 delivers practically the identical compatibility profile with a lot better encoding effectivity, although encoding prices will likely be considerably increased. This maybe makes AV1 a greater resolution for high-volume streamers than VP9. For 4K streaming to sensible TVs, set-top bins, and OTT gadgets, nonetheless, at this level, AV1 doesn’t supply anyplace close to the identical stage of compatibility as both VP9 or HEVC.
Within the subsequent article, we’ll talk about the HEVC codec.
Keep within the Know
Subscribe to Weblog
Extra Sources:
- The Streaming Codec Panorama in 2021
- Video Codecs and Encoding: Every thing You Ought to Know
- H.264 Codec: Superior Video Coding (AVC) Defined
About Jan Ozer
Jan Ozer is a number one professional on H.264, H.265, VP9, and AV1 encoding for stay and on-demand manufacturing. Jan develops coaching programs for streaming media professionals, supplies testing companies to encoder builders, and helps video producers excellent their encoding ladders… View extra