把多个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")
-
- # 这个特殊的合成任务要花费很长的时间
一起交流,一起进步,群内提问答疑
QQ群:MoviePy中文 :819718037
文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览333612 人正在系统学习中
评论记录:
回复评论: