-
Notifications
You must be signed in to change notification settings - Fork 0
Home
A POSIX shell build system that compiles FFmpeg from source, together with ~110 modular dependency recipes, into an isolated prefix. Nothing outside the checkout is touched until you explicitly install.
This wiki carries the explanatory material: worked sequences, the reasoning behind a default, and the things that are true about a build but do not fit in a flag description.
The reference lives in the repository and stays there:
-
Documentation/usage.md— every flag, every accepted value -
Documentation/install.md— prefixes, and which one to choose -
Documentation/requirements.md— what the host must provide -
BUILDING.md— static builds per distribution, stamps, logs -
CONTRIBUTING.md— writing a recipe
That split is deliberate. The flag reference is checked on every push by a gate
that reads the in-tree files, and it is readable in an offline checkout at the
version you actually have. A wiki is a separate repository with no gate and no
version — so it may grow freely, but it never becomes the place a flag is
defined. Pages here link to usage.md rather than restating it.
- Worked examples — start here. Goal-shaped sequences: a first build, the codecs most people want, a debuggable build, a portable static binary, pinning to an FFmpeg release, retrying one failed package.
- Choosing implementations — the six mutex groups, the six-rung precedence ladder, where your choices get stored, and the one exception that jumps the ladder.
-
Debug builds and split DWARF — what
--debugactually produces, why the installed prefix is no longer self-contained, and the quiet way to lose your debug information.
git clone https://github.com/crippledgeek/mediaforge.git
cd mediaforge
./mediaforge.sh build # free codecs only, into ./workspace
./mediaforge.sh install # interactive prefix menuPrefer an isolated prefix such as ~/.local/mediaforge, and do not wrap
install in sudo for a prefix you own — the installer elevates itself only
when the destination needs it. See
Worked examples for why that matters.