首页 > 解决方案 > MoviePy 中的绿屏

问题描述

我正在尝试使用 MoviePy 在我的视频中自动执行一些动画。这些动画是在绿色背景上播放的,所以我一直在 MoviePy 上搜索与绿屏相关的项目。虽然没有太多的结果。但是,我确实找到了一些适用于此的代码。我正在使用的代码如下:

final_clip = concatenate_videoclips(self.clips, method="compose")
subclip = mpe.vfx.mask_color(subclip, color=[100, 227, 4])
subclip = subclip.resize(height=int(final_clip.h / 2))
subclip = subclip.set_position((final_clip.w / 2 - subclip.w / 2, final_clip.h / 2))
comp = CompositeVideoClip([image_clip, final_clip, subclip.set_start(final_clip.duration / 2)])

所以,final_clip 是拼接在一起的每个剪辑,subclip 是绿色屏幕上的动画,我想在视频中间某处的顶部显示它,comp 是最终结果。comp 结合 final_clip 和 subclip 并将其放置在用作背景的 ImageClip 上。这一切正常,没有错误,但子剪辑中的绿色并没有消失,它只是完整的帧仍然可见。而且我知道 RGB 颜色 [100, 227, 4] 应该是正确的,因为我使用了多个软件来验证它是哪种绿色。所以我有子剪辑,我希望它是视频宽度的一半和高度的一半,并放置在中心,但有点向下。夹子的定位和尺寸正确完成,实际上只是这里没有被删除的绿色。

我不明白这里有什么问题,我在网上找到的样本使用了完全相同的技术,所以如果有人可以在这里帮助我,那将不胜感激!

此外,如果有人知道加快 MoviePy 中编译时间的任何提示,那也将是一个很大的帮助!

标签: pythonvideomoviepy

解决方案


推荐阅读