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
我正在尝试 运行 使用 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