WebM is an open, royalty-free 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.
What is the VP8 video codec?
VP8 is a highly efficient video compression technology that was developed by On2 Technologies. Google acquired On2 in February, 2010. For more information, see the “VP8 Video Codec” section below.
What is the Vorbis audio codec?
Vorbis is an open-source audio compression technology. It is an independent project of the Xiph Foundation. For more information about Vorbis, please visit www.vorbis.org.
A valid WebM file can only contain VP8 video and Vorbis audio in a .webm container. Why did you define WebM so narrowly?
We decided to define WebM files in this way because we wanted to do what’s best for users. Users just want video to work, they don’t want to worry about supported codecs, file formats, and so on. After much discussion with browser makers, tool developers and others, we reached a consensus that a narrowly defined format would cause the least confusion for users. If a user has a .webm file, they can be confident that it will play in any browser or media player that supports WebM.
Why do I want WebM?
A key factor in the web’s success is that its core technologies such as HTML, HTTP, and TCP/IP are open and freely implementable. Though video is also now core to the web experience, there is unfortunately no open and free video format that is on par with the leading commercial choices. To that end, we started the WebM project, a broadly-backed community effort to develop an open web media format.
WebM was built for the web. By testing hundreds of thousands of videos with widely varying characteristics, we found that the VP8 video codec delivers high-quality video while efficiently adapting to varying processing and bandwidth conditions across a broad range of devices. VP8’s highly efficient bandwidth usage and lower storage requirements can help publishers recognize immediate cost savings. Also, the relative simplicity of VP8 makes it easy to integrate into existing environments and requires comparatively little manual tuning in the encoder to produce high-quality results.
How do I play WebM files?
To play WebM files, all you need is a supported web browser or media player.
Where can I watch WebM videos?
YouTube is supporting WebM in addition to its existing formats as part of its HTML5 experiment. For instructions, see our Users page.
How can I convert my personal video files to WebM?
Creating WebM files is easy. You can use any of the supported software products on our Tools page.
How can I judge WebM video quality for myself?
Download our VP8 SDK, which includes scripts that are preconfigured to get the best out of VP8. The kit includes links to the same files used in our own testing. You can test VP8 decoding speed using FFmpeg and tools in the Chromium source tree (for example, media_bench).
Also, playback performance is still not optimized in the Developer Preview releases of the browsers that support WebM. The computational efficiencies of the VP8 codec are more accurately measured today using codec-level development tools in the SDKs. Optimizations of the browser implementations are forthcoming.
If I use publishing tools that do not handle WebM today, how should I incorporate WebM into my workflow?
Visit our Tools page for a list of open source and commercial products that support creating WebM files. In the coming weeks we will release QuickTime and DirectShow plug-ins that will enable many third-party encoding applications to produce WebM files.
How do I build my website in a way that takes advantage of WebM but still supports other formats?
There are open-source libraries such as the Kaltura HTML5 Media Library, Open Standard Media (OSM) Player, Projekktor, Modernizr and others that make accommodating multiple video formats in a single page very easy.
Encoding WebM videos seems really slow. What are you doing about that?
For the Developer Preview we focused on optimizing the VP8 decoder. Today, encoding VP8 in “best quality” mode is the slowest configuration. Using “good quality” mode with the speed parameter set between 0 and 5 will provide a range of speeds. Best Quality is admittedly slow. We have room for great improvement on both the encoder and the decoder. We have only begun to optimize the VP8 encoder and believe that we will make very substantial speed improvements soon — especially with your help!
The WebM project is labeled “developer preview.” What does that mean?
Today we are releasing APIs, source code, and specifications that will be useful to you if you are a developer; they are much less useful if you are not. We hope developers will use what we’ve released to build WebM as a “preview” feature in their products.
While we’re proud of our quality and performance today, there is more work to be done. The VP8 bitstream is final, but some features of the WebM format are not yet complete. We expect to achieve better visual quality and performance in an official release soon while also doing a lot more testing. You can help us get there by helping us tackle our roadmap.
Are VP8 or WebM subject to change?
The VP8 and WebM specifications as released on May 19th, 2010 are final. We believe that the code and tools can evolve and improve for many years without requiring changes to the core specifications. We’ll maintain a separate branch of the code, however, for bold new ideas that could alter the specifications. If there are significant improvements to warrant a new revision we might adopt them, but only after careful consideration and after discussing suggested changes with the WebM community.
Are you encouraging people to simply test WebM or actually use it?
The VP8 and WebM specifications as released on May 19th, 2010 are final and we encourage everyone to use them for developing applications. Google, Mozilla and Opera are all adding WebM support to their browsers and all videos that are 720p or larger uploaded to YouTube after May 19th will be be encoded in WebM as part of its HTML5 experiment. The WebM/VP8 source code and content creation tools are a Developer Preview with room for further improvement of the code. We encourage the community to help us complete the work items on our roadmap.
When do you expect WebM to evolve from the “developer preview”?
We expect to provide regular updates, and when the WebM community is sufficiently happy with our joint results and is ready to move forward, the developer preview will end.
WebM and VP8 are open-source. How do I get the source and contribute code?
The code, specifications and development guidelines are available on our Code page.
Do I have to be a programmer to use WebM and VP8?
You only need to be a programmer if you want to build WebM support into a software application or contribute improvements to the VP8 or Vorbis source code. To play WebM files, all you need is a supported browser or media player. To create WebM content you can use the software listed on our Tools page. Also, YouTube is supporting WebM as part of its HTML5 experiment.
Is the WebM project owned by Google or is it independent? What if Google changes its mind?
WebM is an open-source project sponsored by Google. Google licenses its intellectual property that is covered by VP to VP8 users for free, under a BSD-style license. These licenses are revocable only if the licensee files a patent infringement lawsuit against the VP8 code that Google released.
If I convert my video files to WebM, can you guarantee that they won’t become obsolete in the future?
WebM is a new format and will likely evolve over time. We will try to keep the bitstream constant and provide re-encoding tools as appropriate.
VP8 Video Codec
Is VP8 the codec that Google bought as part of the On2 Technologies acquisition?
Yes.
If I have a video card that accelerates video playback, will it accelerate VP8?
The performance of VP8 is very good in software, and we’re working closely with many video card and silicon vendors to add VP8 hardware acceleration to their chips.
Can I use VP8 with a file container other than WebM or an audio codec other than Vorbis?
Yes, the license gives you the freedom to use VP8 in virtually any way you like. It should be noted, however, that when VP8 is used in a container other than WebM it will not play in browsers that support WebM.
If other applications on my system use VP8, does this mean my WebM files are compatible with those apps?
VP8 is an an open-source technology and developers are free to use it in any application, but the only applications that will play VP8 video inside WebM files are those that support WebM.
What are the limits of VP8 in terms of resolution, datarate, and framerate?
VP8 uses 14 bits for width and height, so the maximum resolution is 16384x16384 pixels. VP8 places no constraints on framerate or datarate.
WebM playback seems to use a lot of processor resources on my computer. Why is this?
The Developer Preview releases of browsers supporting WebM are not yet fully optimized and therefore have a higher computational footprint for screen rendering than we expect for the general releases. The computational efficiencies of the VP8 codec are more accurately measured today using codec-level development tools in the SDKs. Optimizations of the browser implementations are forthcoming.
WebM Video File Format
How do I know if I have WebM installed on my computer?
WebM isn’t something you install on its own. It’s deployed within application software such as web browsers, media players and media plug-ins. We maintain an up-to-date list of products that support WebM playback.
How do I know if a video I am looking at is encoded in VP8?
A video is encoded in VP8 if it has the file extension .webm. If you don’t have access to the file extension, reading the file properties (for example, using Get Info on Mac OS) will reveal a MIME type of video/webm. If you are playing WebM video from YouTube, a “WebM” icon will appear in the player toolbar.
Will WebM files play on my TV, set-top box, PVR, etc.?
Stay tuned! The WebM community is working with hardware manufacturers to bring WebM support to a wide range of devices.
Are there any portable media players that can play WebM files?
There are none in the market today but we’re working with hardware manufacturers to bring WebM support to a wide range of devices.
When will other Google products support WebM and VP8?
WebM support in Android is expected in the Gingerbread release (currently planned for Q4, 2010). We expect many other Google products to adopt WebM and VP8 as they prioritize it with their other product requirements. Keep an eye on the WebM blog for announcements.
Licensing
Please explain how WebM is “royalty-free.”
Some video codecs require content distributors and manufacturers to pay patent royalties to use the intellectual property within the codec. WebM and the codecs it supports (VP8 video and Vorbis audio) require no royalty payments of any kind. You can do whatever you want with the WebM code without owing money to anybody. For more information, see the License page.
What does this license let me do?
Like most BSD-style licenses, this license allows you to use the VP8 code with a minimum of restrictions on your use. You can use the code in proprietary software as well as open source software. The main difference between the standard BSD license and the VP8 license is that this license grants patent rights, and terminates if patent litigation is filed alleging infringement of the code.
Do I need to release the source if I make changes?
No, the license does not require you to release source if you make changes. However, we would love to see any changes you make and possibly incorporate them, so if you want to participate please visit the Code page and submit some patches.
Why didn’t you use the Apache license?
The Apache license is somewhat similar in effect to this license. The main reason it was not used is that filing patent litigation against someone using the Apache 2 license only terminates patent rights granted under the license. Whoever filed the litigation would still be able to use the software they are suing over and still be in compliance with the license. This license, however, terminates all rights when patent litigation is filed. Rather than modify the Apache license to meet our needs, which would probably lead to significant confusion, we went with the simpler approach of a BSD style license + patent provision.
Why didn’t you use the GPL license?
One of the goals of having this code licensed as liberally as possible is to encourage adoption by as many users as possible. This includes both proprietary and free software. Using the GPL license would not be a good match for this goal.
Doesn’t this cause license proliferation?
We could not identify a license that met the specific needs of this project as described above, so we based this License on two well-known licenses (Apache and BSD) instead of completely starting from scratch.
Can I take this code and re-license it under my favorite license?
We strongly urge you not to try to re-license this code under a different license. The choice of license was carefully thought out and preserving one license will lead to the greatest flexibility and adoption of the code.
What if someone gets the code from Google and gives it to me without changes. Do I have a patent license from Google?
Yes, you still have the right to redistribute and you still have a patent license for Google’s patents that cover the code that Google released.
What if Google receives or buys a patent that covers the code I receive sometime after I receive the code. Do I have a patent license for that patent?
Yes, you still have the right to redistribute and you still have a patent license for Google’s patents that cover the code that Google released.
What if someone makes a change to the code and gives it to me. Do I have a patent license from Google for that change?
You still have the right to redistribute but no patent license for the changes (if there are any patents covering it). We can’t give patent licenses for changes people make after we distribute the code, as we have no way to predict what those changes will be. Other common licenses take the same approach, including the Apache license.
What if my competitor brings patent litigation against me for something unrelated to the code. Does he or she still have a patent license?
Yes, he still has the right to redistribute and he still has a patent license for Google’s patents that cover the code that Google released.
Labels:
Miscellaneous