Script-based movie editing with python
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 613 commits behind Zulko:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



MoviePy (full documentation here) is a Python module for script-based movie editing.

It can read and write to many formats, including animated GIFs, and enables basic operations (cuts, concatenations, title insertions) to be done in a few lines. It can also be used for advanced compositing.

A typical MoviePy script looks like that:

from moviepy.editor import *

# Load myHolidays.mp4 and select the subclip 00:00:50 - 00:00:60
clip = VideoFileClip("myHolidays.mp4").subclip(50,60)

# Generate a text clip (many options available ! )
txt_clip = TextClip("My Holidays 2013",fontsize=70,color='white')
txt_clip = txt_clip.set_pos('center').set_duration(10)

# Overlay the text clip above the first clip
final_clip = CompositeVideoClip([clip, txt_clip])

# write the result to a file in any format
final_clip.to_videofile("myHolidays_edited.avi",fps=25, codec='mpeg4')

MoviePy is an open-source software originally written by Zulko and released under the MIT licence. The project is hosted on Github , where everyone is welcome to contribute and give feedback.

Download and Installation

MoviePy requires the Python modules Numpy, Decorator, and tqdm. All of these will all be automatically installed during MoviePy's installation.

You will also need a recent version of the software ffmpeg , preferably downloaded directly from the ffmpeg website.

If you intend to use advanced features you must install a few other dependencies like ImageMagick , Pygame etc. (see the docs).

First installation method : if you have pip installed, just type this in a terminal (sudo is optional on some systems)

(sudo) pip install moviepy

Second method : by hand. Download the sources, either on PyPI or (if you want the development version) on Github, unzip everything in one folder, open a terminal and type

(sudo) python install

Linking to ffmpeg

If you put have a ffmpeg binary in you executable folder (on Linux it will be /usr/bin) it will be detected automatically by MoviePy. Else make sure that MoviePy can locate ffmpeg on your computer by running the script moviepy/ that is in the sources. It it fails, then you must enter the path to the FFMPEG executable in the first line of this file

FFMPEG_BINARY = path/to/your/ffmpeg