Skip to content

Web Prerequisites

Taner Sener edited this page Jul 28, 2026 · 1 revision

This page lists the tools required to build FFmpegKitNext for Web/WebAssembly.

For build commands, see Building Web. For Web build options, see nix-web.sh.

Requirements With Nix

Install Nix on a supported macOS or Linux host.

The current Web Nix profile is web-wasm32-emscripten. It provides the Emscripten toolchain and host build tools used by the build scripts, including emcc, emar, emranlib, cmake, autoconf, automake, libtool, pkg-config, gettext, bison, meson, ninja, python3, perl, ruby, make, patch, curl, wget, git, zip, unzip, tar, gzip, xz, rsync, node and related command-line tools.

No separate Emscripten, CMake, Autotools, Meson, Ninja, pkg-config or gettext installation is normally required when using this profile.

Requirements Without Nix

Direct Web builds are supported when you maintain Emscripten and the host tools yourself.

Install:

  • Emscripten SDK with emcc, emar and emranlib
  • CMake
  • Node.js
  • The host build tools used by the scripts

Package names vary by operating system and package manager, but the tools are:

bash git curl wget zip unzip tar gzip xz make sed grep which autoconf automake libtool pkg-config gettext cmake bison meson ninja python3 perl ruby patch file find gawk rsync texinfo

Browser Requirements

ffmpeg-kit-next-web runs the native wrapper in a module Web Worker and requires:

  • WebAssembly
  • Module Web Worker support
  • SharedArrayBuffer

Because pthreads are enabled for normal ffmpeg-kit Web builds, the hosting page must be cross-origin isolated. Serve it with both response headers:

Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

Without these headers, browsers do not expose SharedArrayBuffer and the WebAssembly module fails to instantiate.

Clone this wiki locally