【发布时间】:2013-08-01 11:41:07
【问题描述】:
我已经阅读了几篇关于这个问题的类似帖子,但似乎没有一个能直接帮助我。如果这实际上是重复的帖子,请引导我到包含解决方案的线程!
我正在保存一堆图像,然后使用 subprocess.call 对它们调用 ffmpeg。我为不同图像的集合做了几次。这基本上就是我正在做的事情:
from subprocess import call
for video in videos:
call(['ffmpeg', ..., '-i', video, video+'.mp4')])
单独来看,这很好用。但是,当我在这些调用之前还完成了一些其他处理时(不在循环内,实际上只是在循环开始之前将值保存在内存中),它在制作了几个视频后因内存错误而崩溃(实际上是在制作最后一个视频时)一)。根据this comment, subprocess.call 分叉/克隆当前进程,这似乎意味着它请求的内存分配等于我当前在内存中的内存量,这对于我想要在调用中做的事情似乎有点过头了ffmpeg。
如何在不要求分配不必要的内存量的情况下从 python 中调用 ffmpeg?
【问题讨论】:
标签: python linux memory subprocess popen