zulko/moviepy

Video editing with Python

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 30 minutes ago
Added to GitGenius on September 4th, 2026
Created on August 12th, 2013
Open Issues & Pull Requests: 89 (+0)
GitHub issues: Enabled
Number of forks: 2,099
Total Stargazers: 14,889 (+0)
Total Subscribers: 257 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.2 days
Mean response time: 208.2 days
90th percentile: 707.2 days
Tracked items: 634

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "environment" is answered fastest, typically in about 3 days, while "performance" waits about 9 weeks. Only 4% of issues opened in the past year have been closed. Three people close 89% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 63
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 429 days
Stale 30+ days: 61
Stale 90+ days: 53

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (314)
  • question (181)
  • video (130)
  • feature-request (77)
  • audio (74)
  • images (64)
  • text (63)
  • lib-FFmpeg (55)

Detailed Description

MoviePy is a Python library for video editing that enables cuts, concatenations, compositing, and custom effects through a programmatic interface.

The library solves the problem of programmatic video manipulation by converting media files into Python objects—specifically numpy arrays—that make individual pixels directly accessible. This approach allows video and audio effects to be defined in just a few lines of code. MoviePy handles reading and writing common formats including MP4, WebM, and GIF across Windows, Mac, and Linux with Python 3.9 and later. The final edited clip is encoded back into the desired output format. The tradeoff is that this flexibility comes at a performance cost compared to using ffmpeg directly, since the import and export operations are heavier.

MoviePy suits developers who prioritize ease of use and code expressiveness over raw speed, particularly for tasks like adding titles to videos, compositing multiple clips with transparency, or applying custom effects. It works well for automation scripts, educational projects, and workflows where the ability to manipulate video programmatically in Python outweighs performance concerns. The library is not positioned as a replacement for ffmpeg but rather as a higher-level abstraction that makes video editing accessible to Python developers.

The project underwent a major architectural overhaul with the v2 release, which introduced breaking changes and represents a significant modernization effort. Active maintenance continues with multiple maintainers collaborating on the codebase. The project maintains public documentation that is automatically built with each update to the main branch, and it actively solicits community contributions through established guidelines and a dedicated discussion channel.