gpt4 book ai didi

node.js - nodejs exec ffmpeg,在 ffmpeg 完成之前触发回调

转载 作者:太空宇宙 更新时间:2023-11-04 02:24:59 24 4
gpt4 key购买 nike

我通过nodejs脚本运行ffmpeg命令:

var exec = require('child_process').exec;
exec('ffmpeg -with -some -options somefile.mp4',function(error, stdout, stderr){
// some processing
});

我注意到有时回调会在 ffmpeg 完成之前被触发。如何确保仅在 ffmpeg 完成后才进行回调处理?是什么导致它在未完成的情况下触发回调?

最佳答案

使用process.spawn代替exec。然后您可以对不同的事件进行回调。

this.ffmpeg = process.spawn("ffmpeg",
"-f dshow -some -other -options somefile.mp4".split(" "),
{ shell: true })

this.ffmpeg.on('error', (error) => {
console.log("ffmpeg error: " + error)
})

this.ffmpeg.stderr.on('data', (data) => {
console.error(`stderr: ${data}`)
})

this.ffmpeg.on('exit', (code, signal) => {
console.log("ffmpeg shutdown: code " + code + ", signal " + signal)
})

关于node.js - nodejs exec ffmpeg,在 ffmpeg 完成之前触发回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31025675/

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