Skip to content

Windows Prerequisites

Taner Sener edited this page Aug 21, 2026 · 2 revisions

This page lists the tools required to build FFmpegKitNext for Windows.

For build commands, see Building Windows. For Windows build options, see windows.sh.

Windows builds target the native architecture of the Windows host. Only arm64 (aarch64) is supported for now; x86-64 is implemented but not yet tested.

MSYS2 Environment

Install MSYS2 and run the build from an MSYS2 shell. On an arm64 Windows host, use the CLANGARM64 environment, which provides the native aarch64-w64-mingw32-clang toolchain.

For a step-by-step setup guide, see MinGW Toolchain.

Nix is not used on Windows: it does not provide a native Windows build toolchain. The compiler and host tools come from MSYS2 instead.

Requirements

Install the mandatory toolchain and host build tools:

pacman -S --needed ${MINGW_PACKAGE_PREFIX}-clang ${MINGW_PACKAGE_PREFIX}-pkgconf make autoconf \
  automake libtool git curl rsync pkg-config

RapidJSON and FFmpeg are downloaded by windows.sh when they are not already available locally; no separate installation is required for the normal build flow.

Some optional external libraries have extra host-package requirements. Install these only when enabling the matching library:

  • ${MINGW_PACKAGE_PREFIX}-meson and ${MINGW_PACKAGE_PREFIX}-ninja for Meson based libraries: dav1d, harfbuzz, liblc3 and rubberband.
  • ${MINGW_PACKAGE_PREFIX}-cmake for CMake based libraries such as libaom, x265 and srt.
  • gperf for libiconv, fontconfig and gnutls.
  • bison for gnutls.
  • gettext-devel (provides autopoint), autogen and gtk-doc may be needed when bootstrapping gnutls and fontconfig on some hosts.
  • nasm for x86-64 assembly optimizations; arm64 does not use it.

The ${MINGW_PACKAGE_PREFIX}- builds of meson, ninja and cmake are required so they target Windows natively. The remaining tools are only run on the build machine, so their plain MSYS2 packages are fine.

Clone this wiki locally