gpt4 book ai didi

ffmpeg - AWS lambda 。将 FFmpeg 移动到/tmp 时出现错误=20(不是目录)

转载 作者:行者123 更新时间:2023-12-04 23:26:04 32 4
gpt4 key购买 nike

我正在使用 ffmpeg-cli-wrapper从我上传到 AWS lambda 的应用程序运行 FFmpeg。我最初得到的是

error=13 Permission Denied



当试图通过包装器调用它时 ProcessBuilder .我最初的解决方案是 chmod 755 ffmpeg 上传之前,但它没有帮助。

有关信息,我的 FFmpeg 和 ffprobe 文件位于以下类路径中: static/ffmpeg/ffmpegstatic/ffmpeg/ffprobe .它们也是静态链接的。

AWS Lambda permission denied when trying to use ffmpeg

我尝试按照上面示例中给出的说明进行操作,但是当我尝试执行 mv 或 cp 命令时: Runtime.exec("mv " + pathToFFmpeg + " /tmp") ,我得到

error=20, Not a directory



错误。

我知道我有 FFmpeg 的正确路径,因为以下命令 mv *pathToFFmpeg* *an arbitrary name*运行没有错误,这意味着文件在那里,所以 mv 命令只是按照它应该做的那样重命名它。

最佳答案

我正在从 Windows 环境创建 JAR,我的理解是 lambda 环境中的 chmod 755'ing 因此没有任何效果。

解决方案 :在 Windows 中进行 JAR 之前,将权限授予“Everyone”组对文件或任何可能包含的目录的权限。它没有显示给我,所以我不得不添加权限组。这似乎解决了我遇到的 error=20 和 error=13 错误。 Screenshot of menu .请注意,我仍然必须包含 chmod 755在 lambda 函数上,否则我会再次得到 error=13 。

我还遇到了一个错误=2(没有这样的文件或目录),到目前为止我已经能够通过以下方式解决:
a) 从 Runtime.exec() 切换至ProcessBuilder .
(我想 Runtime.exec() 不那么“精致”,需要额外的配置)
b) 使用 cp而不是 mv .
c) 运行 ProcessBuilder从我调用 FFmpeg 的同一方法,而不是调用同一类的不同方法来完成此操作。不知道这是为什么...

关于ffmpeg - AWS lambda 。将 FFmpeg 移动到/tmp 时出现错误=20(不是目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47232478/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com