typed-ffmpeg
Modern Python & TypeScript FFmpeg wrappers with comprehensive typing (latest version)
What it is and what it does
typed-ffmpeg is a Python wrapper that brings type hints and IDE autocomplete to FFmpeg operations. Instead of building FFmpeg command strings or subprocess calls by hand, you construct filter graphs and I/O operations as Python objects with full type information, letting your editor catch mistakes before runtime.
The package depends on typed-ffmpeg-v8 at runtime and requires FFmpeg itself to be installed separately on your system. It supports Python 3.10 through 3.13 and is actively maintained. You build pipelines by chaining method calls—input files, filters like hflip or overlay, and output specifications—then call run() to execute the underlying FFmpeg process.
Use it for:
- Automate video transcoding workflows with type-safe filter chains in production scripts.
- Build interactive multimedia tools where IDE autocomplete helps discover available filters and codecs.
- Compose complex filter graphs (trim, concat, overlay) without manually writing FFmpeg filter syntax.
- Integrate video/audio processing into Python applications while catching filter configuration errors at edit time.
- Serialize and visualize filter graphs for debugging or documentation purposes.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python wrapper around FFmpeg with full type hints and IDE autocomplete support, letting you build video and audio processing pipelines with compile-time type checking.
Yes, if you regularly work with FFmpeg in Python and want type safety and IDE support. The low install friction, active maintenance, permissive license, and zero known vulnerabilities make it a solid choice. The main prerequisite is having FFmpeg installed separately on your system, which is a one-time setup cost.
Install
typed-ffmpeg on PyPI
pip
pip install typed-ffmpeguv
uv add typed-ffmpegpoetry
poetry add typed-ffmpegInstalling typed-ffmpeg
Before you install
Low friction install as a pure-Python wheel. Actively maintained with a recent release. Requires FFmpeg to be installed separately on your system.
License in practice
MIT license is permissive; you can use this in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install typed-ffmpeg
import ffmpeg
input_file = ffmpeg.input("input.mp4")
output_file = input_file.hflip().output("output.mp4")
output_file.run()
FFmpeg must be installed on your system; Python 3.10 or later required.
Verify before relying
- Whether the package provides meaningful runtime validation beyond type hints.
- Whether filter graph visualization and JSON serialization are fully documented and stable.
- Performance overhead of the wrapper compared to direct FFmpeg CLI calls.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — typed-ffmpeg-v8 |
| Maintenance | actively maintained — 39 days since the last release |
| First released | |
| Downloads | 93,626/month — #13,375 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: typed_ffmpeg-4.3-py3-none-any.whl
Keywords: ffmpeg, video, audio, multimedia, filter, typed
Tags
More Sound/Audio packages
Reads and writes audio files in formats like…
permissive · top 1,000 on PyPI
pydubPydub provides a high-level Python interface…
permissive · top 5,000 on PyPI
mutagenMutagen reads and writes audio metadata (tags)…
copyleft · top 5,000 on PyPI
torchaudioProvides PyTorch-based audio processing,…
permissive · top 5,000 on PyPI
moviepyMoviePy is a Python library for video editing…
permissive · top 5,000 on PyPI
tinytagReads metadata (artist, title, duration,…
permissive · top 5,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
ffmpyffmpy is a Python wrapper around FFmpeg that…
permissive · top 5,000 on PyPI
python-mpvPython ctypes-based interface to the mpv media…
copyleft · top 15,000 on PyPI
ffmpegWraps FFmpeg and FFprobe command-line tools to…
permissive · top 15,000 on PyPI
static-ffmpegInstalls ffmpeg v8 and ffprobe binaries for…
permissive · top 15,000 on PyPI
ha-ffmpegProvides an asyncio-based Python interface to…
permissive · top 15,000 on PyPI
torchcodecTorchCodec decodes and encodes videos, audio,…
unclear · top 5,000 on PyPI
imageio-ffmpegProvides a simple Python wrapper around ffmpeg…
permissive · top 5,000 on PyPI