【问题标题】:AWS lambda layer call says opt/ffmpeg is not a directoryAWS lambda 层调用说 opt/ffmpeg 不是目录
【发布时间】:2020-12-12 16:49:57
【问题描述】:

我按照本教程制作 ffmpeg 一个 lambda 层 https://www.serverless.com/blog/publish-aws-lambda-layers-serverless-framework

我使用 spawnsync 在我的目录中运行 ls 并且 opt 目录为空,因此 ffmpeg 没有触发。

关于我可能做错了什么的任何指示?

我使用 node.js12.x 作为无服务器框架的运行时。

【问题讨论】:

    标签: node.js ffmpeg aws-lambda aws-lambda-layers


    【解决方案1】:

    如果你添加

    spawnSync( 'ls', ["/opt"], { stdio: "inherit" });
    

    在您的 lambda 代码中,您可能会看到 ffmpeg 执行文件直接位于 /opt 下。 这取决于您如何压缩 ffmpeg 文件夹。通过上面的命令,你可以看到 /opt 文件夹结构,从而知道调用 ffmpeg exe 的路径。

    spawnSync(
      '/opt/ffmpeg',
      [
        '-i',
        `/tmp/${inputFileName}`,
        "-f",
        "gif",
        `/tmp/${outputFileName}`
      ],
      { stdio: "inherit" }
    );
    

    它对我有用。

    【讨论】:

      猜你喜欢
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      • 2020-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多