FFmpeg-update is a package manager for the FFmpeg suite, available as both a CLI tool and a Python library. It fetches pre-built, static binaries published by Martin Riedl.
[!NOTE] Supported Platforms (Upstream): Linux amd64, Linux arm64v8, macOS Intel (Deprecated), Apple Silicon
Features
- Atomic installation
- Concurrent downloads
- Download progress bars
- Configurable installation directory
- Latest release and snapshot builds available
- Automatic sudo escalation for privileged installation directory
- Automatic operating system and machine architecture detection
Installation
pip install ffmpeg-update
The installation provides the ffup executable.
CLI Reference
Usage
ffup <install|update [--dry-run]|check|uninstall> [OPTIONS] [ffmpeg] [ffprobe] [ffplay]
Alternatively, can be invoked as a module with python -m ffmpeg_update <COMMAND>.
[!TIP] Multiple names can be passed, e.g.,
ffup install ffmpeg ffprobe
[!NOTE] Default is
ffmpeg, if no name is passed
Parameters
-
--dir: The path to the installation directory- Default:
~/.local/bin - Environment variable:
$FFUP_DIR,$XDG_BIN_HOME - Commands:
check,install,uninstall,update
- Default:
-
--build: The build type- Default:
snapshot - Choices:
release,snapshot - Environment Variable:
$FFUP_BUILD - Commands:
check,install,update
- Default:
-
--arch: The machine architecture- Default: Auto-detect using
platform.machine() - Choices:
amd64,arm64 - Environment Variable:
$FFUP_ARCH - Commands:
check,install,update
- Default: Auto-detect using
-
--os: The operating system- Default: Auto-detect using
platform.system() - Choices:
linux,macos - Environment Variable:
$FFUP_OS - Commands:
check,install,update
- Default: Auto-detect using
-
--dry-run: A flag to skip download/install, and only check for updates- Default:
False - Commands:
update - Note:
ffup checkis an alias forffup update --dry-run
- Default:
API Reference
Functions
- async
update(bins = {"ffmpeg"}, /, *, dry_run = False, dir, tempdir, progress, client) -> None - async
install(bins = {"ffmpeg"}, /, *, dir, tempdir, progress, client) -> None uninstall(bins = {"ffmpeg"}, /, *, dir) -> Noneget_arch() -> Literal["amd64", "arm64"]get_os() -> Literal["linux", "macos"]
bins: Asetof binary names
- Must contain one or more of
"ffmpeg","ffprobe", and"ffplay"
dry_run: Aboolindicating whether to skip download/install
dir: Apathlib.Pathto the installation directory
- Must exist and be absolute
tempdir: Atempfile.TemporaryDirectory[str]used to store and extract the downloaded archives
progress: Arich.progress.Progressused to show progress bars in the terminal
client: Aniquests.AsyncSessionused to make HTTP requests
- Must set parameter
base_urltof"https://ffmpeg.martin-riedl.de/redirect/latest/{os}/{arch}/{build}/"build:"release","snapshot"arch:"amd64","arm64"os:"linux","macos"
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ffmpeg_update-3.1.2.tar.gz.
File metadata
- Download URL: ffmpeg_update-3.1.2.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
216a3da463a2038e3096c1f9f02cfbe64a0ba854baac9e55820cce0e31625dfd
|
|
| MD5 |
e46338f82e9c263c34df46cc584f4384
|
|
| BLAKE2b-256 |
749e4f31dfcc5e3a46222be221a07fce94028a82eaea96e012b8ef46fd7f649c
|
File details
Details for the file ffmpeg_update-3.1.2-py3-none-any.whl.
File metadata
- Download URL: ffmpeg_update-3.1.2-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58b152d956dff8ffd1844dbd67057f3352962adac897dc29ab39245b4a6bd8d8
|
|
| MD5 |
0e1e7b509269a63f882e09aede778dd9
|
|
| BLAKE2b-256 |
cf4f8f366a285028e0952ac144e82269e8787b39ef716146cd9f52b0b80006f4
|