Skip to main content

Downloads static ffmpeg builds for Windows, macOS, and Linux

Project description

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

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) and Linux (x86_64 and arm64)

  • Source: BtbN FFmpeg Builds
  • Description: GitHub Actions-built GPL static binaries with daily automated releases, supporting tagged version builds (8.0, 7.1)
  • Versions: LATEST (master), V8 (8.0), V7 (7.1)
  • Legacy V5/V6 (Linux only): Older builds are sourced from John Van Sickle

macOS

Intel (x86_64)

  • Source: OSXExperts.net
  • URLs:
    • FFmpeg: https://www.osxexperts.net/ffmpeg80intel.zip
    • FFprobe: https://www.osxexperts.net/ffprobe80intel.zip
  • Description: Static FFmpeg 8.0 binaries for macOS Intel processors

Apple Silicon (arm64)

  • Source: OSXExperts.net
  • URLs:
    • FFmpeg: https://www.osxexperts.net/ffmpeg80arm.zip
    • FFprobe: https://www.osxexperts.net/ffprobe80arm.zip
  • Description: Static FFmpeg 8.0 binaries optimized for Apple Silicon processors

Alternative Sources

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

  • CODEX FFMPEG @ gyan.dev

    • Platforms: Windows only
    • Architectures: x86_64
    • Description: Official Windows builds with essentials and full variants
  • FFmpeg Martin Riedl

    • Platforms: macOS, Linux
    • Architectures: x86_64, ARM64
    • Description: Regularly updated static builds with comprehensive codec support
  • 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

portable_ffmpeg-0.2.0.tar.gz (32.8 kB view details)

Uploaded Source

Built Distribution

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

portable_ffmpeg-0.2.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file portable_ffmpeg-0.2.0.tar.gz.

File metadata

  • Download URL: portable_ffmpeg-0.2.0.tar.gz
  • Upload date:
  • Size: 32.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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}

File hashes

Hashes for portable_ffmpeg-0.2.0.tar.gz
Algorithm Hash digest
SHA256 727793d625128a33b6e7c2a9143d9ef9399781344aade848cebfc56357ba4c7c
MD5 9cbf9075319c3b2d318e5f1333f9f2f1
BLAKE2b-256 38a380798d3050b6533041d1ba30957cfaccebe3d8a631a05493d59d809ce9f1

See more details on using hashes here.

File details

Details for the file portable_ffmpeg-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: portable_ffmpeg-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","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}

File hashes

Hashes for portable_ffmpeg-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec3963b3f49849b54a26f687d89ee0a3534e46e87644e08bd59b0a706fdf7c6f
MD5 623e297803b4aee081790a19e867e894
BLAKE2b-256 09089dca3d72455dc456d01573353ddb613e0d1fa89d42e1839210f91e5341ed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page