Desired video codecs mainly fall between VP8 (and its evolution VP9) and H.264 and H.265. Other formats, such as H261 – H263 – H263p, can be mainly found in legacy conferencing systems and should be avoided.
Let’s examine the main differences between these codecs.
H.264 / H.265
H.264, also known as MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC), is a block-oriented, motion-compensation-based video compression standard.
H.264 is one of the most commonly used video codecs, especially by streaming services such as Vimeo, Youtube, and the iTunes Store to name a few. It is also the codec used to deliver videos on Blu-ray disks.
The codec was developed by the ITU-T Video Coding Experts Group (VCEG) together with the ISO/IEC JTC1 Moving Picture Experts Group (MPEG) and is protected by patents owned by various partners.
Although initially not supported by WebRTC implementations due to licensing constraints, it is now supported both by Chrome and Firefox thanks to Cisco Systems. Cisco agreed to pay royalties to MPEG LA on behalf of end users for their encoding open source implementation.
One of the great advantages of H.264 is the wide hardware support in all kinds of devices. This support leads to faster CPU speeds and less intensive CPU usage during decoding and encoding of H.264 videos. H.264 is supported by security cameras, video intercoms, and many other devices.
In the image below, you can see the evolution of video codecs created by MPEG and VCEG.
H.265 is the next generation codec, also called High Efficiency Video Coding (HEVC) and MPEG-H Part 2. It offers gains over H.264 in terms of features, as it can support resolutions up to 8192×4320 and videos in 8K standard, as well as compression / performance using only 70%-80% that bandwidth required by H.264. This feature is important as it allows for better video quality while lowering the expenses required for video storage.
Some vendors have already included H.265 encoding and/or decoding optimization in their devices (for example, Apple in iOS7).
The growing need for video compression technologies, and the licensing costs associated with H.265, led the global industry giants to create the Alliance for Open Media (AOMedia). The goal of this alliance, which includes large video compression industry organizations such as Google, Microsoft, Nvdia, and Ati, is to create a high performance codec, comparable to H.265, that will be the successor to VP9.
VP8 / VP9
VP8, the successor of VP7, was released as open source by Google after it acquired On2 Technologies. After the acquisition, Google released the format’s specifications along with the sources of libVPX, the reference implementation of VP8.
VP8 is an open and royalty-free codec which competes with H.264 in terms of quality and compression.
The Opera, Firefox, Chrome, and Chromium browsers support VP8 both during WebRTC sessions and during video playback (via the HTML5 video tag). VP8 is the default video codec for WebRTC since it is royalty-free.
Mobile phones CPUs such as Snapdragon already include hardware-optimized encoding and decoding for VP8.
VP9 represents an evolution of VP8 and it is already supported by both Chrome and Chromium browsers.
At the moment, H.264 support is still necessary if integration with security cameras and video intercoms (supporting SIP and VoIP) is required. In all other scenarios, VP8 / VP9 represents a valid alternative without any licensing limitations.