我正在使用child_process.spawn()生成一个进程。如何查看确切执行的命令行(包括传递给spawn函数的所有命令行参数)?
这是我的示例不起作用:
var s = require('child_process');
var p = s.spawn('ffmpeg', ['-probesize 1024', '-i "rtsp://192.168.1.10:554/11"', 'test.h264']);
捕获stderr时,我收到一条消息“无法识别的选项'probesize 1024'。但是,如果我从命令行运行ffmpeg,它会正常工作。因此,我需要确切地了解命令行选项的工作方式在被发送到FFMPEG之前对其进行了调试,以便对其进行调试。
谢谢
答案 0 :(得分:1)
尝试
var p = s.spawn('ffmpeg', [
'-probesize',
'1024',
'-i',
'rtsp://192.168.1.10:554/11',
'test.h264'
]);
命令行参数之间有一个空格,但它们是连贯的,仍然需要分开。因此,-probesize
和1024
之间应该有一个空格
更新
如果您希望保持连贯的参数在一起,请将shell: true
添加到options对象:
var p = s.spawn('ffmpeg',
[
'-probesize 1024',
'-i "rtsp://192.168.1.10:554/11"',
'test.h264'
],
{
shell: true
}
);