FFMPEG命令在shell中运行!但不在我的node.js中

时间:2018-05-19 11:13:58

标签: node.js ffmpeg

当我的ffmpeg命令由我的node.js应用程序构建时,它不会运行。

错误

Unrecognized option 'ss 3.2 -t 1.9 -i videoplayback.mp4 -vf  fps=15,scale=240:-1:flags=lanczos,palettegen palette.png'.

命令

ffmpeg -ss 3.2 -t 1.9 -i videoplayback.mp4 -vf \ fps=15,scale=240:-1:flags=lanczos,palettegen palette.png

这是我的代码

var child_process = require('child_process')

function recordVideo() {

var spawn = child_process.spawn;

var args = [
    '-y', 
    '-ss', '3.2',
    '-t', '1.9', 
    '-i', '../getback/bin/videos/videoplayback.mp4', 
    '-vf', ' \\ ', 
    'fps=', '15', 
    'scale=', '320:-1', 
    'flags=','lanczos,palettegen palette.png', 
];



var ffmpeg = spawn('ffmpeg', args);

ffmpeg.stdout.on('data', function (data) {
    console.log(data);
});

ffmpeg.stderr.on('data', function (data) {
    console.log('grep stderr: ' + data);
});

ffmpeg.on('close', (code) => {
    console.log('child process exited with code ' + code);
}); 
};
recordVideo();

这是什么错误? 我认为.. 'fps =','15',在以下代码中  '='选项是一个问题。

我还在学习英语。 如果难以理解,我很抱歉。

2 个答案:

答案 0 :(得分:0)

Node将在为child_process.spawn函数提供的数组中的每个参数之间放置一个空格,作为第二个参数,在它构建命令时。尝试使用单个参数替换“fps =”和“15”之类的参数对:“fps = 15”。

答案 1 :(得分:0)

为了将来参考,可以通过从创建的子进程读取 spawnargs 属性来查看生成的参数。