Node.js spawn 不能在参数中使用引号

Node.js spawn not working with quotes inside argument

我正在尝试 运行 使用 spawn

这个命令
var args = ['-ss','00:00:15','-i',storage_path + doc.file_name,'-vframes','1','-vf','"scale='+size*2+':ih*'+size*2+'/iw,crop='+size+':'+size+'"','-f','image2','-q:v','5',storage_path + output_name];

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

问题似乎出在这部分:'"scale='+size*2+':ih*'+size*2+'/iw,crop='+size+':'+size+'"'

当我记录 args 时,这是我得到的:

[ '-ss', '00:00:15', '-i', '/a/video.mp4', '-vframes', '1', '-vf', '"scale=150:ih*150/iw, crop=75:75"', '-f', 'image2', '-q:v', '5', '/a/75.jpg' ]

如果我接受它并执行 .join(' '),我会得到命令: -ss 00:00:15 -i /a/video.mp4 -vframes 1 -vf "scale=150:ih*150/iw, crop=75:75" -f image2 -q:v 5 /a/75.jpg

当我用这个运行 ffmpeg 时,一切都很好。

关于如何为 spawn 参数设置格式的任何想法?

谢谢!

不要为 vf:

使用引号
'scale='+size*2+':ih*'+size*2+'/iw,crop='+size+':'+size