2.5 KiB
FFmpeg WebAssembly Corresponding Source
This archive accompanies the reviewed single-thread and multithread FFmpeg
WebAssembly core profile distributed by av-tools. The profile retains the
upstream core version 0.12.10 and FFmpeg n5.1.4 identities, but it is rebuilt
from source rather than copied from the published @ffmpeg/core packages.
SOURCE_LOCK.json records the immutable Git commit for ffmpeg.wasm, FFmpeg and
every external library selected by the upstream v12.15 build. The source trees
are stored under sources/. In particular, the upstream branch names
4-cores and master have been resolved to the commits from which the
published core was built; neither branch changed between its recorded commit
and the upstream core release.
The original build-control files are in sources/ffmpeg.wasm/, including:
Dockerfile;Makefile;build/ffmpeg.sh;build/ffmpeg-wasm.sh;- the other dependency scripts under
build/.
The build uses Emscripten SDK 3.1.40 and FFmpeg n5.1.4. Its one source patch
applies upstream ffmpeg.wasm commit
b409e36475bc21f0451b5b1e1d126fa82871439a, which raises the Emscripten stack
to 5 MiB and fixes the libopus encode failure reported upstream. The tracked
scripts/build-reviewed-ffmpeg-core.sh driver in the matching av-tools source
release also isolates optional host dependencies and records the exact
toolchain identities. The generated assets' exact sizes, hashes and embedded
configure arguments are recorded in the application's SOURCE.md,
scripts/reviewed-ffmpeg-core-lock.json and docs/FFMPEG_BUILD.md.
The source archive preserves each component's own licence and copyright notices. av-tools itself is distributed separately under GPL-3.0-or-later. Codec patent permissions, where required, are separate from copyright licences.
To fetch and verify an identity:
git init source-check
git -C source-check fetch --depth 1 <repository> <revision>
test "$(git -C source-check rev-parse FETCH_HEAD)" = "<revision>"
The included ffmpeg.wasm Dockerfile documents the historical upstream build,
but still names remote tags and branches. For the distributed reviewed
profile, use this archive together with the matching av-tools source release
and invoke its scripts/build-reviewed-ffmpeg-core.sh driver. The bundled
sources/zimg/ tree already contains its pinned GoogleTest submodule at
test/extra/googletest/.
General-purpose build tooling such as Git, Docker/BuildKit and the Emscripten 3.1.40 container image is not copied into this archive.