Audio and video · Edition No. 31 · 25 Sep 2026

Zulko/moviepy

Video editing described as a short Python program instead of done by hand.

← Audio and videoRead the whole edition →

14.9k stars · MIT · v2.2.1 (2025-05-21) · Track this in Scout

Programmatic video editing in Python — batch intros, burned-in subtitles, format conversion.

▶Repo detailsthe review · specs · pros & cons · install

What it is

MoviePy is a Python library for cutting, joining, compositing and exporting video. It wraps FFmpeg, the standard tool for moving video between formats, and adds text, images, transitions and effects as objects you can put together in code.

What it is good for. Repetitive video work of any kind: putting the same intro on every episode, burning subtitles into a batch of clips, cutting a long recording into sections at known timestamps, or producing five sizes of the same video for five places.

Stars14.9k
LicenceMIT
Latestv2.2.1 (2025-05-21)checked 7 Sep 2026
Written inPython
Good
  • The edit becomes a file you can keep, read and change, so next month's batch is one command rather than an afternoon.
  • MIT licence, and code last landed on 26 August 2026.
  • Version 2 is a substantial rewrite, so the current interface is cleaner than the tutorials written for version 1.
Watch for
  • Version 2 changed a lot. Almost every older example on the internet is written for version 1 and will not run without edits.
  • It is slow on long videos, because every frame passes through Python. A straight format conversion is faster done with FFmpeg directly.
  • The last release is v2.2.1, dated 21 May 2025, sixteen months ago, although code has kept landing since.
Similar repositories
Install
python3 -m venv venv
source venv/bin/activate
pip install moviepy
# ffmpeg must also be installed, e.g.
sudo apt install ffmpeg        # Debian/Ubuntu
brew install ffmpeg            # macOS
Screenshots
Zulko/moviepy: GitHub preview card

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.