Python使用Moviepy将图像序列转换为视频

使用Moviepy将图像序列转换为视频

这是我使用您的初始代码完成的方式。您看到的错误是由于未为剪辑指定set_duration。我还对目录中的文件进行了排序,以便生成的mp4是连续的(默认情况下不是这种情况)。

    import os
    from moviepy.editor import *

    base_dir = os.path.realpath(".")
    print(base_dir)
    directory=sorted(os.listdir('.'))
    print(directory)

    for filename in directory:
      if filename.endswith(".png"):
        clips.append(ImageClip(filename).set_duration(1))

print(clips)
video = concatenate(clips, method="compose")
video.write_videofile('test1.mp4', fps=24)

我找到了另一种方法:

from moviepy.editor import *

img = ['1.png', '2.png', '3.png', '4.png', '5.png', '6.png',
       '7.png', '8.png', '9.png', '10.png', '11.png', '12.png']

clips = [ImageClip(m).set_duration(2)
      for m in img]

concat_clip = concatenate_videoclips(clips, method="compose")
concat_clip.write_videofile("test.mp4", fps=24)

2、具体实现与代码解释如下:

import os
#pip install moviepy
import moviepy.video.io.ImageSequenceClip
image_folder='C:/Users/Mr.R/Pictures/wallpaper'#open the image location
fps=1

image_files = [image_folder+'/'+img for img in os.listdir(image_folder) if img.endswith(".png")]
clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(image_files, fps=fps)
clip.write_videofile('C:/Users/Mr.R/Pictures/wallpaper/Movie1.mp4')

你可能感兴趣的:(经验,音视频)