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.