【问题标题】:trying to make a video using moviepy尝试使用moviepy制作视频
【发布时间】:2021-03-25 16:22:25
【问题描述】:

我的代码有问题。我的列表索引超出范围索引错误

import os
import moviepy.video.io.ImageSequenceClip
image_folder= r'C:\Users\Porsche\OneDrive - Imperial College London\Documents\plates'
fps=1

image_files = [image_folder+'/'+img for img in os.listdir(image_folder) if img.endswith(".jpeg")]
clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(image_files, fps=fps)
clip.write_videofile('my_video.mp4')

我是 Python 新手,我似乎看不到索引在哪里,而且我为 moviepy 找到的文档也不清楚。

错误在这一行 clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(image_files, fps=fps)

【问题讨论】:

    标签: python moviepy


    【解决方案1】:

    我刚刚在 5 分钟前使用 ImageSequenceClip 成功制作了一个小视频,所以也许我可以提供帮助。

    以下是与我在您的代码中看到的内容相关的问题,以及与 ImageSequenceClip 相关的问题。我没有遇到与您提到的类似的索引错误,但这可能是由于您的列表理解行所致。

    一些一般性建议——也许这对你从事的其他项目就足够或有帮助了:

    • 小心你的'/'和'\';保持这些统一以避免出现任何不必要的问题。我通常在所有情况下都将 / 用于 Windows 文件系统,它似乎工作正常。此外,当手动组合路径+文件名变量时,不要忘记在路径变量的末尾包含一个最终的“/”。
    • 打印并检查您创建的 image_files 变量的长度,以确保您确实添加了所需的文件,并且您的列表理解行没有其他明显问题。
    • 如果您找不到导致索引错误的问题,您可以尝试仅添加包含图像文件的文件夹(而不是单个图像文件位置的列表)。在这种情况下,您可能需要创建一个仅包含您想要包含的文件的新文件夹。
    • fps 参数是违反直觉的,至少对我而言。该值越低,视频中单个图像的持续时间越长。
    • 最后,您提供给 ImageSequenceClip 函数的目录将根据文件名按字母数字顺序对文件进行排序。请记住这一点,例如,a1、a2、a11 将被重新排序为 a1、a11、a2。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 2022-08-08
      • 2021-08-17
      • 2015-12-15
      • 2019-07-07
      • 2021-06-29
      • 1970-01-01
      相关资源
      最近更新 更多