我想编写一个响应S3
put事件的处理程序,以将上载到mp4的任何avi文件转换为。我使用AWS工具包插件在Java中,Eclipse中进行了此操作。对于视频转换,我将ffmpeg与ffmpeg-
cli-wrapper一起使用
,并且在源代码树中提供了ffmpeg的静态(Linux)二进制文件。
我发现上载函数时,二进制文件被放入/var/task
,但是当我尝试使用编写的测试函数时,出现“权限被拒绝”错误。
import net.bramp.ffmpeg.FFmpeg;
public class LambdaFunctionHandler implements RequestHandler<S3Event, String> {
private static final String FFMPEG = "/var/task/ffmpeg";
public String handleRequest(S3Event event, Context context) {
try {
FFmpeg ff = new FFmpeg(FFMPEG);
System.out.println(ff.version());
} catch (Exception e) {
e.printStackTrace();
}
return "foo";
}
}
和堆栈跟踪的第一行:java.io.IOException: Cannot run program "/var/task/ffmpeg": error=13, Permission denied
。
如何执行此二进制文件?我已经按照其他人的建议做了,并且chmod 755
在上传之前使用了二进制文件,但是并没有改变。
AWS Lambda在Amazon Linux上运行。这是一个已知问题。尝试构建(启用静态功能)并检查它是否在Amazon
Linux上运行并上传该二进制文件。您没有对chmod
中文件的特权/var/task/
。或者尝试以下可行的解决方案:
ffmpeg
到/tmp
chmod 755 /tmp/ffmpeg
/tmp/ffmpeg
有关更多信息,请参见此讨论。
有趣的是,当我尝试它下载的sudo版本时,但是终端中不能识别。 我的节点是10.16。我的净现值是6.9。0 这是文件问题还是我的Mac?
我试图使用docker卷和- 得到了一个错误- 但是当我尝试运行没有-v标志的相同容器时- 容器启动正常,没有错误。 第一个docker运行日志- 使用了Build命令(该应用程序是一个示例react应用程序)- 我的Dockerfile。开发- 由反应项目生成的文件- 我试图将插入容器并从中执行,但得到了相同的错误,即使我能够在没有任何权限错误的情况下从shell执行。我无法理解docker运行
请让我知道如何解决这个问题。
我正在使用一个webview加载一个具有视频通话功能的url。当我尝试发起视频通话时。我得到以下错误“权限被拒绝。请刷新页面并允许访问您的相机和麦克风”。 如果我给android CAMERA和Record_Audio的运行时权限。将启动视频呼叫,并将视频传输到计算机。但是在移动端,我不能像查看接收方的视频一样查看我的视频。它只显示getDefaultVideoPoster()。 我已经尝试过使用
Windows 10上的更新似乎一夜之间就打破了Python。只是尝试运行python--version返回了一个“权限被拒绝”错误。三次更新都没有;KB4507453、KB4506991或KB4509096看起来可能是罪魁祸首,但问题发生的时间令人怀疑。我希望有一个更简单的解决方案,我没有错过,而不是忙于回滚。 python上的权限是“-rwxr-xr-x”,在安装了昨晚的补丁程序之后,除了让W
我试图写一个简单的Ansible剧本,请看下面的片段。使用Ansible 2.4.0.0、Ubuntu 17.04、Python 2.7.13。这是我第一次使用Ansible和Playbooks,所以请不要太苛刻。我做错了什么? playbook.yml 编辑:如果我通过SSH连接到同一台机器,我可以手动更新apt-cache并使用相同的用户(使用sudo)安装包。如果我在Playbook中运行命