Skip to main content

运行环境

本页面描述了 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 MB2
3009 - 5307 MB3
5308 - 7076 MB4
7077 - 8845 MB5
8846+ MB6

您可以通过使用 concurrencyPerLambda 选项在 Lambda 函数内同时渲染多个帧。

Chrome

该函数已经包含了一个运行版本的 Chrome 浏览器。 该浏览器已经编译包含专有编解码器,因此您可以将 MP4 视频包含到您的项目中。

Remotion 版本Chrome 版本
从 5.0.0(即将发布)123.0.6312.86
从 4.0.0114.0.5731.1
从 3.2.0104.0.5112.64
从 3.0.8101.0.4951.68
从 3.0.098.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

另请参阅