ffmpeg
ffmpeg python package url [https://github.com/jiashaokun/ffmpeg]
What it is and what it does
This package provides a Python interface to FFmpeg and FFprobe, letting you programmatically perform video and image operations without writing raw command-line calls. It handles tasks like inserting static images or animated GIFs into videos at specific timestamps and coordinates, converting image sequences into video files, and overlaying text watermarks. The package offers both simple function calls for common operations and a fluent Stream API for chaining multiple transformations together.
The package depends entirely on external FFmpeg and FFprobe binaries installed on your system—it has no Python runtime dependencies. However, it has been unmaintained since October 2018, meaning it may not work reliably with current FFmpeg versions, modern Python releases, or GPU acceleration features without manual fixes.
Use it for:
- Insert multiple images or GIFs into a video at specific times and screen positions
- Convert a numbered sequence of image files into a video file with a specified duration
- Add text watermarks to videos with custom fonts, colors, and time ranges
- Chain multiple video transformations (images, animations, subtitles, watermarks) in one operation
- Enable GPU-accelerated video encoding on Mac or NVIDIA systems to speed up processing
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Wraps FFmpeg and FFprobe command-line tools to programmatically manipulate video and image files from Python, supporting operations like inserting images and GIFs into videos, converting image sequences to video, and adding text watermarks.
No. The package is abandoned (last release October 2018) and has no Python runtime dependencies to insulate it from FFmpeg API drift. Unless you are working with an old, fixed FFmpeg version and can patch the package yourself, you should use a maintained FFmpeg wrapper or call FFmpeg directly via subprocess. The high install friction combined with zero maintenance makes this a liability rather than a convenience.
Install
ffmpeg on PyPI
pip
pip install ffmpeguv
uv add ffmpegpoetry
poetry add ffmpegInstalling ffmpeg
Before you install
Installation requires FFmpeg 3.0+ and FFprobe 3.0+ as system dependencies before the package can be used. The package has been abandoned since October 2018 with no maintenance for an extended period, so expect no bug fixes or compatibility updates for modern Python or FFmpeg versions.
License in practice
Licensed under MIT Licence (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
# Install: requires FFmpeg 3.0+ and FFprobe 3.0+ system binaries first
pip install ffmpeg
from ffmpeg import video
input_file = "demo.mp4"
out_file = "demo_out.mp4"
img_data = [{"img": "demo1.png", "x": "", "y": "", "str_time": "5", "end_time": "15"}]
video.ins_img(input_file, img_data, out_file)
FFmpeg 3.0+ and FFprobe 3.0+ must be installed as system binaries and available in PATH before this package can function.
Verify before relying
- Whether the package actually works with FFmpeg versions significantly newer than 3.0, given the long abandonment period
- Compatibility with Python versions beyond 3.0, since the fact sheet does not specify which modern versions are tested
- Whether GPU acceleration features (mentioned for Mac and NVIDIA) remain functional or require additional setup
Package facts
| License | MIT Licence (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,867 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 454,903/month — #6,564 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ffmpeg-1.4.tar.gz
Keywords: python, ffmpeg
Tags
More Graphics packages
Pillow adds image processing capabilities to…
permissive · top 100 on PyPI
fonttoolsfonttools manipulates font files in multiple…
permissive · top 1,000 on PyPI
matplotlib-inlineEnables matplotlib figures to display inline…
permissive · top 1,000 on PyPI
pymupdfPyMuPDF extracts, renders, converts, and…
agpl · top 1,000 on PyPI
pypdfium2pypdfium2 is a Python binding to PDFium that…
permissive · top 1,000 on PyPI
altairAltair is a declarative Python library for…
permissive · top 1,000 on PyPI
ffmpyffmpy is a Python wrapper around FFmpeg that…
permissive · top 5,000 on PyPI
static-ffmpegInstalls ffmpeg v8 and ffprobe binaries for…
permissive · top 15,000 on PyPI
ffmpeg-pythonffmpeg-python provides a Python interface to…
permissive · top 5,000 on PyPI
moviepyMoviePy is a Python library for video editing…
permissive · top 5,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
typed-ffmpegA Python wrapper around FFmpeg with full type…
permissive · top 15,000 on PyPI
torchcodecTorchCodec decodes and encodes videos, audio,…
unclear · top 5,000 on PyPI
knowitExtracts detailed metadata from media files…
permissive · top 15,000 on PyPI
mediapyMediapy reads, writes, and displays images and…
permissive · top 5,000 on PyPI