python - 如何将透明度应用于moviepy中的剪辑?
问题描述
所以我试图用moviepy创建一个剪辑,其中五个半透明剪辑使用CompositeVideoClip相互叠加。
输出应该是长度等于最长剪辑的剪辑,其中复合剪辑的所有层都是可见的。
我的代码看起来像这样:
from moviepy.editor import *
clip_1 = VideoFileClip('some\\path\\here.mp4')
clip_2 = VideoFileClip('some\\path\\here.mp4')
clip_3 = VideoFileClip('some\\path\\here.mp4')
clip_4 = VideoFileClip('some\\path\\here.mp4')
clip_5 = VideoFileClip('some\\path\\here.mp4')
list_of_clips = [clip_1, clip_2, clip_3, clip_4, clip_5]
for index, clip in enumerate(list_of_clips):
list_of_clips[index] = clip.set_opacity(.20)
output_clip = CompositeVideoClip(list_of_clips)
output_clip.write_videofile('some\\path\\here.mp4')
代码运行良好,但不应用透明度。
这也不起作用:
clip = VideoFileClip(some\\path\\here.mp4).set_opacity(.30)
clip.write_videofile(some\\path\\here.mp4)
导出工作正常,但剪辑完全不透明。
关于如何在剪辑输出中实现透明度的任何建议?
解决方案
mp4(我假设是 h264)格式不提供透明度。webM (vp9) 和 h265 的一些变体确实提供了透明度。
我不确定您到底要做什么-但也许将叠加视频创建为 webm(支持透明度)-然后在最后转换为 h264 可能对您有用。
推荐阅读
- angularjs - Firebase cloud Function post方法应该如何?
- reactjs - ReactJS - 传递参数以获取请求
- c# - 如何将在运行时创建的类的对象转换为在构建时创建的类的对象?
- reactjs - 如何使用 swr 发送标头
- pandas - 通过在熊猫的不同列上应用条件来过滤数据框
- html - CSS:位置固定到绝对位置
- powerbi - 当用作 CALCULATE 的第二个参数时,ALL(表名/列名)如何工作?
- python - 多条件的Python数据框列值更新
- bash - 嵌套for循环后变量未定义
- swift - 从不同的集合 Firestore 构建模型 - 以编程方式 Swift