运行环境
本页面描述了 Lambda 函数运行的环境。
Node.JS 版本
Lambda 函数使用 18.x
发行线的 NodeJS 版本。
如果您的用户策略包含 lambda:PutRuntimeManagementConfig
,Lambda 运行时将被锁定为
arn:aws:lambda:${region}::runtime:b97ad873eb5228db2e7d5727cd116734cc24c92ff1381739c4400c095404a2d3
arn:aws:lambda:${region}::runtime:b97ad873eb5228db2e7d5727cd116734cc24c92ff1381739c4400c095404a2d3
这是推荐的做法。否则,AWS 对运行时的未来更新可能会导致函数出现问题。如果您的策略中没有此权限,将会打印警告。
Details
变更日志
在 Remotion v4.0.0 之前,Node.JS 版本为14.x
。内存大小
默认值为 2048 MB。您可以通过向 deployFunction()
传递参数或在部署函数时向 CLI 传递 --memory
标志来配置它。
超时时间
默认值为 120 秒。您可以在调用 deployFunction()
时配置它,或在部署函数时向 CLI 传递 --timeout
标志。
请注意,您可能不需要增加它 - 由于视频被分割成许多部分并且这些部分是并行渲染的,很少有情况需要超过 120 秒。
存储空间
根据您的配置,函数总共有 512MB 到 10GB 的存储空间 用于视频渲染。请记住,各种块的连接成一个视频发生在 Lambda 函数内部,因此空间必须足够容纳块和输出视频。
核心数量 / vCPUs
Lambda 中的核心数量取决于您分配的内存量。根据 这项研究,这些是分层的:
内存 | vCPUs |
---|---|
128 - 3008 MB | 2 |
3009 - 5307 MB | 3 |
5308 - 7076 MB | 4 |
7077 - 8845 MB | 5 |
8846+ MB | 6 |
您可以通过使用 concurrencyPerLambda
选项在 Lambda 函数内同时渲染多个帧。
Chrome
该函数已经包含了一个运行版本的 Chrome 浏览器。 该浏览器已经编译包含专有编解码器,因此您可以将 MP4 视频包含到您的项目中。
Remotion 版本 | Chrome 版本 |
---|---|
从 5.0.0(即将发布) | 123.0.6312.86 |
从 4.0.0 | 114.0.5731.1 |
从 3.2.0 | 104.0.5112.64 |
从 3.0.8 | 101.0.4951.68 |
从 3.0.0 | 98.0.4758.139 |
FFMPEG
自 Remotion 4.0 起,该函数已经包含了一个 FFMPEG 6.0 二进制文件,该文件经过编译以支持 Remotion 支持的所有 编解码器。
v4.0.0 之前
从源代码构建的版本: N-104627-g40cf317d09
(对应 v4.4)
配置:
--prefix=/home/ec2-user/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/ec2-user/ffmpeg_build/include --extra-ldflags=-L/home/ec2-user/ffmpeg_build/lib --extra-libs=-lpthread --extra-libs=-lm --bindir=/home/ec2-user/bin --enable-gpl --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
字体
该函数包含以下字体:
- Noto Color Emoji
- Noto Sans Black
- Noto Sans Bold
- Noto Sans Regular
- Noto Sans SemiBold
- Noto Sans Thin
- Noto Sans Arabic Regular
- Noto Sans Devanagari Regular
- Noto Sans Hebrew Regular
- Noto Sans Tamil Regular
- Noto Sans Thai Regular
自 2021 年 12 月起,以下字体也仅在 arm64
版本的 Remotion Lambda 上可用:
- Noto Sans Simplified Chinese Regular
- Noto Sans Simplified Chinese Bold
- Noto Sans Traditional Chinese Regular
- Noto Sans Traditional Chinese Bold
- Noto Sans Korean Regular
- Noto Sans Korean Bold
- Noto Sans Japanese Regular
- Noto Sans Japanese Bold
如果您想使用不同的字体,我们建议使用Webfonts。
虽然我们可以包含的默认字体集必须保持较小以节省空间,但如果您遇到无法呈现字符的情况,我们很乐意听取反馈意见。
自定义层
请参阅:自定义 Lambda 层 以了解如何自定义此堆栈。
Remotion 5.0 中的运行时更改
Remotion 5.0 将使用以下运行时:
- Node.js 20.x 而不是 18.x
- Chrome 123.0.6312.86 而不是 114.0.5731.1。
- AWS Lambda 运行时锁定为
arn:aws:lambda:${region}::runtime:b97ad873eb5228db2e7d5727cd116734cc24c92ff1381739c4400c095404a2d3
从 v4.0.148 开始:您可以通过在 deployFunction()
函数中设置 enableV5Runtime: true
来选择使用新的运行时。
如果您使用 CLI,请在 npx remotion lambda functions deploy
命令中传递 --enable-v5-runtime
。