【问题标题】:moviepy error, "cannot collect memory" or "memory leak" or "memory overflow"moviepy 错误,“无法收集内存”或“内存泄漏”或“内存溢出”
【发布时间】:2018-12-26 06:40:47
【问题描述】:

我遇到了这个问题,可惜网上没有好的答案,所以我想把最终的解决方案放在这里。


这里是:

你不应该一次给moviepy太多的视频文件(.mp4)。


但是你可以给它一个parent video

然后将其拆分为内存中的数千个subclips

实际上,在这个时候,它们不是真实的clips(我的意思是.mp4文件)


此时,你的记忆中只存储了一个视频,parent video,以及subclips的信息(从哪里开始,从哪里结束)


这样,你将clip list喂给concatenate函数,就不会再造成内存溢出了


这里是演示代码:

parent_clip = VideoFileClip("./parent_video.mp4")
clip_list = []
for part in time_parts:
    time_start = part[0]
    time_end = part[1]
    clip_list.append(
        parent_clip.subclip(time_start, time_end)
    )
concat_clip = concatenate_videoclips(clip_list)

【问题讨论】:

    标签: memory overflow collect moviepy


    【解决方案1】:

    如果您使用的是 Linux(Ubuntu),

    您可以将交换分区设置为临时内存。

    它解决了各种内存泄漏问题。

    https://www.fosslinux.com/1064/how-to-create-or-add-a-swap-partition-in-ubuntu-and-linux-mint.htm/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 2013-11-24
      • 2012-02-05
      • 2018-05-10
      • 2010-12-23
      • 2012-08-19
      相关资源
      最近更新 更多