“The End” effect¶
So let’s explain this one: there is a clip with “The End” written in the middle, and above this clip there is the actual movie. The actual movie has a mask which represents a white (=opaque) circle on a black (=transparent) background. At the begining, that circle is so large that you see all the actual movie and you don’t see the “The End” clip. Then the circle becomes progressively smaller and as a consequence you see less of the actual movie and more of the “The End” clip.
from moviepy.editor import *
from moviepy.video.tools.drawing import circle
clip = VideoFileClip("../../videos/badl-0006.mov", audio=False).\
subclip(26,31).\
add_mask()
w,h = clip.size
# The mask is a circle with vanishing radius r(t) = 800-200*t
clip.mask.get_frame = lambda t: circle(screensize=(clip.w,clip.h),
center=(clip.w/2,clip.h/4),
radius=max(0,int(800-200*t)),
col1=1, col2=0, blur=4)
the_end = TextClip("The End", font="Amiri-bold", color="white",
fontsize=70).set_duration(clip.duration)
final = CompositeVideoClip([the_end.set_pos('center'),clip],
size =clip.size)
final.write_videofile("../../theEnd.avi")