← Free Video Overlay Maker

Open-source credits

Animation exports run locally using FFmpeg. Licenses and corresponding encoder source are available below.

FFmpeg core license (GPL-2.0-or-later) · JavaScript wrapper license (MIT) · Plus Jakarta Sans license · EB Garamond license

Source revisions and SHA-256 checksums · Build instructions

Build instructions

Mockaps browser animation encoder: corresponding source

The bundled @ffmpeg/core 0.12.10 is the unmodified single-thread npm build of
FFmpeg 5.1.4. Its WASM bytes are split for static hosting; ../manifest.json
identifies that binary. GPL-2.0-or-later text: ../LICENSE-core.txt.
The separate @ffmpeg/ffmpeg 0.12.15 wrapper uses MIT: ../LICENSE-wrapper.txt.
Font licenses: ../../OFL-PlusJakartaSans.txt and ../../OFL-EBGaramond.txt.

Source archives in this directory are available from the same server as the
binary, with no login. manifest.json records upstream references and SHA-256.
The ffmpeg.wasm archive is the core 0.12.10 release commit
71aa99d37c02a7b4c435275ca9ef50e612f6efa1. It includes Dockerfile, Makefile,
build/*.sh, src/bind, src/fftools and package sources. FFmpeg and every external
codec/font/shaping dependency referenced by that Dockerfile are also included.
The x264 and lame branch snapshots are pinned as of the core release date.
The zimg test/extra/googletest submodule is supplied separately. ffmpeg.wasm's
optional media testdata submodule is not needed to build the encoder.

Rebuilding:
1. Download the source archives and manifest. Reassemble harfbuzz first:
   cat harfbuzz.tar.gz.part0 harfbuzz.tar.gz.part1 harfbuzz.tar.gz.part2 harfbuzz.tar.gz.part3 > harfbuzz.tar.gz
2. Extract ffmpeg.wasm.tar.gz. Its Dockerfile and Makefile describe the build.
   With Docker Buildx installed, run `make prd` in the extracted project.
   This uses emscripten/emsdk:3.1.40 and builds the single-thread core with
   -O3 -msimd128. Output is packages/core/dist/esm/ffmpeg-core.js and .wasm.
3. To use the supplied dependency archives instead of fetching repositories,
   extract each into a separate directory and replace the corresponding
   Dockerfile ADD git URL with COPY of that directory to /src. For zimg,
   replace its git clone RUN with COPY, and place the extracted googletest
   source at zimg/test/extra/googletest. Preserve the build/*.sh COPY commands.
   See manifest.json for the exact source reference associated with each file.
4. The complete build environment and original release instructions are at
   https://github.com/ffmpegwasm/ffmpeg.wasm/tree/71aa99d37c02a7b4c435275ca9ef50e612f6efa1

No changes were made to the encoder's source or compiled binary. Only asset
packaging changed. The application reconstructs WASM chunks in order, creating
a Blob URL for the worker. A rebuild need not be byte-identical across tooling.
Source archives retain their upstream licenses and notices.