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
from moviepy.editor import *
clip = VideoFileClip( "dsa_geek.webm" )
clip1 = clip.subclip( 0 , 5 )
clip2 = clip1.rotate( 180 )
clip2 = clip2.set_start( 3 )
clip2 = clip2.set_position(( 100 , 100 ))
final = CompositeVideoClip([clip1, clip2])
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
from moviepy.editor import *
clip = VideoFileClip( "geeks.mp4" )
clip1 = clip.subclip( 0 , 5 )
clip2 = clip.fx(vfx.mirror_y).set_start( 4 )
clip2 = clip2.set_position(( 150 , 100 ))
final = CompositeVideoClip([clip1, clip2])
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