Skip to main content

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
  • --build: The build type

    • Default: snapshot
    • Choices: release, snapshot
    • Environment Variable: $FFUP_BUILD
    • Commands: check, install, update
  • --arch: The machine architecture

    • Default: Auto-detect using platform.machine()
    • Choices: amd64, arm64
    • Environment Variable: $FFUP_ARCH
    • Commands: check, install, update
  • --os: The operating system

    • Default: Auto-detect using platform.system()
    • Choices: linux, macos
    • Environment Variable: $FFUP_OS
    • Commands: check, install, update
  • --dry-run: A flag to skip download/install, and only check for updates

    • Default: False
    • Commands: update
    • Note: ffup check is an alias for ffup update --dry-run

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) -> None
  • get_arch() -> Literal["amd64", "arm64"]
  • get_os() -> Literal["linux", "macos"]
  • bins: A set of binary names

    • Must contain one or more of "ffmpeg", "ffprobe", and "ffplay"
  • dry_run: A bool indicating whether to skip download/install

  • dir: A pathlib.Path to the installation directory

    • Must exist and be absolute
  • tempdir: A tempfile.TemporaryDirectory[str] used to store and extract the downloaded archives

  • progress: A rich.progress.Progress used to show progress bars in the terminal

  • client: A niquests.AsyncSession used to make HTTP requests

    • Must set parameter base_url to f"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

ffmpeg_update-3.1.2.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ffmpeg_update-3.1.2-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

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

Hashes for ffmpeg_update-3.1.2.tar.gz
Algorithm Hash digest
SHA256 216a3da463a2038e3096c1f9f02cfbe64a0ba854baac9e55820cce0e31625dfd
MD5 e46338f82e9c263c34df46cc584f4384
BLAKE2b-256 749e4f31dfcc5e3a46222be221a07fce94028a82eaea96e012b8ef46fd7f649c

See more details on using hashes here.

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

Hashes for ffmpeg_update-3.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 58b152d956dff8ffd1844dbd67057f3352962adac897dc29ab39245b4a6bd8d8
MD5 0e1e7b509269a63f882e09aede778dd9
BLAKE2b-256 cf4f8f366a285028e0952ac144e82269e8787b39ef716146cd9f52b0b80006f4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

3.1.2 This release

2 files

3.1.1

2 files

3.1.0

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.0.1

2 files

2.0.0

2 files

1.5.0

2 files

1.4.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page