Node.js不能使用参数内的引号

时间:2015-03-20 21:02:30

标签: node.js ffmpeg

我试图用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参数设置格式?

谢谢!

1 个答案:

答案 0 :(得分:1)

请勿使用vf的引号:

'scale='+size*2+':ih*'+size*2+'/iw,crop='+size+':'+size