ffmpy
A simple Python wrapper for FFmpeg
What it is and what it does
ffmpy provides a Pythonic interface to FFmpeg, the widely-used command-line media toolkit. Instead of constructing FFmpeg shell commands as strings, you instantiate an FFmpeg object with input and output file specifications, then call run() to execute the compiled command through Python's subprocess module. The package handles the details of building the correct command-line syntax, making it easier to integrate FFmpeg operations into Python workflows for tasks like video transcoding, format conversion, and media processing.
The package requires Python 3.9 or greater and has no external Python dependencies—it relies on FFmpeg being available on the system. It supports multiple operating systems (macOS, Windows, Linux, BSD) and Python implementations (CPython and PyPy), making it portable across common development and deployment environments.
Use it for:
- Convert video files between formats (e.g., MP4 to AVI) without manually writing FFmpeg command strings
- Build automated media processing pipelines that transcode audio or video in batch operations
- Integrate FFmpeg operations into larger Python applications for media manipulation
- Programmatically extract metadata or probe media files using ffprobe through a Python interface
- Create command-line tools or web services that need to process media files dynamically
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
ffmpy is a Python wrapper around FFmpeg that lets you build and execute FFmpeg command lines programmatically without writing shell commands directly.
Yes, if you need to work with FFmpeg from Python and want to avoid shell command construction. The package is stable, has no dependencies, installs easily, and supports modern Python versions. The aging maintenance status is a minor concern but not a blocker for a mature wrapper around a stable external tool. Verify that FFmpeg is available on your target system before relying on it.
Install
ffmpy on PyPI
pip
pip install ffmpyuv
uv add ffmpypoetry
poetry add ffmpyInstalling ffmpy
Before you install
Installation is straightforward with no runtime dependencies. The package is marked aging (276 days since last release), but it is classified as Production/Stable and supports current Python versions including 3.9 through 3.14.
License in practice
ffmpy is licensed under MIT, a permissive license that allows commercial and private use with minimal restrictions, making it safe to adopt in most projects.
Quickstart
pip install ffmpy
from ffmpy import FFmpeg
ff = FFmpeg(
inputs={'input.mp4': None},
outputs={'output.avi': None}
)
ff.run()
FFmpeg must be installed and available on the system PATH for ffmpy to execute commands.
Verify before relying
- Whether FFmpeg itself must be installed separately on the system before ffmpy can be used
- Whether ffprobe, ffplay, or ffserver support is fully implemented or partial
- Current state of the repository and maintainer responsiveness given the aging status
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 276 days since the last release |
| First released | |
| Downloads | 4,320,367/month — #2,330 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ffmpy-1.0.0-py3-none-any.whl
Keywords: ffmpeg, ffprobe, ffplay, ffserver, wrapper, media, audio, video, transcoding
Tags
More Multimedia packages
MoviePy is a Python library for video editing…
permissive · top 5,000 on PyPI
tinytagReads metadata (artist, title, duration,…
permissive · top 5,000 on PyPI
xhtml2pdfConverts HTML and CSS to PDF documents using…
permissive · top 5,000 on PyPI
piexifPiexif reads, writes, and manipulates EXIF…
permissive · top 5,000 on PyPI
torch-audiomentationsProvides PyTorch-native audio data augmentation…
permissive · top 5,000 on PyPI
artConverts text and generates one-line ASCII art…
permissive · top 5,000 on PyPI
ffmpegWraps FFmpeg and FFprobe command-line tools to…
permissive · top 15,000 on PyPI
ffmpeg-pythonffmpeg-python provides a Python interface to…
permissive · top 5,000 on PyPI
python-ffmpegProvides a Python binding for FFmpeg with both…
permissive · top 15,000 on PyPI
static-ffmpegInstalls ffmpeg v8 and ffprobe binaries for…
permissive · top 15,000 on PyPI
typed-ffmpegA Python wrapper around FFmpeg with full type…
permissive · top 15,000 on PyPI
python-mpvPython ctypes-based interface to the mpv media…
copyleft · top 15,000 on PyPI
ha-ffmpegProvides an asyncio-based Python interface to…
permissive · top 15,000 on PyPI
imageio-ffmpegProvides a simple Python wrapper around ffmpeg…
permissive · top 5,000 on PyPI
pymp4Parses and builds MP4 box structures from…
permissive · top 5,000 on PyPI