A Godot 4.1+ GDExtension for playing WebM files.
The goal of gdwebm is to provide support for WebM files and all supported codecs (VP8, VP9, AV1, Opus, Vorbis) in Godot. This allows you to use modern video and audio formats in your projects unlike the built-in Ogg Theora support.
Warning
This extension is currently in major development and is considered unstable. Use with caution.
To use this extension:
- Clone this repository (
git clone https://github.com/cherrythecool/gdwebm.git). - Build the extension using the provided script for your OS (
./build_mac.shfor macOS for example) (see GDExtension documentation for more platform-specifics (if you want to build by hand, each thirdparty library may require different commands or tools). - Put a
.webmin your project and use the extension.
- Anything the Godot Documentation requires for building the engine is required for building this GDExtension
cmake(for some thirdparty libraries used, ex: libwebm)meson(for some thirdparty libraries used, ex: dav1d)
Currently, the extension supports parsing the WebM container and decoding the following codecs:
- AV1
- Opus
We plan to implement full support for all other standard WebM codecs:
- VP8
- VP9
- Vorbis
libwebm: WebM Project / The Chromium Authors libopus: Xiph.Org Foundation