python - 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 中编译时间的任何提示,那也将是一个很大的帮助!
解决方案
推荐阅读
- java - 根据给定的前缀对字符串列表进行排序
- python - 如何在没有系统范围安装的情况下在 venv 中安装更新的 python3 版本?
- clojure - 为什么 `clojure.spec.alpha/every-kv` 接受 `[]` 作为有效的“关联集合”?
- c# - Cookie 未在 ASP.NET Core Web 应用程序的浏览器中生成
- android - Kotlin 多态序列化(字符串数组和对象数组)
- tensorflow - 如何创建自定义损失函数,将 RNN 的中间训练输出(张量 y_pred)馈送到另一个预定义的 RNN?
- ruby-on-rails - 使用 Ruby 验证 Web Crypto SubtleCrypto 密钥签名
- julia - 朱莉娅:重新解释的逆(相反)是什么?
- python - 如何在python中的kers中添加LSTM中的dropout和attention
- reactjs - 如何在 React 中使用 JWT 令牌实现私有路由