moviepy
Video editing with Python
Decision gist · record as of 2026-08-14
Yes, if you need to automate video editing workflows in Python and can accept slower performance than raw ffmpeg. The low install friction, permissive license, and stable API make it a solid choice for scripted video tasks. The aging maintenance status (450 days since last release) is a minor concern but not a blocker given the Production/Stable classifier and active maintainers. Be aware of v2 breaking changes if upgrading from v1.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9+ and ffmpeg installed on the system (imageio_ffmpeg handles this on most platforms, but custom ffmpeg setups may need manual configuration).
- Low install friction with a pure-Python wheel distribution.
- Maintenance status is aging—last release was 450 days ago—though the project remains in Production/Stable status with active maintainers listed.
License · maintenance · safety
MIT License (permissive) — MIT License (permissive) means you can use, modify, and distribute MoviePy freely in commercial and private projects with minimal restrictions, provided you include the license notice.
last release 2025-05-21 (450 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 8,186,009 downloads/mo, #1,654 on PyPI
Alternatives
Verify before relying
pip install moviepy
from moviepy import VideoFileClip, TextClip, CompositeVideoClip
clip = VideoFileClip("video.mp4").subclipped(10, 20)
txt_clip = TextClip(text="Hello", font_size=70, color='white').with_duration(10)
final = CompositeVideoClip([clip, txt_clip])
final.write_videofile("output.mp4")- Whether v2's breaking changes affect common workflows or only edge cases.
- Performance characteristics for large video files or real-time processing.
- Current state of issue backlog and typical response time for bug reports.
What it is and what it does
MoviePy converts video and audio files into Python objects (numpy arrays) so you can access individual frames and apply effects programmatically. It handles reading multiple formats (mp4, webm, gif), compositing clips together, adding text overlays, adjusting volume, and writing the result back to disk. The library trades raw speed for flexibility—operations are slower than calling ffmpeg directly because of the overhead of importing and exporting media as arrays, but this makes it approachable for developers who want to script video workflows in pure Python.
The package depends on imageio for media I/O, imageio_ffmpeg to provide ffmpeg binaries, numpy for array operations, and several utility libraries (decorator, proglog, python-dotenv, pillow). It runs on Windows, Mac, and Linux with Python 3.9+. Version 2.2.1 is a recent stable release, though the project entered v2 with significant breaking changes from v1, so upgrading existing code may require work.
Use it for
- Batch-process video files: cut, concatenate, or resize multiple videos programmatically.
- Add dynamic overlays: insert text, images, or watermarks at specific times or positions.
- Generate animated GIFs from video clips or sequences of images.
- Build video pipelines: chain effects, transitions, and compositing operations in code.
- Extract and manipulate audio: adjust volume, mix tracks, or sync with video frames.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to automate video editing workflows in Python and can accept slower performance than raw ffmpeg.
The low install friction, permissive license, and stable API make it a solid choice for scripted video tasks. The aging maintenance status (450 days since last release) is a minor concern but not a blocker given the Production/Stable classifier and active maintainers. Be aware of v2 breaking changes if upgrading from v1.
Install
moviepy on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance status is aging—last release was 450 days ago—though the project remains in Production/Stable status with active maintainers listed. The v2 upgrade introduced breaking changes, so existing codebases may require migration effort.
Requires Python 3.9+ and ffmpeg installed on the system (imageio_ffmpeg handles this on most platforms, but custom ffmpeg setups may need manual configuration).
License in practice
MIT License (permissive) means you can use, modify, and distribute MoviePy freely in commercial and private projects with minimal restrictions, provided you include the license notice.
Quickstart
pip install moviepy
from moviepy import VideoFileClip, TextClip, CompositeVideoClip
clip = VideoFileClip("video.mp4").subclipped(10, 20)
txt_clip = TextClip(text="Hello", font_size=70, color='white').with_duration(10)
final = CompositeVideoClip([clip, txt_clip])
final.write_videofile("output.mp4")
Verify before relying
- Whether v2's breaking changes affect common workflows or only edge cases.
- Performance characteristics for large video files or real-time processing.
- Current state of issue backlog and typical response time for bug reports.
Package facts
| License | MIT License permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagesdecoratorimageioimageio_ffmpegnumpyproglogpython-dotenvpillow |
| Maintenance | Aging 450 days since the last release |
| First released | |
| Downloads | 8,186,009 / month, #1,654 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.9Topic :: MultimediaTopic :: Multimedia :: Sound/AudioTopic :: Multimedia :: Sound/Audio :: AnalysisTopic :: Multimedia :: VideoTopic :: Multimedia :: Video :: CaptureTopic :: Multimedia :: Video :: Conversion |
Evidence: moviepy-2.2.1-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 › “python video editing library”
- moviepyMoviePy is a Python library for video editing that reads, processes,…
- pyaaf2Read, write, and modify Advanced Authoring Format (AAF) files used in…
- OpenTimelineIOOpenTimelineIO provides an interchange format and Python API for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Multimedia packages
Reads metadata (artist, title, duration, bitrate, and more) from audio files in formats including MP3, MP4, FLAC, OGG, WAV, and others, without writing or modifying tags.
Install it if you need to extract metadata from audio files without the overhead of a heavier library.
Converts HTML and CSS to PDF documents using Python, enabling developers with web skills to generate PDF templates without learning specialized PDF libraries.
However, the aging maintenance status (last release 537 days ago) warrants caution in production: verify that its rendering quality and feature set meet your specific…
ffmpy is a Python wrapper around FFmpeg that lets you build and execute FFmpeg command lines programmatically without writing shell commands directly.
Piexif reads, writes, and manipulates EXIF metadata in JPEG and WebP images using pure Python with no compiled dependencies.
Install it if you need to read or edit EXIF in JPEG or WebP files without external dependencies.
Provides PyTorch-native audio data augmentation transforms that run on CPU or GPU, designed to integrate directly into neural network models as differentiable modules.
However, be aware that maintenance is aging (last release 576 days ago), multiprocessing and multi-GPU setups have known limitations, and some transforms have edge…
Converts text and generates one-line ASCII art symbols, rendering them as multi-line ASCII text using various fonts and decorative styles.
See also typed-ffmpeg · ffmpeg · mediapy · sk-video · imageio-ffmpeg · pyaaf2 · pymp4 · scikit-video · scenedetect