VP8

VP8 is an open, royalty-free video codec that Google released in 2010 after acquiring On2 Technologies. VP8 offers compression roughly similar to H.264 and was the original video codec for the WebM format. VP8 is also one of the mandatory video codecs for WebRTC, the technology behind browser-based video calls. For streaming, VP9 and AV1 have largely replaced it.

Why it matters

VP8 matters mainly for real-time video. Because every WebRTC browser must support it, a call or live room using VP8 connects on almost any browser. For on-demand streaming it is outdated, and using it there means paying for more bandwidth than newer codecs need.

How it works

  1. The encoder splits each frame into 16 by 16 pixel macroblocks.
  2. Each block is predicted from nearby pixels or a previous frame, and only the difference is kept.
  3. The difference is rounded and compressed into a bitstream.
  4. In WebRTC calls, browsers encode and decode VP8 in real time as video packets arrive.

VP8 vs H.264 for WebRTC: which should I use?

Either works, since WebRTC browsers must support both VP8 and H.264 Constrained Baseline. VP8 is royalty-free and widely used in browser calls. H.264 often has hardware encoding on phones, which can save battery. Many apps let the browsers negotiate and support both.

Is VP8 still used?

Yes, VP8 is still used, mostly in WebRTC video calls and older WebM files. For on-demand streaming it has largely been replaced by VP9 and AV1, which compress far better. It remains a reliable fallback for real-time video because every WebRTC browser must support it.

Where it's used

Video call apps and telehealth platforms built on WebRTC keep VP8 as a safe default so calls connect in any browser, including on older devices.

By the numbers

  • VP8 is documented in RFC 6386, "VP8 Data Format and Decoding Guide", published in November 2011. (IETF RFC 6386)
  • RFC 7742 (March 2016) states that WebRTC browsers must implement both the VP8 codec and H.264 Constrained Baseline. (IETF RFC 7742)