我按照本教程制作 ffmpeg 一个 lambda 层 https://www.serverless.com/blog/publish-aws-lambda-layers-serverless-framework
我使用 spawnsync 在我的目录中运行 ls 并且 opt 目录为空,因此 ffmpeg 没有触发。
关于我可能做错了什么的任何指示?
我使用 node.js12.x 作为无服务器框架的运行时。
最佳答案
如果你添加
spawnSync( 'ls', ["/opt"], { stdio: "inherit" });
在您的 lambda 代码中,您可能会看到 ffmpeg 执行文件直接位于/opt 下。这取决于您如何压缩 ffmpeg 文件夹。使用上面的命令,您可以看到/opt 文件夹结构,以了解调用 ffmpeg exe 的路径。
spawnSync(
'/opt/ffmpeg',
[
'-i',
`/tmp/${inputFileName}`,
"-f",
"gif",
`/tmp/${outputFileName}`
],
{ stdio: "inherit" }
);
这个对我有用。
关于node.js - AWS lambda 层调用说 opt/ffmpeg 不是目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63554390/