我正在使用ffmpeg-cli-wrapper从我上传到AWS lambda的应用程序运行FFmpeg。我最初得到AWS Lambda。错误= 20(不是目录)当FFmpeg移动到/ tmp
错误= 13权限试图通过包装
ProcessBuilder
调用它的时候被拒绝
。我的初始解决方案是在上传之前对chmod 755
ffmpeg,但它没有帮助。
有关信息,我的FFmpeg和ffprobe文件位于以下类路径中:static/ffmpeg/ffmpeg
和static/ffmpeg/ffprobe
。它们也是静态链接的。
AWS Lambda permission denied when trying to use ffmpeg
我试着按照上面的例子中给出的说明,但是当我尝试执行或者MV或cp命令:Runtime.exec("mv " + pathToFFmpeg + " /tmp")
,我得到的
错误= 20,没有目录
错误。
我知道我有FFmpeg的正确路径,因为以下命令mv *pathToFFmpeg* *an arbitrary name*
运行时没有错误,这意味着该文件在那里,因此mv命令只是将它重命名为它应该执行的操作。
该错误似乎没有道理,但您的主目录不可写,所以移动不应该工作。尝试'cp'。 –
嗯,我通过切换到'ProcessBuilder'(之前使用'Runtime.exec()')来解决这个问题。现在,当访问/ tmp中的ffmpeg(即使在'chmod 755''/ tmp中的文件之后),我又得到了'error = 13,Permission denied',我应该问一个新的问题吗? –
我现在修复了这个问题!我最初是从Windows 10 bash中获得文件的,但是我发现它一直没有任何影响。我发现了一种在Windows中做同样事情的方法,现在我可以使用FFmpeg。谢谢你的帮助! –