Open In App

MoviePy – Concatenating multiple Video Files

In this article, we will see how we can concatenate multiple video file clips in MoviePy. MoviePy is a Python module for video editing, which can be used for basic operations on videos and GIF’s. In formal language theory and computer programming, string concatenation is the operation of joining character strings end-to-end. For example, the concatenation of “snow” and “ball” is “snowball”, similarly concatenating multiple videos clips means that they will get played one after another and act as a single video file.
Note: The clips do not need to be the same size. If they aren’t of the same size they will all appear centered in a clip large enough to contain the biggest of them.
 

In order to do this we will use concatenate_videoclips method 
Syntax : concatenate_videoclips(clips)
Argument : It takes list of video file clips as argument 
Return : It returns VideoFileClip object 
 



Below is the implementation 




# Import everything needed to edit video clips
from moviepy.editor import *
 
# loading video dsa gfg intro video
clip = VideoFileClip("dsa_geek.webm")
 
# getting subclip as video is large
clip1 = clip.subclip(0, 5)
 
# getting subclip as video is large
clip2 = clip.subclip(60, 65)
 
# concatenating both the clips
final = concatenate_videoclips([clip1, clip2])
#writing the video into a file / saving the combined video
final.write_videofile("merged.webm")
 
# showing final clip
final.ipython_display(width = 480)

Output : 



Moviepy - Building video __temp__.mp4.
Moviepy - Writing video __temp__.mp4

                                                                                                                       
Moviepy - Done !
Moviepy - video ready __temp__.mp4

Another example:




# Import everything needed to edit video clips
from moviepy.editor import *
 
# loading video dsa gfg intro video
clip = VideoFileClip("dsa_geek.webm")
 
# getting subclip as video is large
clip1 = clip.subclip(0, 5)
 
 
# loading video gfg
clipx = VideoFileClip("geeks.mp4")
 
# getting subclip
clip2 = clipx.subclip(0, 5)
 
# clip list
clips = [clip1, clip2]
 
# concatenating both the clips
final = concatenate_videoclips(clips)
 
# showing final clip
final.ipython_display(width = 480)

Output : 

Moviepy - Building video __temp__.mp4.
MoviePy - Writing audio in __temp__TEMP_MPY_wvf_snd.mp3
                                                                                                                       
MoviePy - Done.
Moviepy - Writing video __temp__.mp4

                                                                                                                       
Moviepy - Done !
Moviepy - video ready __temp__.mp4

Article Tags :