"THE-END"特效¶
原文链接: http://zulko.github.io/moviepy/examples/the_end.html
视频地址:https://youtu.be/sZMyzzGlsc0
让我们来看下这个:
这里这个片段有一个“The End”写在画面的中间,而在这个片段之上,才是真正的视频。真正的视频拥有一个遮罩,其对应一个白色(不透明)圆圈在黑色(透明)背景上。
在视频的最开始,白色圆圈十分的大,以致我们看到的全部是真正的视频,而没有看到“The End”的片段。接着,这个被色圆圈逐渐缩小,因此我们看的真正的视频画面越来越小,“The End”的画面则逐渐出现。
代码如下:
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")