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
| Platform | License | Where 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:
- Tarball: ffmpeg.org/releases/ffmpeg-6.1.1.tar.xz
- Repository tag:
n6.1.1at git.ffmpeg.org/ffmpeg.git
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].