MoviePy: Python Video Editing Library

MoviePy: Python Video Editing Library

Hello Learners! Today we will learn what is MoviePy module in Python and how to use it as a Python video editing library. Have you heard about the ‘MoviePy’ module in Python which allows us to manage video editing, right?

We all know that Python has a vast set of libraries and techniques which makes the programming language open-source and special. Today, in this tutorial we will be learning a very interesting way of editing videos in Python with the MoviePy module.

What is MoviePy Module in Python?

MoviePy is a Python library for video editing i.e. cutting, concatenations, title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects. It can add watermarks on the video and other text items as per your preferences.

Might y’all have heard of FFMPEG or ImageMagick for image and video edition in a programmatic way, Isn’t it?

MoviePy is open-source software originally written by Zulko and released under the MIT license. It can read and write all the most common audio and video formats, including GIF, and runs on Windows/Mac/Linux, with Python 2.7+ and 3 (or only Python 3.4+ from v.1.0).

Thus, the module is quite good for an editing job or purpose where you know exactly what you want to do.

Installation of MoviePy module in Python

To implement moviepy module in Python, we need to install the package moviepy. This module comes with PyPI, so it can be installed through pip in cmd:

pip install moviepy

This will install your moviepy module.

Now, let’s get started by importing the libraries. We need to import the moviepy module to make it ready for editing by using the following command:

from moviepy.editor import *

After you have successfully installed and imported the module, we are all set to implement the module.

To load the video, first, let’s grab the video. For this tutorial, I will be using mp4 format, you can choose any video you like as moviepy module supports a variety of video formats. We will use the function VideoFileClip and inside the method, we are adding the path of the video file as a parameter.

clip = VideoFileClip(r"C:\Users\HP\Downloads\vdo.mp4")

NOTE: Please make sure that you specify the FULL PATH of the video you’ll provide. Here before the path, I’ve used ‘r’ because as the program includes Unicode UTF-8, the ‘/’ character we’ll use in the path will know as an escape sequence. Hence, to avoid this, either use ‘//’ in the path in place of ‘/’ or use ‘r’ before the path.

We can also get the size of the video file. It is nothing but the dimensions of the video, normally the higher the dimension of the video, the higher the quality of the video. In order to get the size of the video clip we will use the size attribute with the VideoFileClip object.


Loading video using Python Video Editing Library

Let’s see how it works:

Now, as a video has been loaded we can perform various operations on the video. We will cut a clip from the whole video then the video will be rotated. As moviePy measures time in seconds, we can use the subclip method to get what we need i.e. the subclip() to specify the time frame that you want to be cut out. Let’s see how it works:

clip = clip.subclip(0, 15)

Finally, we have trimmed the video to 15 seconds and this is how we can create different video segments from one file. Now, in order to rotate the video we will use rotate method with the VideoFileClip object which takes an integer as an argument. We can rotate the video at any angle.

clip = clip.rotate(45)

We can also change the volume of the video by using volumex() method which contains a single argument. The method returns a clip with audio volume multiplied by the value factor passed as a parameter. It can be applied to both audio and video clips. Here, I’ve decided to boost the volume by a factor of 2.8.

clip = clip.volumex(2.8)

Wasn’t that interesting?

Now that we are done with some basic editing and methods. So, let’s combine all these chunks and see the output of the video with all the errors handled.
But first in case of confusion, here’s the whole code:

from moviepy.editor import *
clip = VideoFileClip(r"C:\Users\HP\Downloads\vdo.mp4")
clip = clip.subclip(0, 15)
clip = clip.rotate(45)
clip = clip.volumex(2.8)
clip.ipython_display(width = 400)

Output for Python Video Editing Library MoviePy:

See, How easy it was! We’ve just edited the video and this is how MoviePy works, there are plenty of other things you can do with MoviePy, now that you know the basics.

So, this is all about MoviePy! You can be more creative by adding more effects to your videos and audio as well. It’s up to you!

Happy Learning!! from

Also Read:


Author: Ayush Purawr