Node.js 如何将流与FFMPEG和节点一起使用

Node.js 如何将流与FFMPEG和节点一起使用,node.js,ffmpeg,stream,Node.js,Ffmpeg,Stream,我对使用带有节点的ffmpeg感兴趣。我看过很多可用的库(比如fluent-ffmpeg),但它们不是我想要的 我想知道是否有一种方法可以使用node执行FFMPEG,而不是创建文件,将所有内容传输到流。我不想因为“原因”而使用磁盘空间,我的应用程序执行命令并将音频/视频传输到节点流中会更有意义 有办法做到这一点吗?如果是这样,我的最佳选择是什么?是的,这是一个非常简单的儿童过程 如果您使用连字符-作为输入或输出文件名,它将允许您使用STDIN或STDOUT进行管道传输。因此,您只需执行以下操作

我对使用带有节点的ffmpeg感兴趣。我看过很多可用的库(比如fluent-ffmpeg),但它们不是我想要的

我想知道是否有一种方法可以使用node执行FFMPEG,而不是创建文件,将所有内容传输到流。我不想因为“原因”而使用磁盘空间,我的应用程序执行命令并将音频/视频传输到节点流中会更有意义


有办法做到这一点吗?如果是这样,我的最佳选择是什么?

是的,这是一个非常简单的儿童过程

如果您使用连字符
-
作为输入或输出文件名,它将允许您使用STDIN或STDOUT进行管道传输。因此,您只需执行以下操作:

const ffmpeg = child_process.spawn('ffmpeg', [
  '-i', '-',
  // Some other parameters here
  '-'
]);
您可以在此处使用
ffmpeg.stdin
ffmpeg.stdout


另请参见:

是的,作为子进程,这非常容易

如果您使用连字符
-
作为输入或输出文件名,它将允许您使用STDIN或STDOUT进行管道传输。因此,您只需执行以下操作:

const ffmpeg = child_process.spawn('ffmpeg', [
  '-i', '-',
  // Some other parameters here
  '-'
]);
您可以在此处使用
ffmpeg.stdin
ffmpeg.stdout


另请参见:

嘿,这真的很有帮助,非常感谢!另外,你能提供一些链接或文件给我在哪里可以得到这些信息?我一直在查看child_进程和方法的文档,如spawn()和fork(),但没有找到您所说的任何内容。@PedroDalla在我对文档的回答末尾有一个链接。:-)嘿,这真的很有帮助,非常感谢!另外,你能提供一些链接或文件给我在哪里可以得到这些信息?我一直在查看child_进程和方法的文档,如spawn()和fork(),但没有找到您所说的任何内容。@PedroDalla在我对文档的回答末尾有一个链接。:-)