v5.0 迁移
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 i
、yarn
、pnpm i
或 bun 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()
不再接受 from
和 to
选项
传递的值根本不影响计算。因此,我们移除了这些选项。
必要操作: 从您的代码中删除 from
和 to
选项。
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 推出。
以前,我们的条款是由条款和条件生成器生成的,毫无意义。我们编写了条款和条件,以正确定义我们当前如何处理我们的许可业务和政策。