版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ucsheep/article/details/82787821
把多个clip放置在一个画面中
这么复杂的合成,是怎么做出来的啊?!
在这个脚本中,我们会使用下面这个图:
我们将找到这些区域,然后把不同的clip填充到这些区域
from moviepy.editor import *
from moviepy.video.tools.segmenting import findObjects
# 加载用来指定区域的图像
im = ImageClip("../../ultracompositing/motif.png")
# 加载这些区域返回一个ImageClip列表
regions = findObjects(im)
# 载入美国国家公园的7个clip
clips = [VideoFileClip(n, audio=False).subclip(18,22) for n in
[ "../../videos/romo_0004.mov",
"../../videos/apis-0001.mov",
"../../videos/romo_0001.mov",
"../../videos/elma_s0003.mov",
"../../videos/elma_s0002.mov",
"../../videos/calo-0007.mov",
"../../videos/grsm_0005.mov"]]
# 把每一个clip都放置在对应的图片中的区域
comp_clips = [c.resize(r.size)
.set_mask(r.mask)
.set_pos(r.screenpos)
for c,r in zip(clips,regions)]
cc = CompositeVideoClip(comp_clips,im.size)
cc.resize(0.6).write_videofile("../../composition.mp4")
# 这个特殊的合成任务要花费很长的时间