Static FFmpeg Build
sffmpeg
is a simple CMake-based full-featured FFmpeg build helper.
It currently works on Linux and other POSIX systems (with a few tweaks). It has been tested the most heavily on Linux/x86_64 (Ubuntu 18.04). This helper is regularly updated with the latest versions of the FFmpeg dependencies, and provides an effective way to build, test and compare multiple versions of FFmpeg on the same machine.
Build Dependencies
sffmpeg
requires the following software to be installed in order to build:
- a recent version of cmake (3.6+)
- a recent version of gcc/g++ (7.x+)
- the autoconf and automake utilities
- the pkg-config utility
A dependencies check is automatically performed and the build is aborted if a dependency is missing.
Usage
Just type the following commands at the shell prompt:
$ git clone https://github.com/pyke369/sffmpeg
$ cd sffmpeg
$ make
Then go grab a coffee (or maybe ten). The helper will compile all FFmpeg dependencies for you. Once done, you should get an
FFmpeg binary in the build/bin
directory (with all dependencies statically linked-in).
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
From there, you may use the binary immediately or build a Debian package for later deployment (see below).
Packaging
(requires the devscripts
package)
You may optionally build a Debian package by typing the following command at the shell prompt:
$ make deb
The ffmpeg
, ffprobe
and frmxtract
binaries will be installed by the package in the /usr/local/bin
directory.
$ sudo dpkg -i ../sffmpeg_5.1.2_amd64.deb
Selecting previously unselected package sffmpeg.
Unpacking sffmpeg (5.1.2) ...
Setting up sffmpeg (5.1.2) ...