Recent from talks
Contribute something
Nothing was collected or created yet.
| WebM | |
|---|---|
| Filename extension |
.webm |
| Internet media type |
video/webm, audio/webm |
| Developed by | Initially On2, Xiph, and Matroska; later Google |
| Initial release | May 18, 2010[1] |
| Latest release | v1.13.0[2] January 31, 2023 |
| Type of format | Container format |
| Container for | VP8/VP9/AV1 (video) Vorbis/Opus (audio) |
| Extended from | Limited subset of Matroska |
| Open format? | Yes[3] |
| Free format? | Yes[4] |
| Website | webmproject.org |
WebM is an audiovisual media file format.[5] It is primarily intended to offer a royalty-free alternative to use in the HTML video and the HTML audio elements. It has a sister project, WebP, for images. The development of the format is sponsored by Google, and the corresponding software is distributed under a BSD license.
The WebM container is based on a profile of Matroska.[3][6][7] WebM initially supported VP8 video and Vorbis audio streams. In 2013, it was updated to accommodate VP9 video and Opus audio.[8] It also supports the AV1 codec.[9]
Vendor support
[edit]Software
[edit]Native WebM support by Mozilla Firefox,[10][11] Opera,[12][13] and Google Chrome[14] was announced at the 2010 Google I/O conference. Internet Explorer 9 requires third-party WebM software.[15] In 2021, Apple released Safari 14.1 for macOS, which added native WebM support to the browser.[16] As of 2019[update], QuickTime does not natively support WebM,[17][18] but does with a suitable third-party plug-in.[19] In 2011, the Google WebM Project Team released plugins for Internet Explorer and Safari to allow playback of WebM files through the standard HTML5 <video> tag.[20] As of 9 June 2012[update], Internet Explorer 9 and later supported the plugin for Windows Vista and later.[21]
VLC media player,[22] MPlayer, K-Multimedia Player and JRiver Media Center have native support for playing WebM files.[23] FFmpeg can encode and decode VP8 videos when built with support for libvpx, the VP8/VP9 codec library of the WebM project, as well as mux/demux WebM-compliant files.[24] On July 23, 2010 Fiona Glaser, Ronald Bultje, and David Conrad of the FFmpeg team announced the ffvp8 decoder. Their testing found that ffvp8 was faster than Google's own libvpx decoder.[25][26] MKVToolNix, the popular Matroska creation tools, implemented support for multiplexing/demultiplexing WebM-compliant files out of the box.[27] Haali Media Splitter also announced support for muxing/demuxing of WebM.[27] Since version 1.4.9, the LiVES video editor has support for realtime decoding and for encoding to WebM format using ffmpeg libraries.
MPC-HC since build SVN 2071 supports WebM playback with internal VP8 decoder based on FFmpeg's code.[25][28] The full decoding support for WebM is available in MPC-HC since version 1.4.2499.0.[29]
Android is WebM-enabled since version 2.3 Gingerbread,[30] which was first made available via the Nexus S smartphone and streamable since Android 4.0 Ice Cream Sandwich.[31]
The Microsoft Edge browser supports WebM since April 2016.[32]
On July 30, 2019, Blender 2.80 was released with WebM support.[33]
iOS did not natively play WebM until 2021,[34] when support for WebM was added in Safari 15 as part of iOS 15.[35]
The Sony PlayStation 5 supports capturing 1080p and 2160p footage in WebM format.[36]
ChromeOS screen recordings are saved as WebM files.[37]
Hardware
[edit]WebM Project licenses VP8 hardware accelerators (RTL IP) to semiconductor companies for 1080p encoding and decoding at zero cost.[38] AMD, ARM and Broadcom have announced support for hardware acceleration of the WebM format.[39][40] Intel is also considering hardware-based acceleration for WebM in its Atom-based TV chips if the format gains popularity.[41] Qualcomm and Texas Instruments have announced support,[42][43] with native support coming to the TI OMAP processor.[44] Chips&Media have announced a fully hardware decoder for VP8 that can decode full HD resolution (1080p) VP8 streams at 60 frames per second.[45]
Nvidia is supporting VP8 and provides both hardware decoding and encoding in the Tegra 4 and Tegra 4i SoCs.[46] Nvidia announced 3D video support for WebM through HTML5 and their Nvidia 3D Vision technology.[47][48][49]
On January 7, 2011, Rockchip released the world's first chip to host a full hardware implementation of 1080p VP8 decoding. The video acceleration in the RK29xx chip is handled by the WebM Project's G-Series 1 hardware decoder IP.[50]
In June 2011, ZiiLABS demonstrated their 1080p VP8 decoder implementation running on the ZMS-20 processor. The chip's programmable media processing array is used to provide the VP8 acceleration.[51]
ST-Ericsson and Huawei also had hardware implementations in their computer chips.[52]
Streaming capabilities
[edit]Since 2017, Icecast — a streaming media server traditionally used for audio streaming — has supported live video streaming using the WebM format (VP8/VP9/AV1 video codecs with Vorbis/Opus audio codecs).[53] This enables broadcasting of high-quality, royalty-free, open-standard video streams that can be played directly in browsers without requiring proprietary plugins or players.
Archived streams and server listings demonstrate WebM's viability for live streaming over Icecast, including examples of 1080p VP9 streams. Current implementations include live streams accessible at https://rdst.win:59000/dos.webm,[54] with server status visible at https://rdst.win:59000.
Streaming examples and resources
[edit]- webm.win — Demonstrates a live WebM stream via Icecast (VP9 video with Vorbis audio, playable in browsers using the HTML5 <video> element) and provides instructions for setting up similar broadcasting. (accessed 27 September 2025)
- Archived Icecast directory with WebM streams (June 2017)
- Archived WebM stream example (2017)
Licensing
[edit]The original WebM license terminated both patent grants and copyright redistribution terms if a patent infringement lawsuit was filed, causing concerns around GPL compatibility. In response to those concerns, the WebM Project decoupled the patent grant from the copyright grant, offering the code under a standard BSD license and patents under a separate grant.[55] The Free Software Foundation, which maintains The Free Software Definition, has given its endorsement for WebM and VP8[56] and considers the software's license to be compatible with the GNU General Public License.[57][58] On January 19, 2011, the Free Software Foundation announced its official support for the WebM project.[59] In February 2011, Microsoft's Vice President of Internet Explorer called upon Google to provide indemnification against patent suits.[60]
Although Google has irrevocably released all of its patents on VP8 as a royalty-free format,[61] the MPEG LA, licensors of the H.264 patent pool, have expressed interest in creating a patent pool for VP8.[62][63] Conversely, other researchers cite evidence that On2 made a particular effort to avoid any MPEG LA patents.[64] As a result of the threat, the United States Department of Justice (DOJ) started an investigation in March 2011 into the MPEG LA for its role in possibly attempting to stifle competition.[65][66] In March 2013, MPEG LA announced that it had reached an agreement with Google to license patents that "may be essential" for the implementation of the VP8 codec, and give Google the right to sub-license these patents to any third-party user of VP8 or VP9.[67][68]
In March 2013, Nokia filed an objection to the Internet Engineering Task Force concerning Google's proposal for the VP8 codec to be a core part of WebM, saying it holds essential patents to VP8's implementation.[69] Nokia listed 64 patents and 22 pending applications, adding it was not prepared to license any of them for VP8.[70] On August 5, 2013, a court in Mannheim, Germany, ruled that VP8 does not infringe a patent owned and asserted by Nokia.[71]
See also
[edit]References
[edit]- ^ Release v0.9.0 – webmproject/libvpx – GitHub, May 18, 2010, archived from the original on October 1, 2020, retrieved February 8, 2016
- ^ "Release 2023-01-31 v1.13.0 "Ugly Duckling"". github.com. January 31, 2023. Retrieved April 15, 2020.
- ^ a b "WebM FAQ". May 19, 2010. Archived from the original on September 22, 2021. Retrieved August 13, 2016.
WebM is an open media file format designed for the web. WebM files consist of video streams compressed with the VP8 video codec and audio streams compressed with the Vorbis audio codec. The WebM file structure is based on the Matroska media container.
- ^ WebM (Partial draft). Sustainability of Digital Formats. Washington, D.C.: Library of Congress. August 19, 2020. Archived from the original on December 14, 2021. Retrieved December 1, 2021.
- ^ "The WebM Project – About WebM". webmproject.org. Archived from the original on August 15, 2016. Retrieved August 13, 2016.
- ^ Doig, Jeremy; Jazayeri, Mike (May 19, 2010), Introducing WebM, an open web media project, WebM Project, archived from the original on April 19, 2012, retrieved May 19, 2010
- ^ Montgomery, Chris (May 19, 2010), Xiph.Org announces support for the WebM open media project, Xiph, archived from the original on May 23, 2010, retrieved May 20, 2010
- ^ "The WebM Open Media Project Blog: VP9 Lands in Chrome Dev Channel". webmproject.org. Archived from the original on July 6, 2013. Retrieved November 16, 2013.
- ^ "Media container formats (file types) - Web media technologies | MDN". developer.mozilla.org. Retrieved January 15, 2023.
- ^ Shaver, Mike (May 19, 2010). "Open Web, Open Video and WebM". The Mozilla Blog. Mozilla Foundation. Archived from the original on May 11, 2011. Retrieved March 8, 2011.
- ^ Blizzard, Christopher (May 19, 2010). "Firefox, YouTube and WebM". Mozilla Hacks. Mozilla Foundation. Archived from the original on March 2, 2011. Retrieved March 8, 2011.
- ^ Lie, Håkon Wium (19 May 2010). "Welcome, WebM <video>!". Opera Labs. Opera Software ASA. Archived from the original on 21 March 2011. Retrieved 8 March 2011.
- ^ Mills, Chris (May 19, 2010). "Opera supports the WebM video format". Dev.Opera. Opera Software ASA. Archived from the original on April 5, 2011. Retrieved March 8, 2011.
On the day of the announcement, Opera released an experimental WebM-enabled build. This feature is now part of the core functionality of Opera 10.60 and all of our future desktop browser releases.
- ^ Bankoski, Jim (May 19, 2010). "WebM and VP8 land in Chromium". The Chromium Blog. Google Inc. Archived from the original on May 11, 2011. Retrieved March 8, 2011.
- ^ Hachamovitch, Dean (March 16, 2011). "HTML5 Video Update—WebM for IE9". IEBlog. Microsoft Corporation. Archived from the original on March 18, 2011. Retrieved March 16, 2011.
IE9 supports HTML5 video using WebM for Windows customers who install third-party WebM support. As an industry, we still face many legitimate, unanswered questions about liability, risks, and support for WebM...
- ^ avis (April 29, 2021). "New WebKit Features in Safari 14.1". WebKit. Archived from the original on May 6, 2021. Retrieved May 6, 2021.
- ^ "Apple – QuickTime – QuickTime Player – Tech Specs". Archived from the original on July 24, 2008. Retrieved April 15, 2010.
- ^ "Media formats supported by QuickTime Player in Mac OS X v10.6". Apple Support. Apple Inc. January 28, 2011. Archived from the original on September 7, 2011. Retrieved April 1, 2011.
- ^ "Adding additional media format support to QuickTime". Apple Support. Apple Inc. January 24, 2011. Archived from the original on February 11, 2011. Retrieved April 1, 2011.
- ^ Jazayeri, Mike (January 14, 2011). "More about the Chrome HTML Video Codec Change". The Chromium Blog. Google Inc. Archived from the original on February 15, 2011. Retrieved March 8, 2011.
the WebM Project team will soon release plugins that enable WebM support in Safari and IE9 via the HTML standard <video> tag
- ^ "WebM Media Foundation Components for Microsoft Internet Explorer". WebMProject.org. The WebM Project. Archived from the original on May 23, 2018. Retrieved February 15, 2018.
- ^ VideoLan – VLC 1.1.0 Release, VideoLAN, archived from the original on June 22, 2020, retrieved April 15, 2020
- ^ Add webm/VP8 support to native matroska demuxer., June 5, 2010, archived from the original on October 3, 2020, retrieved April 15, 2020
- ^ ffmpeg 0.6 release, ffmpeg.org, June 15, 2010, archived from the original on March 27, 2020, retrieved April 15, 2020
- ^ a b Diary Of An x264 Developer: Announcing the world's fastest VP8 decoder, archived from the original on 30 September 2010
- ^ PATCH VP8♫ decoder, FFmpeg-devel, June 15, 2010, archived from the original on October 3, 2020, retrieved April 15, 2020
- ^ a b webm support in Matroska tools, Matroska.org, May 20, 2010, archived from the original on November 29, 2018, retrieved April 15, 2020
- ^ Add : Internal VP8 Decoder, June 23, 2010, archived from the original on November 17, 2014, retrieved June 23, 2010
- ^ "Changelog/1.4.2499.0", Media Player Classic Home Cinema, September 7, 2010, archived from the original on December 14, 2012, retrieved August 28, 2012
- ^ Android 2.3 Platform Highlights, Android Developer, December 6, 2010, archived from the original on December 10, 2010, retrieved December 11, 2010
- ^ "Supported Media Formats – Android Developers". developer.android.com. Archived from the original on December 20, 2016. Retrieved January 24, 2013.
- ^ "WebM, VP9 and Opus Support in Microsoft Edge". blogs.windows.com. April 18, 2016. Retrieved February 25, 2023.
- ^ "Reference/Release Notes/2.80/Import Export - Blender Developer Wiki". wiki.blender.org. Archived from the original on July 11, 2019. Retrieved August 4, 2019.
- ^ "Steve Jobs says no to Google's VP8 WebM codec". AppleInsider. May 21, 2010. Archived from the original on March 4, 2016. Retrieved January 2, 2016.
- ^ "Apple Developer Documentation". developer.apple.com. Archived from the original on August 22, 2021. Retrieved August 10, 2021.
- ^ "How to change PS5 video capture formats". Android Central. November 16, 2020. Archived from the original on April 15, 2021. Retrieved April 15, 2021.
- ^ Millward, Dan (February 3, 2022). "How to record your Chromebook screen with audio and convert it to MP4". Chrome Computing.
- ^ WebM Video Hardware RTLs, WebM Project, archived from the original on August 4, 2016, retrieved August 13, 2016
- ^ Metz, Cade (May 19, 2010), Google open sources $124.6m video codec, The Register, archived from the original on August 10, 2017, retrieved August 10, 2017
- ^ Broadcom Accelerates WebM Video on Mobile Phones, Newswire, May 19, 2010, archived from the original on July 8, 2011, retrieved May 20, 2010
- ^ Shah, Agam (May 27, 2010), Intel eyes hardware acceleration for Google's WebM, ComputerWorld, archived from the original on February 14, 2011, retrieved June 2, 2010
- ^ Talluri, Raj (May 19, 2010), Google's Impact on Web Video, Qualcomm, archived from the original on May 8, 2020, retrieved April 15, 2020
- ^ Meehan, Joseph (May 19, 2010), Our OMAP processors embrace WebM and VP8 with open ARMs, Texas Instruments, archived from the original on October 3, 2020, retrieved April 15, 2020
- ^ Demo of WebM Running on TI OMAP 4 Processor, WebM Project, October 5, 2010, archived from the original on October 24, 2010, retrieved October 15, 2010
- ^ Chips&Media delivers latest dual HD video IP core with VP8 hardware decoding capability, Design & Reuse, November 18, 2010, archived from the original on September 27, 2020, retrieved April 15, 2020
- ^ "Tegra 4 GPU Whitepaper" (PDF). Nvidia. Archived (PDF) from the original on April 30, 2015. Retrieved March 10, 2015.
- ^ Introducing 3D WebM Support with NVIDIA 3D Vision, The WebM Open Media Project Blog, May 26, 2011, archived from the original on May 29, 2011, retrieved May 26, 2011
- ^ YOUTUBE NOW IN 3D VISION, NVIDIA Blog, May 26, 2011, archived from the original on April 1, 2021, retrieved April 15, 2020
- ^ Open 3D video comes to the web thanks to NVIDIA, YouTube and Mozilla, ThinkDigit News, May 26, 2011, archived from the original on April 25, 2020, retrieved April 15, 2020
- ^ Rockchip and WebM Release RK29xx – World's First SOC to Support WebM HD Video Playback in Hardware, PRNewsWire, January 7, 2011, archived from the original on October 3, 2020, retrieved April 15, 2020
- ^ ZiiLABS VP8 Support Delivers Smooth Playback of 1080p WebM Video on ZMS Processors, ZiiLABS, June 11, 2011, archived from the original on June 19, 2011, retrieved June 16, 2011
- ^ Aki Kuusela (March 29, 2012). "WebM Gaining Momentum in Hardware". WebM Hardware Team. Archived from the original on January 3, 2013. Retrieved December 12, 2012.
- ^ "Streaming directory -- streams & radios". Archived from the original on June 6, 2017. Retrieved July 30, 2025.
- ^ "Archived copy". Archived from the original on June 10, 2022.
{{cite web}}: CS1 maint: archived copy as title (link) - ^ DiBona, Chris (June 4, 2010), Changes to the WebM Open Source License, WebM, archived from the original on July 20, 2012, retrieved June 4, 2010
- ^ Lee, Matt (May 19, 2010), Free Software Foundation statement on WebM and VP8, Free Software Foundation, archived from the original on August 7, 2020, retrieved April 15, 2020
- ^ Smith, Brett. "Google's updated WebM license". Free Software Foundation. Archived from the original on June 7, 2010. Retrieved June 14, 2010.
- ^ "Various Licenses and Comments about Them – GNU Project – Free Software Foundation (FSF)". Free Software Foundation. Archived from the original on July 24, 2010. Retrieved June 13, 2010.
- ^ Smith, Brett. "No double standards: supporting Google's push for WebM". Free Software Foundation. Archived from the original on January 21, 2011. Retrieved January 19, 2011.
- ^ "HTML5 and Web Video: Questions for the Industry from the Community". February 2, 2011. Archived from the original on February 20, 2011. Retrieved February 22, 2011.
- ^ Metz, Cade (May 20, 2010), Google backs open codec against patent trolls, The Register, archived from the original on June 29, 2017, retrieved August 10, 2017
- ^ Metz, Cade (May 21, 2010), Google open video codec may face patent clash, The Register, archived from the original on August 10, 2017, retrieved August 10, 2017
- ^ Fulton, Scott M. (May 21, 2010), Patent pool may be in the works for 'free' VP8 codec, Betanews, archived from the original on September 30, 2020, retrieved April 15, 2020
- ^ Daffara, Carlo (May 25, 2010), An analysis of WebM and its patent risk, carlodaffara.conecta.it, archived from the original on May 28, 2010, retrieved May 25, 2010
- ^ Catan, Thomas (March 4, 2011), Web Video Rivalry Sparks U.S. Probe, The Wall Street Journal, archived from the original on August 10, 2017, retrieved August 8, 2017
- ^ Cheng, Jacqui (March 4, 2011). "Report: DoJ looking into possible anti-WebM moves by MPEG LA". Ars Technica. Condé Nast Digital. Archived from the original on March 8, 2011. Retrieved March 8, 2011.
- ^ "Google and MPEG LA make a deal over VP8 codec – Update". The H. Archived from the original on December 8, 2013. Retrieved March 10, 2013.
- ^ "Google and MPEG LA Announce Agreement Covering VP8 Video Format" (PDF). March 7, 2013. Archived from the original (PDF) on March 5, 2016. Retrieved March 8, 2013.
- ^ "Nokia and Google clash on web video tech". BBC News. March 25, 2013. Archived from the original on March 28, 2013. Retrieved April 5, 2013.
- ^ "Nokia Corporation's Statement about IPR related to RFC 6386". March 21, 2013. Archived from the original on March 24, 2013. Retrieved April 5, 2013.
- ^ "The WebM Open Media Project Blog: Good News from Germany". webmproject.org. Archived from the original on August 23, 2013. Retrieved August 28, 2013.
External links
[edit]- Official website
- WebM Container Guidelines
- WebM test video HTML5.org
- WebM at Open Hub
History
Origins and announcement
Google acquired On2 Technologies, Inc., a developer of video compression technologies including the VP8 codec, to advance its efforts in creating an open, royalty-free video format for the web. The acquisition was initially announced on August 5, 2009, for approximately $106 million, with the agreement later amended in January 2010 to account for changes in On2's stock value.[7][8] The deal closed on February 19, 2010, for a final amount of $124.6 million, providing Google with full rights to VP8, which served as the core video codec for the forthcoming WebM format.[9][10] On May 19, 2010, during the keynote at the Google I/O developer conference, Google publicly announced the WebM Project, introducing WebM as a new open media format designed to deliver high-quality video to the web without licensing fees.[11] The initiative, backed by collaborators including Mozilla, Opera, and Adobe, positioned WebM as a royalty-free alternative to proprietary solutions like H.264, which required payments to patent pools, and Adobe Flash, which dominated online video playback but lacked native HTML5 integration.[11][12] WebM utilized a profile of the Matroska container format, pairing the open-sourced VP8 video codec with the Vorbis audio codec, and released the reference implementation under a BSD license to encourage broad adoption.[12] This launch aimed to standardize open video in HTML5Early development and codec evolution
Google released the VP8 video codec specification on May 19, 2010, during its Google I/O conference, providing an open-source implementation under a BSD-like license to enable royalty-free web video compression as part of the initial WebM framework.[14] This followed Google's acquisition of On2 Technologies in February 2010, which had developed VP8 as a successor to its earlier proprietary codecs, aiming to address limitations in compression efficiency and licensing costs for online media.[12] To enhance compression performance over VP8, Google introduced the VP9 codec on June 17, 2013, offering up to 50% better efficiency for high-resolution video while maintaining royalty-free status and compatibility with the WebM container. VP9 incorporated advancements such as larger block sizes, improved motion compensation, and loop filtering, driven by Google's analysis of web streaming demands for reduced bandwidth usage without quality loss.[15] Audio capabilities evolved with the integration of the Opus codec into WebM in 2012, following its standardization as RFC 6716 by the IETF, which provided superior quality at low bitrates compared to prior options like Vorbis, supporting variable bitrate encoding and hybrid speech/music modes for versatile web applications. The formation of the Alliance for Open Media (AOMedia) on September 1, 2015, by Google and partners including Cisco, Intel, and Netflix marked a collaborative shift, culminating in the AV1 codec's release in March 2018, which extended WebM support for next-generation compression achieving 30% gains over VP9 through techniques like extended partitioning and advanced entropy coding. Google's leadership in these iterations emphasized scalable, open-source progression to counter proprietary standards, with ongoing refinements in the 2020s focusing on encoding speed and hardware interoperability for broader web deployment.[16]Technical Overview
Container structure
WebM utilizes a container format that is a subset of the Matroska multimedia container, employing the Extensible Binary Meta Language (EBML) to enable a hierarchical, extensible binary structure supporting multiple synchronized tracks for elements such as video, audio, and subtitles.[2][17] This EBML-based design allows for forward-compatible extensions without breaking existing parsers, facilitating the organization of metadata and media data in a tree-like format optimized for efficient parsing and delivery in web environments.[2] At the file's core lies the Segment element, functioning as the primary root container that encapsulates key structural components: Tracks define the characteristics and mappings of individual media streams, including codec identifiers restricted in WebM to VP8, VP9, or AV1 for video and Vorbis or Opus for audio; Clusters group time-contiguous blocks of media data from multiple tracks to support progressive downloading and playback; and Cues provide an index of Cluster timestamps and positions for rapid seeking without full file traversal.[2][18] Additional elements like Info store global file metadata such as duration and timestamps, while SeekHead (or MetaSeek) offers quick offsets to these components, collectively enabling low-latency random access and streaming suitability over protocols like HTTP.[19] WebM files are identified by the .webm extension and served with the video/webm MIME type (or audio/webm for audio-only variants), with the EBML DocType explicitly set to "webm" to signal compliance and ensure interoperability in HTML5Supported media codecs
The WebM container format supports VP8 as its baseline video codec, which was developed by Google and released on May 19, 2010, as part of the initial WebM specification to provide royalty-free video compression based on open specifications.[1] VP8 enables efficient encoding for web delivery, focusing on block-based motion compensation and intra-frame prediction without reliance on proprietary patents. In December 2013, VP9 was added as a higher-efficiency successor to VP8, offering improved compression ratios—up to 50% better than VP8 for similar quality—through advancements like larger block sizes up to 64x64 pixels, enhanced motion vector prediction, and loop filtering refinements, while maintaining royalty-free status under the WebM Project's open-source framework.[1] [15] AV1, standardized by the Alliance for Open Media in March 2018, extends WebM compatibility as a next-generation video codec, achieving further compression gains of 30% over VP9 via techniques such as extended partitioning, advanced transforms, and film grain synthesis, with all components designed for patent-free implementation to promote widespread adoption in open web media. WebM strictly excludes proprietary video codecs like H.264 or HEVC, adhering to the WebM Project's mandate for open, verifiable specifications to ensure interoperability without licensing encumbrances.[21] For audio, WebM initially incorporated the Vorbis codec, an open-source lossy format from the Xiph.Org Foundation finalized in 2000, which uses modified discrete cosine transform and perceptual coding for high-quality stereo and multichannel audio at bitrates from 45 to 500 kbps.[1] In 2012, Opus was integrated as a versatile addition, supporting both speech and music with low-latency encoding (as low as 2.5 ms frames), variable bitrate control, and hybrid SILK-CELT modes for superior performance across 6 to 510 kbps, outperforming Vorbis in real-time applications while remaining fully royalty-free.[1] Like video components, WebM audio is limited to these open codecs to preserve the format's commitment to unencumbered, empirically validated compression standards.[2]Encoding, decoding, and features
WebM encoding primarily utilizes the libvpx library for VP8 and VP9 video codecs, which implements parameters for temporal scalability—allowing frame sequences to be structured in layers for bandwidth-adaptive decoding—and error resilience modes that mitigate dependencies on prior frames and entropy contexts to recover from transmission errors.[22] For AV1 video, encoding employs libaom, extending these capabilities with enhanced compression efficiency while maintaining compatibility within the WebM container.[23] Audio encoding supports Opus or Vorbis via dedicated libraries like libopus, integrated into tools such as FFmpeg for muxing into the Matroska-based WebM format.[24] Decoding processes in web environments rely on browser implementations of the Media Source Extensions (MSE) API, which enables JavaScript-driven assembly of media segments for<video> elements, supporting progressive playback of WebM streams with VP8, VP9, or AV1 payloads.[25][26] This pipeline appends encoded buffers to SourceBuffer objects, facilitating low-latency decoding without full file downloads, though it requires codec-specific demuxing to handle interleaved video and audio tracks.[27]
Distinct features include alpha channel support in VP9 profiles (denoted as VP9a), introduced in 2016, which encodes transparency data alongside luma and chroma, enabling compositing for overlays and animations without separate matte tracks.[28][29] VP9 and AV1 also provide lossless modes, invoked via encoder flags such as -lossless 1 in libvpx-vp9, preserving pixel data exactly at the cost of larger file sizes compared to lossy quantization.[30][31] For streaming, spatial and temporal layering—configurable in VP8/VP9 via single-layer spatial setups with multi-frame temporal structures—supports scalable video coding, where decoders can selectively render base or enhancement layers to match available bitrate, optimizing for variable network conditions in adaptive protocols.[32] These mechanisms enhance error resilience by isolating layer dependencies, reducing propagation of artifacts from dropped packets.[23]
Licensing and Intellectual Property
Royalty-free licensing model
The royalty-free licensing model of WebM relies on permissive open-source licenses for its core components, including the VP8 and VP9 video codecs provided via the libvpx reference library under a BSD license, which permits unrestricted use, modification, redistribution, and commercial implementation without royalty fees.[21] Similarly, support for the AV1 video codec in WebM aligns with its royalty-free structure, drawing from the Alliance for Open Media's specifications licensed under terms like Apache 2.0 and BSD that avoid mandatory payments. Audio codecs such as Vorbis and Opus follow comparable open licenses, ensuring the overall format remains unencumbered for developers and users.[21] Initiated by Google through the WebM Project in May 2010, this model emphasizes no direct royalty demands from the project stewards, contrasting sharply with royalty-bearing formats like H.264, which require licensing through patent pools such as MPEG LA.[21] The approach facilitates seamless integration into HTML5<video> elements across browsers, promoting widespread adoption in web applications without financial barriers tied to codec usage.[21] This licensing framework has enabled contributions from multiple stakeholders while maintaining Google's stewardship, prioritizing accessibility over proprietary controls.[21]
Patent landscape and encumbrances
In March 2013, Google entered into a licensing agreement with MPEG LA, the administrator of the H.264/AVC patent pool, effectively conceding that its VP8 video codec—core to the WebM format—infringed on certain H.264 patents held by pool members.[33][34] The deal granted Google rights to sublicense VP8 implementations and related techniques in the successor VP9 codec, clearing potential infringement claims from MPEG LA participants while extending coverage to VP9 but not future codecs.[35] This arrangement imposed indirect financial obligations on Google, undermining the absolute royalty-free assertion for VP8/WebM adopters reliant on Google's patent grants.[36] Earlier, in February 2011, MPEG LA solicited submissions of essential patents for VP8 to evaluate forming a royalty-bearing pool, prompting scrutiny of potential encumbrances shortly after Google's open-sourcing of WebM.[37][38] Despite identifying claimed essential patents, MPEG LA did not establish a VP8-specific pool or impose royalties, averting immediate demands but highlighting vulnerability to third-party assertions beyond Google's control.[39] For VP9, the Sisvel Video Coding Licensing Platform launched patent pools in March 2019, aggregating essential patents from non-Alliance for Open Media (AOM) members and asserting royalties on VP9 and AV1 implementations despite AOM's royalty-free pledges limited to contributor patents.[40] Sisvel's pools charge rates such as €0.24 per VP9-enabled display device and €0.08 for non-display units, with over 60 licensees by 2023, demonstrating practical enforcement against the "royalty-free" model.[41][42] These pools target finished products practicing VP9/AV1, exposing implementers to fees from patents not covered by Google's or AOM's grants.[43] Ongoing litigation underscores persistent risks, with U.S. courts seeing at least seven AV1-related cases and 56 mentioning VP9 by 2023, including assertions by holders like Nokia against streaming services for video codec infringements potentially extending to VP9/AV1 technologies.[44] Such disputes reveal hidden costs to WebM's openness, as non-participant patents enable royalty demands or injunctions, compelling defensive licensing even under purportedly unencumbered standards.[45]Adoption and Implementation
Browser and software support
Google Chrome has provided native support for WebM playback since version 6, released in September 2010, enabling direct rendering of VP8-encoded videos within the browser. Mozilla Firefox introduced native WebM support with version 4.0 in March 2011, including both VP8 video and Vorbis audio decoding. Opera browsers have offered native compatibility since version 11.6 in December 2011, aligning with the format's emphasis on open web standards. Microsoft Edge achieved full native support for WebM starting with version 79 in January 2020, following its transition to the Chromium engine, which resolved earlier partial or plugin-dependent playback.[46] Apple Safari maintains limited native support, historically requiring extensions or third-party codecs for VP8 content, though versions from Safari 16.4 onward (released March 2023) demonstrate improved handling of VP9-encoded WebM files amid broader adoption of royalty-free codecs like AV1.[47][48] In multimedia libraries, FFmpeg has included encoding and decoding capabilities for WebM containers with VP8 since version 0.6, released in July 2010, facilitating integration across developer tools and applications. VLC media player supports WebM playback natively, with reliable handling of the format available in versions from the early 2010s onward, leveraging its built-in codec libraries without additional packs.[49][50] By 2025, open-source ecosystems have achieved near-universal software compatibility for WebM through libraries such as GStreamer and libavcodec, enabling seamless encoding, decoding, and playback in diverse applications from video editors to command-line tools.[51] This widespread integration stems from the format's royalty-free model, reducing barriers in cross-platform development.[52]Hardware acceleration
NVIDIA's NVDEC hardware decoder has supported VP8 decoding since the Kepler architecture in 2012 and VP9 decoding since the Pascal architecture in 2016, with AV1 decode added in the Ampere architecture from 2020 onward.[53] AMD GPUs provide hardware acceleration for VP9 decoding via Video Core Next (VCN) engines starting with the Vega architecture in 2017, extending to AV1 decode in RDNA 2 architectures from 2020.[54] Intel Quick Sync Video enables VP9 hardware decoding from the Skylake generation in 2015 and AV1 decoding from Tiger Lake in 2020, with VP8 decode supported earlier in Haswell processors from 2013.[55] On mobile platforms, Android devices have offered native hardware decoding for WebM's VP8 codec since 2011, facilitated by IP cores like Google's Anthill project and integrations in chipsets such as NVIDIA Tegra 4 from 2013.[56] VP9 and AV1 hardware decode followed in later SoCs, with broad adoption in Qualcomm Snapdragon and MediaTek Dimensity series by the late 2010s. In contrast, iOS hardware acceleration for WebM codecs has been limited; VP8 and VP9 rely primarily on software or third-party implementations, though Apple's A17 Pro chip introduced AV1 hardware decoding in September 2023 for iPhone 15 Pro models.[57] Hardware encoding for WebM codecs remains less widespread than decoding, primarily available in professional-grade GPUs and integrated solutions by the mid-2020s. NVIDIA NVENC supports VP9 encoding from Turing GPUs in 2018 and AV1 from Ada Lovelace in 2022, while Intel Quick Sync added VP9 encode with Ice Lake in 2019 and AV1 encode in Meteor Lake from 2023; AMD's RDNA 3 architecture introduced AV1 encoding in 2022.[58] These capabilities enhance efficiency for high-volume encoding workflows, though CPU-based software encoding persists for broader compatibility.[59]Usage in streaming and web applications
WebM containers, typically employing VP8 or VP9 codecs, integrate with adaptive bitrate streaming protocols such as MPEG-DASH, enabling segmented delivery of multiple quality variants over HTTP to adjust dynamically to viewer bandwidth.[60] This process relies on Media Source Extensions (MSE) in supporting browsers, which append WebM segments to the HTML5<video> element, facilitating seamless quality switches without full video reloads.[61] For live streaming, tools like FFmpeg can transcode inputs into WebM segments compliant with DASH manifests, as demonstrated in server configurations from providers like Wowza Streaming Engine.[62]
Although HTTP Live Streaming (HLS) predominantly utilizes fragmented MP4 segments per Apple's specification, WebM can support analogous adaptive delivery via MSE for cross-protocol compatibility in web applications, though DASH remains the preferred standard for open formats due to broader codec flexibility.[63] YouTube implemented WebM for high-definition video streaming starting in 2010, shortly after the format's release, to enable royalty-free HTML5 playback and reduce bandwidth demands through VP8's intra-frame compression efficiency, which approximates H.264 performance while avoiding licensing fees.[4] This adoption allowed progressive rollout of HD content without proprietary plugins, contributing to lower infrastructure costs for large-scale distribution.[64]
In real-time applications, WebM's codecs underpin WebRTC implementations for low-latency video calls and conferencing, where VP8 provides sub-second encoding/decoding cycles optimized for peer-to-peer transmission over UDP, minimizing buffering delays to under 500 milliseconds in typical setups.[65] Developers leverage WebRTC's native support for WebM payloads in RTP streams, enabling browser-based video telephony without intermediaries, as seen in open-source libraries handling real-time VP8 negotiation via SDP.[66] The WebM Project offers test streams and DASH live streaming guides on its resources, including GitHub repositories for sample WebM muxing and playback validation in low-latency scenarios.[67][68]
