Valendo

Redistributed ffmpeg

Valendo's installers include ffmpeg 6.1.1, invoked as a separate executable — Valendo hands it a file and reads one back — with none of its code linked into the application (aggregation, not linking).

The GPL requires the offer of corresponding source to stay reachable. This is that offer, at a permanent address independent of any code host.

What each platform carries

PlatformLicenseWhere the binary comes from
Windows GPL 3.0 The published build from gyan.dev, obtained through the ffmpeg-static npm package.
macOS (Apple Silicon) LGPL 2.1 Compiled from the published source by this project's own continuous integration, on every release.

Windows and macOS differ because the Mac App Store does not accept software under the GPL, and libx264 — an H.264 encoder released under that license — was the only component requiring it. The macOS build drops libx264 and encodes through the system's own VideoToolbox instead.

The source

The corresponding source for both builds is the official FFmpeg 6.1.1 release, unmodified:

Neither build patches the source. What differs between them, and from a stock build, is the set of configure options below.

How the macOS build is configured

This is the exact configuration reported by the shipped binary, which you can confirm yourself by running ffmpeg -version on the copy inside the application bundle:

--disable-autodetect
--enable-zlib
--enable-videotoolbox
--enable-audiotoolbox
--enable-runtime-cpudetect
--disable-network
--disable-ffplay
--disable-doc
--disable-debug

There is no --enable-gpl, no --enable-version3, no --enable-libx264 and no --enable-nonfree. The build fails outright if any of them appears, or if the resulting binary reports anything other than LGPL version 2.1. Running ffmpeg -L on the shipped copy prints the notice itself.

The ffmpeg inside Valendo reads and writes local files only, via --disable-network. It opens no connections.

Rebuilding it

The build recipe is a single shell script, and it is the same one CI runs. It is included in the source distribution of Valendo and reproduced here in full for anyone who wants to verify the result:

curl -fsSL https://ffmpeg.org/releases/ffmpeg-6.1.1.tar.xz -o ffmpeg.tar.xz
tar xf ffmpeg.tar.xz
cd ffmpeg-6.1.1

./configure \
  --prefix=/tmp/ffmpeg-prefix \
  --disable-autodetect \
  --enable-zlib \
  --enable-videotoolbox \
  --enable-audiotoolbox \
  --enable-runtime-cpudetect \
  --disable-network \
  --disable-ffplay \
  --disable-doc \
  --disable-debug

make -j"$(sysctl -n hw.ncpu)"

For the Windows build, the source, the build scripts and the configuration are published by gyan.dev at the address above.

License texts

FFmpeg's own license documentation is part of the source tarball, in the files COPYING.LGPLv2.1, COPYING.GPLv3 and LICENSE.md. The applicable text for each platform is the one named in the table at the top of this page.

Questions, or a stale link: [email protected].