Skip to main content

Rust 开发

要参与 Remotion 的 Rust 部分的开发,您需要执行额外的步骤。
如果您只涉及 TypeScript 部分,则这些步骤是完全可选的。

设置

首先,安装 Cargo,如果您没有安装,或者升级到支持 edition-2021 的版本:

sh
curl https://sh.rustup.rs -sSf | sh
sh
curl https://sh.rustup.rs -sSf | sh

构建

要为您的操作系统构建 Rust 部分,请运行:

sh
node build.mjs
sh
node build.mjs

当您在 packages/renderer 目录中时。

为所有平台构建

这些说明目前适用于 macOS。欢迎为其他平台做出贡献。

要为所有支持的平台构建 Rust 二进制文件,您需要安装它们的工具链:

sh
node install-toolchains.mjs
sh
node install-toolchains.mjs

然后,您可以使用以下命令构建所有二进制文件:

pnpm build-all
pnpm build-all

packages/renderer 包中。生成的构件应该提交到 Git。

架构

开发工作流程

  • Remotion 有特定于平台的包,如 compositor-darwin-arm64,用户只会安装特定于其操作系统的包。
  • Rust 代码默认会编译到您的本机 compositor 包中,除非您为所有平台编译。
  • 生成的二进制文件会提交到 Git,以便那些没有设置 Rust 的人也可以进行开发。

FFmpeg 绑定

  • Rust 二进制文件和 FFmpeg 二进制文件都使用位于每个合成器包文件夹中的共享库。
  • 这些共享库和 FFmpeg 二进制文件来自 rust-ffmpeg-splitter 仓库。它们在 CircleCI 上构建,也在 M1 Macbook 上构建,并粘贴到 rust-ffmpeg-sys 项目中。rust-ffmpeg-sys 项目是 rust-ffmpeg 的依赖项,后者是主 Remotion 项目的依赖项。请参考这些仓库以了解如何构建它们。

Please paste the Markdown content you would like me to translate into Chinese.