从moviepy上的剪辑制作视频仅显示最后一张图像

时间:2017-11-22 18:51:19

标签: python moviepy

我正在尝试使用moviepy从图像列表制作视频。我使用moviepy.editor时遇到问题,因为它不喜欢使用PyInstaller冻结,所以我使用moviepy.video.VideoClip.ImageClip表示图像,moviepy.video.compositing.CompositeVideoClip.CompositeVideoClip表示剪辑。我在名为.jpg的列表中列出了images张图片:

from moviepy.video.VideoClip import ImageClip
from moviepy.video.compositing.CompositeVideoClip import CompositeVideoClip

clips = [ImageClip(m).set_duration(1) for m in images]
concat_clip = CompositeVideoClip(clips))
concat_clip.write_videofile('VIDEO.mp4', fps=1)

它成功制作了.mp4,但视频只有一秒钟,而且是图片列表中的最后一张图片。我可以查看clips,它包含应该在视频中的~30张图片。我可以使用moviepy.editor之后的CompositeVideoClip方法来执行此操作,但method='compose' def convolucion_3x3(arreglo, kernel): (dim_x, dim_y) = arreglo.shape (ker_x, ker_y) = kernel.shape matriz_convolucionada = np.zeros((dim_x, dim_y)) for i in range(dim_x): for j in range(dim_y): resultado = 0 for x in range(-1, 2): try: if i + x not in range(dim_x): raise ValueError() for y in range(-1, 2): try: if j + y not in range(dim_y): raise ValueError() resultado += arreglo[i + x, j + y] * kernel[x + 1][y + 1] ''' Para el kernel sumo un 1 a cada índice para que lo corra desde 0 hasta 2 y no de -1 a 1 ''' except ValueError: pass except ValueError: pass matriz_convolucionada[i][j] = resultado return matriz_convolucionada 中似乎没有类似的参数,我认为这个问题是。

1 个答案:

答案 0 :(得分:0)

使用concatenate_videoclips可能会有所帮助。我使用下面的代码,效果很好。

clips = [ImageClip(m).set_duration(1/25) for m in file_list_sorted] concat_clip = concatenate_videoclips(clips, method="compose") concat_clip.write_videofile("test.mp4", fps=25)