# Media audio runtime — source notices

This website distributes unmodified @ffmpeg/core 0.12.10 (GPL-2.0-or-later) and @ffmpeg/ffmpeg 0.12.15 (MIT) from the npm packages pinned in package-lock.json. The matching upstream release is [v12.15](https://github.com/ffmpegwasm/ffmpeg.wasm/releases/tag/v12.15), commit 71aa99d37c02a7b4c435275ca9ef50e612f6efa1. The core is FFmpeg n5.1.4 built with --enable-gpl.

[GPL v2 text](/media-licenses/COPYING.GPLv2) · [MIT wrapper license](/media-licenses/MIT.txt) · [Source manifest and SHA-256 checksums](/media-licenses/sources/manifest.json) · [Upstream Dockerfile](/media-licenses/sources/Dockerfile)

All source archives below are available from the same server as the JS/WASM binaries. They retain the upstream copyright, license and build files. There are no local changes to the FFmpeg/core binaries. The ffmpegwasm archive contains the wrapper, C bindings, modified fftools and build scripts; its Dockerfile identifies the source versions of linked libraries. Branch refs in that recipe are recorded as immutable commits in the manifest.

| Component | Upstream build ref | Source revision | Download |
| --- | --- | --- | --- |
| ffmpeg | n5.1.4 | [4729204c17f7](https://github.com/FFmpeg/FFmpeg/tree/4729204c17f756e186d622060088371d10b34f7e) | [source archive](/media-licenses/sources/ffmpeg-4729204c17f7.tar.gz) |
| ffmpegwasm | v12.15 | [71aa99d37c02](https://github.com/ffmpegwasm/ffmpeg.wasm/tree/71aa99d37c02a7b4c435275ca9ef50e612f6efa1) | [source archive](/media-licenses/sources/ffmpegwasm-71aa99d37c02.tar.gz) |
| freetype | VER-2-10-4 | [6a2b3e4007e7](https://github.com/ffmpegwasm/freetype2/tree/6a2b3e4007e794bfc6c91030d0ed987f925164a8) | [source archive](/media-licenses/sources/freetype-6a2b3e4007e7.tar.gz) |
| fribidi | v1.0.9 | [f9e8e71a6fbf](https://github.com/fribidi/fribidi/tree/f9e8e71a6fbf4a4619481284c9f484d10e559995) | [source archive](/media-licenses/sources/fribidi-f9e8e71a6fbf.tar.gz) |
| harfbuzz | 5.2.0 | [4a1d891c6317](https://github.com/harfbuzz/harfbuzz/tree/4a1d891c6317d2c83e5f3c2607ec5f5ccedffcde) | [source archive](/media-licenses/sources/harfbuzz-4a1d891c6317.tar.gz) |
| lame | master | [2badea1974ae](https://github.com/ffmpegwasm/lame/tree/2badea1974ae36cb8312afe99cff1e6b3b5decee) | [source archive](/media-licenses/sources/lame-2badea1974ae.tar.gz) |
| libass | 0.15.0 | [d149636f502f](https://github.com/libass/libass/tree/d149636f502f5774ae1a8fb4c554b122674393b2) | [source archive](/media-licenses/sources/libass-d149636f502f.tar.gz) |
| libvpx | v1.13.1 | [10b9492dcf05](https://github.com/ffmpegwasm/libvpx/tree/10b9492dcf05b652e2e4b370e205bd605d421972) | [source archive](/media-licenses/sources/libvpx-10b9492dcf05.tar.gz) |
| libwebp | v1.3.2 | [ca332209cb55](https://github.com/ffmpegwasm/libwebp/tree/ca332209cb5567c9b249c86788cb2dbf8847e760) | [source archive](/media-licenses/sources/libwebp-ca332209cb55.tar.gz) |
| ogg | v1.3.4 | [bada45718453](https://github.com/ffmpegwasm/Ogg/tree/bada45718453ac27b56773ae663f7e65112f6a6e) | [source archive](/media-licenses/sources/ogg-bada45718453.tar.gz) |
| opus | v1.3.1 | [e85ed7726db5](https://github.com/ffmpegwasm/opus/tree/e85ed7726db5d677c9c0677298ea0cb9c65bdd23) | [source archive](/media-licenses/sources/opus-e85ed7726db5.tar.gz) |
| theora | v1.1.1 | [7ffd8b2ecfc2](https://github.com/ffmpegwasm/theora/tree/7ffd8b2ecfc2d93ae5e16028e7528e609266bfbf) | [source archive](/media-licenses/sources/theora-7ffd8b2ecfc2.tar.gz) |
| vorbis | v1.3.3 | [779816404319](https://github.com/ffmpegwasm/vorbis/tree/7798164043197d7e33f02de4353ce2aa5b248225) | [source archive](/media-licenses/sources/vorbis-779816404319.tar.gz) |
| x264 | 4-cores | [33cac6b77d5b](https://github.com/ffmpegwasm/x264/tree/33cac6b77d5b9259c552156013a817ab23119612) | [source archive](/media-licenses/sources/x264-33cac6b77d5b.tar.gz) |
| x265 | 3.4 | [2bb5520e9596](https://github.com/ffmpegwasm/x265/tree/2bb5520e9596f361bf0ed81b3b8da0d7fd999069) | [source archive](/media-licenses/sources/x265-2bb5520e9596.tar.gz) |
| zimg | release-3.0.5 | [e5b0de6bebbc](https://github.com/sekrit-twc/zimg/tree/e5b0de6bebbcbc66732ed5afaafef6b2c7dfef87) | [source archive](/media-licenses/sources/zimg-e5b0de6bebbc.tar.gz) |
| zlib | v1.2.11 | [cacf7f1d4e3d](https://github.com/ffmpegwasm/zlib/tree/cacf7f1d4e3d44d871b605da3b647f07d718623f) | [source archive](/media-licenses/sources/zlib-cacf7f1d4e3d.tar.gz) |

## Building the upstream single-thread core

Extract the ffmpegwasm source archive. Its Makefile, Dockerfile, build/*.sh and src/bind/ contain the upstream build instructions. The Dockerfile uses emscripten/emsdk:3.1.40 and FFmpeg n5.1.4, copies the ffmpegwasm fftools/bindings, and builds both UMD and ESM outputs. Run the Makefile production target `make prd` from that source tree (Docker with BuildKit/buildx required). See the included README/Makefile for prerequisites and optional variants. The source archives provide the upstream libraries used by that recipe; use the recorded commits when reproducing its branch-based dependencies.

Media uses dist/esm/ffmpeg-core.js and ffmpeg-core.wasm. It does not use the multi-thread build. The website copies executable wrapper worker files without altering them. License and copyright terms for each linked library are included in its source archive; those terms continue to apply. Source code can be downloaded independently of using the tools; the application does not upload user media to obtain it.
