Skip to main content

Portable FFmpeg

Downloads static FFmpeg builds for Windows, macOS, and Linux.

  • Supports Windows, macOS, and Linux
  • Supports x86_64 architecture on all platforms, ARM64 on macOS and Linux
  • Automatic platform detection and binary caching
  • Explicit FFmpeg 9.0 support on Windows amd64, Linux amd64/arm64, and macOS amd64/arm64

Usage

Python API

from portable_ffmpeg import get_ffmpeg

ffmpeg_path, ffprobe_path = get_ffmpeg()
print(ffmpeg_path)  # Path to ffmpeg executable

Command Line Interface

After installation, you can use static_ffmpeg and static_ffprobe directly from the command line:

# Use static ffmpeg
static_ffmpeg -i input.mp4 output.mp3

# Use static ffprobe
static_ffprobe -v quiet -print_format json -show_format input.mp4

# Print paths to the binaries
print_paths

The CLI commands automatically download and cache the appropriate static binaries for your platform.

PATH Management

You can also programmatically manage your PATH:

from portable_ffmpeg import add_to_path, remove_from_path

# Add FFmpeg binaries to PATH
add_to_path()

# Add only if FFmpeg is not already available (weak mode)
add_to_path(weak=True)

# Remove from PATH
remove_from_path()

Sources of Static Builds

This package downloads static FFmpeg binaries from the following trusted sources:

Windows (x86_64)

  • Source: BtbN FFmpeg Builds
  • Description: GitHub Actions-built GPL static binaries with daily automated releases and tagged version builds
  • Versions: LATEST is the rolling BtbN master build; V9 and V8 select the rolling BtbN 9.0 and 8.1 assets
  • V7: BtbN only keeps its two newest release branches in latest, so V7 is pinned to the last tagged 7.1 build (autobuild-2026-07-31-14-10, FFmpeg 7.1.5)

Linux (x86_64 and arm64)

macOS

FFmpeg 9.0.2 (Intel and Apple Silicon)

  • Source: Martin Riedl's FFmpeg Build Server
  • LATEST and V9: Both select the verified stable FFmpeg 9.0.2 release assets below. Each asset has a matching .sha256 sidecar.
  • License: The verified macOS V9 binaries report GPLv3.
Architecture FFmpeg FFprobe
Intel (amd64) https://ffmpeg.martin-riedl.de/download/macos/amd64/1789931006_9.0.2/ffmpeg.zip https://ffmpeg.martin-riedl.de/download/macos/amd64/1789931006_9.0.2/ffprobe.zip
Apple Silicon (arm64) https://ffmpeg.martin-riedl.de/download/macos/arm64/1789931890_9.0.2/ffmpeg.zip https://ffmpeg.martin-riedl.de/download/macos/arm64/1789931890_9.0.2/ffprobe.zip

The existing OSXExperts mappings remain available for explicit V8 and V7 selections.

Version coverage

Selector Windows amd64 Linux amd64/arm64 macOS amd64/arm64
LATEST BtbN rolling master BtbN rolling master Martin Riedl stable 9.0.2
V9, V8 BtbN rolling 9.0/8.1 BtbN rolling 9.0/8.1 Martin Riedl stable 9.0.2 / OSXExperts 8.0
V7 BtbN pinned 7.1.5 BtbN pinned 7.1.5 OSXExperts 7.x
V6, V5 Not configured Existing John Van Sickle mappings Not configured

Alternative Sources

The following sources provide FFmpeg static builds but are not currently used by this package:

  • EverMeet FFmpeg

    • Platforms: macOS only
    • Architectures: x86_64
    • Description: Long-standing macOS static builds provider
  • FreeBSD FFmpeg Static

    • Platforms: FreeBSD only
    • Architectures: Various
    • Description: Static builds specifically for FreeBSD systems
  • John Van Sickle

    • Platforms: Linux
    • Architectures: x86_64, ARM64, i686, armhf, armel
    • Description: Static Linux builds (used for legacy V5/V6 version support)

Caching

Downloaded binaries are cached in the package's binaries/ directory to avoid re-downloading. Each virtual environment gets its own copy of the binaries.

The cache is organized by platform and architecture (e.g., linux-amd64, windows-amd64, osx-arm64).

Cache Management

from portable_ffmpeg import clear_cache

# Clear all cached binaries
clear_cache()

Or use the command line:

clear_cache

Metadata

Release files for portable-ffmpeg 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for portable-ffmpeg 0.4.0
File Size Uploaded Provenance Actions
portable_ffmpeg-0.4.0.tar.gz 42.3 kB Without provenance Details for portable_ffmpeg-0.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for portable-ffmpeg 0.4.0
File Interpreter ABI Platform Actions
portable_ffmpeg-0.4.0-py3-none-any.whl Python 3 none any Details for portable_ffmpeg-0.4.0-py3-none-any.whl

Total release size: 51.5 kB

Release files / portable_ffmpeg-0.4.0.tar.gz

Download URL portable_ffmpeg-0.4.0.tar.gz
Size 42.3 kB
Tags Source
SHA-256 checksum
How to use checksums
036741ebce858fe4ef96543f48c6968489f4dd3d683b2e3b9bfe303fe7ac2a43
BLAKE2b-256 checksum
How to use checksums
9b8712508ec14564542a85ea013472f9f6935d95c6724dbd314821ff9e9e1074
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / portable_ffmpeg-0.4.0-py3-none-any.whl

Download URL portable_ffmpeg-0.4.0-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5929d2d0ad730b8d5fd54f5c97ca67511784cf79e594eddef996e5518cc99f44
BLAKE2b-256 checksum
How to use checksums
bdd3b1004286e0c46b6cff48ecab640f10cde78e4a1db4879d133e0095edb069
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for portable-ffmpeg 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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