skillfed

static-ffmpeg

Cross platform ffmpeg to work on various systems.

static-ffmpeg v3.0 233.8K downloads/30d#9,033 on PyPI
Permissive license MIT AGING released

What it is and what it does

static-ffmpeg solves the problem of distributing Python tools that depend on ffmpeg without requiring users to install ffmpeg separately on their system. It downloads pre-built ffmpeg v8 and ffprobe binaries for your platform (Windows x64, macOS Intel/Apple Silicon, Linux x64/ARM64) on first use and makes them available either by adding them to the system PATH or by providing direct command-line aliases and API methods to locate the binaries.

You can use it three ways: call add_paths() to inject the static ffmpeg into your environment, invoke static_ffmpeg or static_ffprobe as command-line tools, or use the API to fetch the binary paths directly. The download happens once per platform and is cached, so subsequent calls are fast. It requires no elevated permissions and works in virtual environments.

Use it for:

  • Distribute a Python video-processing tool that needs ffmpeg without asking users to install it separately.
  • Build a CI/CD pipeline that transcodes media files and needs ffmpeg available in a containerized environment.
  • Create a command-line utility that wraps ffmpeg and wants to work out-of-the-box on Windows, macOS, and Linux.
  • Develop a Python library that probes video metadata using ffprobe without depending on system ffmpeg availability.
  • Package a web service that processes video uploads and needs ffmpeg available in a serverless or ephemeral compute environment.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Installs ffmpeg v8 and ffprobe binaries for your platform on first use, making them available to Python code or the command line without requiring a separate system-level ffmpeg installation.

Yes, if you are distributing a Python tool or library that depends on ffmpeg and want to eliminate the friction of users installing ffmpeg separately. The package is stable, has low install friction, and covers the major platforms. The aging maintenance status is a minor concern—check that ffmpeg v8 meets your codec and feature needs—but the core functionality is unlikely to break. Not necessary if ffmpeg is already installed on your target systems or if you control the deployment environment.

Install

static-ffmpeg on PyPI

pip

pip install static-ffmpeg

uv

uv add static-ffmpeg

poetry

poetry add static-ffmpeg

Installing static-ffmpeg

Before you install

Low friction: pure Python wheel with four lightweight runtime dependencies (requests, filelock, progress, twine). Maintenance status is aging—last release was 210 days ago—so updates may be infrequent, but the package appears stable for its core function.

License in practice

MIT license is permissive, allowing use in commercial and private projects with minimal restrictions; you must retain the license notice in distributions.

Quickstart

pip install static-ffmpeg

import static_ffmpeg
static_ffmpeg.add_paths()  # downloads and installs ffmpeg v8 on first call

import os
os.system("ffmpeg -i input.mp4 output.mp3")

First call to add_paths() or any static_ffmpeg command will block while downloading the platform-specific ffmpeg binary (typically tens of MB); network access required.

Verify before relying

  • Whether the download timeout of 10 minutes (mentioned in release history) is sufficient for all network conditions.
  • Exact size of downloaded binaries for each platform after v8.0 upgrade.
  • Thread-safety guarantees beyond what the description states for concurrent add_paths() calls.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.6.0)
Install friction low — pure-Python wheel
Runtime dependencies 4 — requests, filelock, progress, twine
Maintenance aging — 210 days since the last release
First released
Downloads 233,830/month — #9,033 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: static_ffmpeg-3.0-py3-none-any.whl

Environment :: ConsoleLicense :: OSI Approved :: MIT LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.9

Tags

ffmpeg python wrapperinstall ffmpeg programmaticallycross-platform ffmpeg binaryffmpeg without system installffprobe python packagestatic ffmpeg binariesffmpeg for python tools
ffmpeg-distributioncross-platform-binary

More Utilities packages