MoviePy - 中文文档4-MoviePy实战案例-把多个clip放置在一个画面中(超美)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ucsheep/article/details/82787821

把多个clip放置在一个画面中

这么复杂的合成,是怎么做出来的啊?!

在这个脚本中,我们会使用下面这个图:

../_images/compo_from_image.jpeg

我们将找到这些区域,然后把不同的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")

# 这个特殊的合成任务要花费很长的时间

猜你喜欢

转载自blog.csdn.net/ucsheep/article/details/82787821