# Bundled media engine

- @ffmpeg/ffmpeg 0.12.15, MIT. See LICENSE-wrapper.txt.
- @ffmpeg/core 0.12.10, single-thread distribution, GPL-2.0-or-later. See LICENSE-core.txt.
- Official packages are unmodified UMD builds from the npm registry. No remote runtime CDN is used.
- The core includes FFmpeg and external libraries including x264 and x265. Their source licenses apply. Codec patents and applicable licensing requirements are distinct from these source licenses.

## Source and build references

- https://github.com/ffmpegwasm/ffmpeg.wasm
- https://github.com/ffmpegwasm/ffmpeg.wasm/releases
- https://github.com/ffmpegwasm/ffmpeg.wasm/blob/main/Dockerfile
- https://github.com/ffmpegwasm/ffmpeg.wasm/tree/main/build
- https://github.com/FFmpeg/FFmpeg/tree/n5.1.4
- https://github.com/ffmpegwasm/x264/tree/4-cores
- https://github.com/ffmpegwasm/x265/tree/3.4
- https://ffmpegwasm.netlify.app/docs/faq/

The upstream build references list dependencies and build instructions. Preserve license notices and provide the corresponding source required by the binary's licenses when distributing it. This repository change is local and has not been published.

## API behavior

The pinned core can return -1 after valid ffprobe output, documented in upstream issue https://github.com/ffmpegwasm/ffmpeg.wasm/issues/817. The application deletes old reports, accepts only fresh parseable reports with video metadata and validates the actual output separately.

Synthetic tests are generated with tests/fixtures/mov/generate.cjs. Native FFmpeg and FFprobe downloaded under .tmp are test tools only and are not browser runtime dependencies.

## SHA-256

- ffmpeg.js — ad4cfe957589995dea03fc8de1fd5e9f5cb4558a7282913172203082a65bbfaa
- 814.ffmpeg.js — 976f4174ae7da80c0d4f9523ee6dde3ecbce7dc2ee392b2a5322049abb9b8627
- ffmpeg-core.js — b266ab5b952555881dd6310663986994a182acb2b7ff25cf10a25f7a37ac2b21
- ffmpeg-core.wasm — 9f57947a5bd530d8f00c5b3f2cb2a3492faa7e5d823315342d6a8656d0a6b7b7

Checked 2026-11-01.

