如何使用缓冲区对象作为Ffmpeg的源输入

时间:2016-09-05 21:21:32

标签: javascript node.js ffmpeg

我使用node.js作为Web服务器(fluent-ffmpeg作为ffmpeg库)。

  1. 我在亚马逊s3上有两个视频,当我检索它们时,它们是缓冲对象。

  2. 我想检索它们,合并它们,然后将它们发送到客户端,而不必将它们保存为文件。

1 个答案:

答案 0 :(得分:1)

在某种情况下,您可以将缓冲区存储到内存中,并从内存中读取以将它们组合在一起。但这有一些严重的影响,不建议这样做:

  1. 处理多个缓冲区后内存泄漏。
  2. 在单例应用程序上同时转换2个缓冲区可能会非常慢。
  3. 替代方案是:

    1. 使用ffmpeg-stream 将缓冲区流写入临时目录。

    2. 然后合并临时文件fluent-ffmpeg

    3. 使用nodeJS node-tmp
    4. 创建临时文件的示例

      相关问题: 1. Merge Multiple Videos using node fluent ffmpeg

      • 另一个建议:

      如果这是一个庞大的视频集,即要合并的专辑(如每个视频2Gb),AWS Lambda等服务本质上可以提供帮助。由于服务存储缓冲区,因此无法运行多个作业。