首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ffprobe产生内存链接

ffprobe产生内存链接
EN

Stack Overflow用户
提问于 2020-04-27 06:54:43
回答 1查看 32关注 0票数 0

我正在编写一个python脚本来计算一个目录(和子目录,链接等)中所有视频文件的持续时间。

一切都正常,我唯一的问题是下面的代码产生了内存泄漏。我对每个媒体文件使用此函数来获取持续时间。并且所分配的内存显著增加。比如每秒50兆字节。当函数返回值时,内存不会被释放。即使在Windows中关闭所有程序或注销后,内存仍未消失。只有重新启动才会有帮助。

代码语言:javascript
复制
def probe(vid_file_path):
    with subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) as proc:
       cmd = ["ffprobe", "-loglevel", "quiet", "-print_format", "json", "-show_format", "-show_streams", vid_file_path]
       out, err = proc.communicate()
       return json.loads(out)

我花了几个小时试图弄清楚问题是出在ffprobe还是子进程上。我认为它是ffprobe。

如果我这样做:

代码语言:javascript
复制
cd "<goto ffprobe directory>"
:start
ffprobe -show_streams "<a video file>"
goto start

在一个批处理文件中,我可以看到内存也在增加。

EDIT1:如果你想测试我的python脚本,请看这里:https://pastebin.com/NewBgwia

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-25 00:37:47

Microsoft Defenders的“受控文件夹访问”是我问题的根源。禁用它解决了我的内存泄漏问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61449192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档