【发布时间】:2014-05-08 11:32:18
【问题描述】:
我正在尝试在 node.js 中生成一个 avconv 进程。
它应该接收stdin上的数据并将转换后的数据输出到stdout
虽然该命令在 shell 中运行,但它会立即在 node.js 中关闭,我不知道为什么:
avconv -v quiet -i pipe:0 -vn -f s16le -acodec pcm_s16le pipe:1
这行得通,并且在节点中:
var a = spawn('avconv', ['-v quiet -i pipe:0 -vn -f s16le -acodec pcm_s16le pipe:1']);
a.on('exit', function(code) {
pr(code, true);
})
我立即得到一个“1”退出代码。 谁能告诉我这里出了什么问题?
【问题讨论】:
-
你的命令参数不应该是单独的字符串吗?
-
别担心,结果是一样的
-
您是否尝试通过管道 stderr 来查看错误描述?
-
哦不,你是对的。它们首先是单独的字符串,但是按照
['-v quiet', '-i pipe:0']的顺序,我不知道它会自动引用它们然后... -
引用实际上是特定于 shell 的。我现在正在添加一个详细说明此问题的答案。