Skip to main content

v5.0 迁移

note

Remotion 5.0 尚未发布。这是一个不完整的计划发布的破坏性更改列表。

如何升级

查看 变更日志 以找到最新版本。 将 remotion 和所有以 @remotion 开头的包升级到最新版本,例如 5.0.0

diff
- "remotion": "4.0.141"
- "@remotion/bundler": "4.0.141"
- "@remotion/eslint-config": "4.0.141"
- "@remotion/eslint-plugin": "4.0.141"
- "@remotion/cli": "4.0.141"
- "@remotion/renderer": "4.0.141"
+ "remotion": "5.0.0"
+ "@remotion/bundler": "5.0.0"
+ "@remotion/eslint-config": "5.0.0"
+ "@remotion/eslint-plugin": "5.0.0"
+ "@remotion/cli": "5.0.0"
+ "@remotion/renderer": "5.0.0"
diff
- "remotion": "4.0.141"
- "@remotion/bundler": "4.0.141"
- "@remotion/eslint-config": "4.0.141"
- "@remotion/eslint-plugin": "4.0.141"
- "@remotion/cli": "4.0.141"
- "@remotion/renderer": "4.0.141"
+ "remotion": "5.0.0"
+ "@remotion/bundler": "5.0.0"
+ "@remotion/eslint-config": "5.0.0"
+ "@remotion/eslint-plugin": "5.0.0"
+ "@remotion/cli": "5.0.0"
+ "@remotion/renderer": "5.0.0"

然后分别运行 npm iyarnpnpm ibun i

运行时要求

最低 Node 版本现在为 18.0.0。最低 Bun 版本为 1.1.3。

selectComposition()getCompositions() 现在需要 inputProps

selectComposition()getCompositions() 中现在需要 inputProps
一个常见的问题是渲染未按预期工作,因为未传递输入属性。

必要操作:如果没有任何输入属性,请传递一个空对象 {}

visualizeAudio() 产生不同的结果

optimizeFor: "speed" 现在是默认值。这将产生略有不同的结果。

必要操作:检查音频的可视化。如果不满意,通过设置 optimizeFor: "accuracy" 恢复到旧行为。

TransitionSeries 不再支持 layout="none"

使用带有 layout="none"TransitionSeries 不再受支持。
将过渡元素定位绝对地,因此这个属性从未有意义。

必要操作:移除 layout 属性。

Zod 应升级到 3.23.8

Remotion 之前使用了 Zod 3.22.3 的类型。在 Remotion 5.0 中,使用了 3.23.8 的类型。

必要操作:如果使用 Zod,请将 Zod 升级到 3.23.8。

measureSpring() 不再接受 fromto 选项

传递的值根本不影响计算。因此,我们移除了这些选项。

必要操作: 从您的代码中删除 fromto 选项。

renderMediaOnLambda() 中的 overwrite 现在默认为 true

renderMediaOnLambda() 中,overwrite 的默认值已更改为 true。这将跳过检查文件是否已存在于 S3 存储桶中,从而使渲染开始更快。

必要操作: 如果要保留旧行为,请显式设置 overwrite: false

openBrowser() 现在接受 logLevel 而不是 shouldDumpIo

在 5.0 版本中,已删除了 shouldDumpIo 选项。
请改用 logLevel

diskSizeInMb 默认值现在为 10240

对于 Remotion Lambda,现在默认磁盘大小为 10240 MB。
从技术上讲,这将为您的渲染增加微小成本,但会导致更可靠和更快的渲染,因为 Chrome 不太可能耗尽磁盘缓存。

必要操作:

  • 如果要保留旧行为,请显式设置 diskSizeInMb: 2048
  • 如果您的 Lambda 函数名称硬编码包含 disk2048mb,请取消硬编码并使用 speculateFunctionName() 获取正确的名称。

许可证更改

Remotion 5.0 具有更新的许可证。在此处查看许可证,或比较更改

除了措辞更改外,此许可证中有两个实质性更改:

  • 承包商也计入团队规模。以前,公司只能与承包商合作,永远不必获取公司许可证。
  • 公司许可证受我们的条款和条件约束,这将随 Remotion 5.0 推出。
    以前,我们的条款是由条款和条件生成器生成的,毫无意义。我们编写了条款和条件,以正确定义我们当前如何处理我们的许可业务和政策。