【发布时间】: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