Open In App

MoviePy Composite Video – Setting Position of Clip

Last Updated : 17 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

In this article we will see how we can set position of clip in composite video file in MoviePy. MoviePy is a Python module for video editing, which can be used for basic operations on videos and GIF’s. Meaning of composite is combining different elements, composite video is the combination of different video clips unlike stacking and concatenation of video files composite files are easy to implement but complex structure. Composite file combine the clips over one another and get played at same time, position and timing of video playback can be set any time. When first clip size is larger than the second clip the second clip appear to be in a larger window and its default position is at the top left hand side although we can change this any time.
 

In order to do this we will use crossfadein method with the VideoFileClip object
Syntax : clip.set_position((x, y))
Argument : It takes position as argument
Return : It returns VideoFileClip object 
 

Below is the implementation 
 

Python3




# Import everything needed to edit video clips
from moviepy.editor import *
  
# loading video dsa gfg intro video
clip = VideoFileClip("dsa_geek.webm")
  
# getting only first 5 seconds
clip1 = clip.subclip(0, 5)
  
# rotating clip by 180 degree to get the clip3
clip2 = clip1.rotate(180)
 
# resizing the clip2 reducing it by 50 % clip2 = clip2.resize(0.5)
 
# setting start time to the clip2
clip2 = clip2.set_start(3)
 
# setting position of the clip2
clip2 = clip2.set_position((100, 100))
  
# creating a composite video
final = CompositeVideoClip([clip1, clip2])
  
# 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 
 

Python3




# Import everything needed to edit video clips
from moviepy.editor import *
 
# loading video gfg
clip = VideoFileClip("geeks.mp4")
 
 
# getting subclip from it
clip1 = clip.subclip(0, 5)
 
# mirroring image according to the y axis
clip2 = clip.fx(vfx.mirror_y).set_start(4)
 
# resizing the clip2 reducing it by 50 % clip2 = clip2.resize(0.5)
 
# setting position of the clip2
clip2 = clip2.set_position((150, 100))
 
 
# creating a composite video
final = CompositeVideoClip([clip1, clip2])
  
# 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

 

 



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads