gpt4 book ai didi

node.js - Node ffmpeg child_process 停止但仍然存在

转载 作者:行者123 更新时间:2023-12-04 23:00:41 37 4
gpt4 key购买 nike

我有一个 Node 应用程序,它通过 child_process 启动多个 ffmpeg 实例,每个 ffmpeg 对来自摄像机的实时流进行转码。

问题是 5~10 分钟后 ffmpeg 进程刚刚停止进行转码,该进程仍然存在,因为我可以在任务管理器上看到它,但它只是停止进行转码。

现在,如果我将 ffmpeg 的输出发送到 Node.js 控制台日志,这实际上使转码保持事件状态。

任何想法可能导致这种情况?

最佳答案

似乎 stdout 或 stderr 缓冲区正在填满,并且代码阻塞,直到它们被读取。
解决方案是将它们重定向到父级,将它们写入文件,将它们传送到其他地方,或者忽略它们(将它们传送到 /dev/null )。

如果您不需要输出,最简单的方法是生成:

spawn('prg', [], { stdio: 'ignore' });

这记录在 spawn documentation .

关于node.js - Node ffmpeg child_process 停止但仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22693773/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com