Javascript 如何将缓冲区对象用作Ffmpeg';s源输入

Javascript 如何将缓冲区对象用作Ffmpeg';s源输入,javascript,node.js,ffmpeg,Javascript,Node.js,Ffmpeg,我使用node.js作为web服务器(fluent ffmpeg作为ffmpeg库) 我在AmazonS3上有两个视频,当我检索它们时,它们作为缓冲对象出现 我想检索它们,合并它们,并将它们发送到客户端,而不必将它们保存为文件 在这种情况下,您可以将缓冲区存储到内存中,然后从内存中读取以合并两者。但这有一些严重的影响,不建议这样做: 处理多个缓冲区后发生内存泄漏 在单例应用程序上同时转换2个缓冲区可能非常慢 另一种选择是: 使用将缓冲区流写入临时目录 然后合并临时文件 使用nodeJS创建

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

  • 我在AmazonS3上有两个视频,当我检索它们时,它们作为缓冲对象出现

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


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

  • 处理多个缓冲区后发生内存泄漏
  • 在单例应用程序上同时转换2个缓冲区可能非常慢
  • 另一种选择是:

  • 使用将缓冲区流写入临时目录

  • 然后合并临时文件

  • 使用nodeJS创建临时文件的示例
  • 相关问题: 1.

    • 另一项建议:

    如果这是一个庞大的视频集,也就是要组合的相册(每个视频2Gb),那么像AWS Lambda这样的服务基本上会有所帮助。因为该服务存储缓冲区,并且不会失败地运行多个作业。

    您能为您的设置提供更多解释吗?正如在检索缓冲区的场景(它是web应用程序)中一样,是的,我使用node.js作为web服务器-谢谢。在服务器上创建临时文件在生产中会很繁重吗?无论如何,我都会调查亚马逊Lambda。谢谢你的详细介绍answer@MarwanSulaiman,临时文件的好处是,在获取临时文件后,可以立即将其删除。如果您可以将S3视频作为一个完整的对象而不是缓冲区来访问,那么无需下载并合并,nodeJS库就可以访问S3上的两个视频(无需手动操作缓冲区)