在aws-lambda 中使用xvfb,firefox,ffmpeg

本文记录了将一个需要xvfb、firefox和ffmpeg的镜像迁移到AWS Lambda的过程。由于Lambda的限制,不能直接安装这些工具,而是需要将它们编译为可执行二进制文件。对于ffmpeg,可以从官网直接下载;xvfb需要编译xkeyboard和xkbcomp;firefox则从已有的容器中获取必要的动态库文件。最后,文章提到了使用Go语言实现的Lambda入口函数,并提供了完整的资源下载链接。
摘要由CSDN通过智能技术生成

前一段时间,做了一个对浏览器录制推流的镜像,由于对资源的要求比较高,所以需要服务动态伸缩。后发现aws的一款免费服务lambda,号称可以最高一千个实例,并且免费,就尝试迁移到其上面。研究了几天,最终效果差强人意,现做个记录。

1.问题

lambda想要提供的应该只是简单的服务部署,比如一个spring boot项目,它本意可能并不想用户用其来部署耗费大量cpu或者内存资源的应用,其容器内部做了很多限制,比如不可以直接yum install。由于这些限制,之前调试通过的镜像则不可以简单的复制到lambda中,其中最大的问题就是xvfb,firefox,ffmpeg不可通过install的方式下载安装,但可以将其编译成可执行的二进制程序上传到lambda中调用。

2.解决

2.1  ffmpeg

ffmpeg的问题很好解决,在其官网可以下载可执行程序而不必通过install的方式,不再赘述。

2.2  xvfb

查了很多资料,这方面信息不是很多,无奈只好自己编译,过程中发现,除了xvfb之外,还需要编译xkeyboard和xkbcomp。要注意的是,lambda实例中,工作目录是/var/task。

编译xkeyboard

wget https://www.x.org/archive/individual/data/xkeyboard-config/xkeyboard-config-2.19.tar.gz

tar -xzf xkeyboard-config-2.19.tar.gz && cd /var/task/xkeyboard-config-2.19

//设置LD_LIBRARY_PATH(指定动态连接库路径)
export LD_LIBRARY_PATH=/var/task/lib;
export PKG_CONFIG_PATH=/var/task/share/pkgconfig:/var/task/lib/pkgconfig;

//指定输出文件夹,指定xkb输出路径
./configure --prefix=/var/task --with-xkb-base=/var/task/xkb

make && make install

编译xk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值