How to merge two videos using Python library called moviepy?

As a professional videographer and also as a working professional who always gives presentations, attends seminars, and uploads videos to social media sites and many more shooting videos play a very important role. The time that is taken to deliver a speech by a person and a video prerecorded differs a lot. At many presentations that we give in our day to day life, we may not remember everything, and mistakes do happen right??

But preparing the same presentation before and showing it in front of the people as well as explaining do helps us in overcoming the mistakes that would have incurred when delivered verbally. Now, if for some reason a person recorded multiple videos say 2 and both collectively contain the information required to be displayed to the public then what should be done??

The answer is he/she will merge these videos using certain applications both .exe and apk. But, these applications do have a drawback that is, their features are limited or they leave behind a watermark, etc. What if these problems can be dealt with with the help of coding??

Yes, it is possible with the help of Python. Python is a very powerful Object-Oriented Programming language that contains numerous in-built as well as third party libraries that ease down the user’s task. The library here we are referring to is moviepy. This is an amazing third party library of Python that needs to be imported through pip installation either via normal Python or through Anaconda. This library contains various features out of which merging videos, as well as audios, is a major part. Let’s take a look at how to merge two videos using this library in Python:

Steps to Merge Videos using Python

Step 1: Before starting the tutorial, I am assuming that you already have the Python installed on your system, If not then see our tutorial: How to install Python on Windows or Linux.

Step 2: Once you have the Python, open command prompt in Windows or Terminal in Linux operating system to run the PIP command for the  MoviePy.

Step 3: Finally, use the below command to install moviepy library of Python on your system.

pip install moviepy

Step 4:  Now, we need to open the text editor, you can use any of your choices, however here we are using Jupyter. Therefore to install that again in your command prompt or terminal type:

pip install jupyter

Step 5: The next step is to locate your video files and place them in the same folder by creating a new one with any desired name of your choice. Once done, place both your video files under the same folder and now within this path open your command prompt and type cd “your pathname”. Once done type jupyter notebook in the command prompt and your Jupyter notebook will get opened up. A pictorial demonstration for this is shown below:

use moviepy to merge two videos using python

Step 6: Click on the right side given- “New” button and select Python3 within the Jupyter console.

Create new file on Jupyter to run Python video merging commands

Step 7: Simply paste the below command in the Jupyter text editor area to import the following python libraries that will help in merging videos.

from moviepy.editor import VideoFileClip, concatenate_videoclips, CompositeVideoClipClip
clip1= VideoFileClip("1.mp4")
clip2= VideoFileClip("2.mp4")

Note: Replace 1.mp4 and 2.mp4 without the name of your videos.

Step 8: After loading these video files the last thing is to concatenate them with each other and saving them by

final_clip= concatenate_videoclips([clip1,clip2])


Step 8: Once the videos are merged you will get two files one .mp3 format and the other .mp4 format. Choose the requisite format and demonstrate the same in front of your clients.


There is a provision to merge .mp3 files as well and people can access that feature as and when desired. To know more about Python Moviepy check out this documentation.


This is how the merging of two videos is possible using Python and that too without any watermark. The saved file that came out as the final result is contained in the same folder where the two videos are located. So go and try this out with Python.