How libvpx Relates to the WebM Project

This article provides a clear overview of the relationship between the libvpx software library and the WebM project. It details their shared history, explains how libvpx acts as the reference implementation for the VP8 and VP9 video codecs, and outlines why this library is fundamental to the WebM ecosystem’s goal of delivering high-quality, royalty-free video on the web.

The Core Relationship

The WebM project is an open-source initiative dedicated to developing a high-quality, open media file format for the internet. Within this ecosystem, libvpx is the official, free software codec library that serves as the reference implementation for the VP8 and VP9 video compression formats.

While WebM is the overall project and container format (typically using the .webm extension), libvpx is the actual engine used to encode and decode the video streams that go inside that container.

Historical Context and Evolution

The relationship began in 2010 when Google acquired On2 Technologies, the creators of the VP8 video codec. Google released the VP8 source code to the public under a royalty-free license and launched the WebM project to foster an open-source alternative to proprietary video standards like H.264.

To facilitate the adoption of VP8, Google released libvpx as the reference software library. When the WebM project later developed the more advanced VP9 video codec to compete with HEVC/H.265, support for VP9 was integrated directly into the same libvpx library.

How libvpx Powers WebM

In practical terms, libvpx acts as the translator that makes WebM video files functional: