ffmpeg-python
Python bindings for FFmpeg - with complex filtering support
Decision gist · record as of 2026-08-14
Yes, with caution. The package is stable and widely used for translating complex FFmpeg operations into readable Python code, with low install friction and permissive licensing. However, dormancy since 2019-07-06 means no active maintenance and potential compatibility issues with recent FFmpeg releases. Install it if you need to programmatically build FFmpeg filter graphs and can accept that bugs or incompatibilities may not be fixed upstream.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- FFmpeg must be installed separately and accessible via $PATH; ffmpeg-python is a wrapper only and does not bundle FFmpeg itself.
- Low install friction with a single pure-Python dependency (future).
- However, the package is dormant—last release was 2019-07-06, over 2596 days ago, with no updates despite an active repository (last commit 2024-08-04).
License · maintenance · safety
permissive license (permissive) — Licensed under Apache License (permissive), which allows commercial and private use with minimal restrictions—suitable for most projects.
last release 2019-07-06 (2596 days) · last repo commit 2024-08-04 · 11,004 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 10,087,968 downloads/mo, #1,483 on PyPI
Alternatives
Verify before relying
pip install ffmpeg-python
import ffmpeg
stream = ffmpeg.input('input.mp4')
stream = ffmpeg.hflip(stream)
stream = ffmpeg.output(stream, 'output.mp4')
ffmpeg.run(stream)- Whether the package works reliably with modern Python versions beyond those listed in classifiers
- Whether dormancy affects compatibility with recent FFmpeg releases or introduces undiscovered bugs
- Whether the future dependency is actively maintained or itself dormant
What it is and what it does
ffmpeg-python is a pure-Python wrapper that translates Python code into FFmpeg command-line arguments, designed to make complex audio and video filter graphs readable and maintainable. Instead of constructing unwieldy shell commands with filter_complex strings, you build a signal graph in Python using method chaining or explicit filter calls, and the library generates the corresponding FFmpeg invocation. It handles arbitrarily large directed-acyclic graphs, multiple inputs and outputs, and supports both shorthand notation for common filters (like concat, hflip, overlay) and a generic .filter() operator for any FFmpeg filter.
The package depends only on future for Python 2/3 compatibility and requires FFmpeg to be installed separately on the system. It has been dormant since 2019-07-06 but remains widely used and has no known security vulnerabilities. The main trade-off is that you are responsible for understanding FFmpeg's filter semantics—ffmpeg-python merely translates your Python calls into the correct command-line form.
Use it for
- Build complex video editing pipelines with multiple inputs, overlays, and filters without writing shell commands
- Generate thumbnails or convert video formats with simple Python code instead of constructing ffmpeg CLI strings
- Stream audio or video through processing chains (e.g., reading raw PCM or piping to machine learning models)
- Programmatically compose filter graphs that would be impractical to write by hand in ffmpeg's filter_complex syntax
- Preserve audio streams while applying video filters by referencing .audio and .video portions separately
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with caution.
The package is stable and widely used for translating complex FFmpeg operations into readable Python code, with low install friction and permissive licensing. However, dormancy since 2019-07-06 means no active maintenance and potential compatibility issues with recent FFmpeg releases. Install it if you need to programmatically build FFmpeg filter graphs and can accept that bugs or incompatibilities may not be fixed upstream.
Install
ffmpeg-python on PyPI
Before you install
Low install friction with a single pure-Python dependency (future). However, the package is dormant—last release was 2019-07-06, over 2596 days ago, with no updates despite an active repository (last commit 2024-08-04). It remains popular (top 5000 on PyPI with approximately 10 million monthly downloads) but receives no active maintenance.
FFmpeg must be installed separately and accessible via $PATH; ffmpeg-python is a wrapper only and does not bundle FFmpeg itself.
License in practice
Licensed under Apache License (permissive), which allows commercial and private use with minimal restrictions—suitable for most projects.
Quickstart
pip install ffmpeg-python
import ffmpeg
stream = ffmpeg.input('input.mp4')
stream = ffmpeg.hflip(stream)
stream = ffmpeg.output(stream, 'output.mp4')
ffmpeg.run(stream)
Verify before relying
- Whether the package works reliably with modern Python versions beyond those listed in classifiers
- Whether dormancy affects compatibility with recent FFmpeg releases or introduces undiscovered bugs
- Whether the future dependency is actively maintained or itself dormant
Package facts
| License | permissive license permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagefuture |
| Maintenance | Dormant 2,596 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 10,087,968 / month, #1,483 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6 |
Evidence: ffmpeg_python-0.2.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “video filter graph python”
- ffmpeg-pythonffmpeg-python provides a Python interface to FFmpeg that translates…
- typed-ffmpegA Python wrapper around FFmpeg with full type hints and IDE…
- pygrabberCapture photos and video from Windows cameras using DirectShow,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Graphics packages
Pillow adds image processing capabilities to Python, providing file format support, efficient pixel data handling, and image manipulation operations.
Install it if you need to work with images in Python—it is the de facto standard for this task.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Enables matplotlib figures to display inline directly within Jupyter notebooks and IPython environments instead of in separate windows.
PyMuPDF extracts, renders, converts, and manipulates PDF and other document formats (XPS, EPUB, images, Office files via Pro) with high performance, providing text, tables, images, and metadata with precise layout information.
The AGPL license requires careful review if you are building proprietary software—commercial licensing is available from Artifex.
pypdfium2 is a Python binding to PDFium that enables PDF rendering, inspection, manipulation, and creation through a ctypes interface to Google's PDFium library.
Install it if you need PDF rendering, inspection, or manipulation in Python; the medium install friction is offset by comprehensive platform support.
Altair is a declarative Python library for creating interactive statistical visualizations by writing simple, readable code that compiles to Vega-Lite specifications.
See also ffmpy · ha-ffmpeg · python-ffmpeg · typed-ffmpeg · ffmpeg · python-mpv · static-ffmpeg · imageio-ffmpeg · streamlink · moviepy