如何在 FFMPEG 和 Node 中使用流
How to use streams with FFMPEG and Node
我有兴趣将 ffmpeg 与节点一起使用。我查看了许多可用的库(例如 fluent-ffmpeg),但它们不是我要找的。
我想知道是否有办法用节点执行 FFMPEG,而不是创建文件,而是将所有内容传输到流中。我不想将 disc space 用于 'reasons' 并且我的应用程序执行命令并将 audio/video 管道化为节点流更有意义。
有办法吗?如果是这样,我最好的选择是什么?
是的,作为子进程这真的很容易。
如果您使用连字符 -
作为输入或输出文件名,它将允许您使用 STDIN 或 STDOUT 进行管道传输。因此,你只需要做这样的事情:
const ffmpeg = child_process.spawn('ffmpeg', [
'-i', '-',
// Some other parameters here
'-'
]);
您可以在此处使用 ffmpeg.stdin
和 ffmpeg.stdout
。
我有兴趣将 ffmpeg 与节点一起使用。我查看了许多可用的库(例如 fluent-ffmpeg),但它们不是我要找的。
我想知道是否有办法用节点执行 FFMPEG,而不是创建文件,而是将所有内容传输到流中。我不想将 disc space 用于 'reasons' 并且我的应用程序执行命令并将 audio/video 管道化为节点流更有意义。
有办法吗?如果是这样,我最好的选择是什么?
是的,作为子进程这真的很容易。
如果您使用连字符 -
作为输入或输出文件名,它将允许您使用 STDIN 或 STDOUT 进行管道传输。因此,你只需要做这样的事情:
const ffmpeg = child_process.spawn('ffmpeg', [
'-i', '-',
// Some other parameters here
'-'
]);
您可以在此处使用 ffmpeg.stdin
和 ffmpeg.stdout
。