gpt4 book ai didi

python - Moviepy 滑入和滑出过渡

转载 作者:太空宇宙 更新时间:2023-11-04 04:58:14 45 4
gpt4 key购买 nike

我正在尝试在视频片段之间使用滑入和滑出过渡,但不幸的是我只能使用这样的交叉淡入淡出来使其工作:

 from moviepy.editor import VideoFileClip, concatenate_videoclips, vfx, afx, transfx, concatenate, 
CompositeVideoClip

delay = 1
output = "out.mp4"
clip1 = VideoFileClip("174_3.mp4")
clip2 = VideoFileClip("174_4.mp4")
clip3 = VideoFileClip("174_5.mp4")
clip4 = VideoFileClip("174_6.mp4")


final = concatenate([clip1,
clip2.crossfadein(delay),
clip3.crossfadein(delay),
clip4.crossfadein(delay)],
padding=-delay, method="compose")
final.write_videofile(output)

但是当我在 https://github.com/Zulko/moviepy/blob/3d86a2c4cba6769528112765d964eaec273d7636/moviepy/video/compositing/transitions.py 上使用示例时

 from moviepy.editor import VideoFileClip, concatenate_videoclips, vfx, afx, transfx, concatenate, 
CompositeVideoClip

output = "out.mp4"
clip1 = VideoFileClip("174_3.mp4")
clip2 = VideoFileClip("174_4.mp4")
clip3 = VideoFileClip("174_5.mp4")
clip4 = VideoFileClip("174_6.mp4")

clips = [clip1, clip2, clip3, clip4];
CompositeVideoClip(clips)

slided_clips = [clip.fx( transfx.slide_out, 1, 'bottom') for clip in clips]
final_clip = concatenate( slided_clips, padding=-1)
final_clip.write_videofile(output)

这个结果是视频连接但根本没有转换,请让我知道我做错了什么

最佳答案

请记住,moviepy 中的大多数函数不会修改对象,而是返回对象的修改后的浅拷贝 - 因此行 CompositeVideoclip(clips) 不会执行任何操作。

相反,你想做的是:

slided_clips = [CompositeVideoClip([clip.fx( transfx.slide_out, 1, 'bottom')]) for clip in clips]

slide_out 必须在 CompositeVideoClip 中的原因是因为它改变了剪辑的位置,所以它需要在“帧”中以留出部分屏幕空白。这与 set_position 仅适用于 CompositeVideoClip 的原因相同。

关于python - Moviepy 滑入和滑出过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46517510/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com