关于 import-canvas-capture
这是 Remotion 的内部不稳定工作流,可将画布录制导入项目并生成合成。它适用于需要从录制元数据创建组件、注册项和公共资源的仓库工作流。
主要功能
- 01将录制元数据导入合成
- 02生成并注册组件
- 03将录制复制到公共资源目录
- 04覆盖合成尺寸和帧率
- 05通过 dry-run 预览更改
适用场景
- 01将画布录制添加到 Remotion 项目
- 02不写入文件地检查拟议源码更改
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ remotion-dev/ remotion --skill import-canvas-capture安装后在 Claude Code 中输入/import-canvas-capture确认已加载。
详细介绍
导入 Canvas Capture
这是一个内部且不稳定的工作流。请将此技能保留在 .agents/skills 中;
不要通过 packages/skills 分发,也不要将此命令记载为稳定 API。
工作流
-
找到录制的捕获文件和目标 Remotion 项目。原始录制必须包含嵌入的
REMOTION_CAPTURE_DATA元数据;丢失此元数据的转换后视频无法导入。 -
检查项目,找到包含其合成注册信息的 TypeScript 文件 (通常是
src/Root.tsx)。选择一个未使用的合成 ID。 -
在目标项目的根目录中运行:
bunx remotion experimental-codemod add-canvas-capture /absolute/path/capture.webm \ --composition-file src/Root.tsx \ --id MyCapture在 monorepo 中开发此命令时,请先使用
bun run build构建 CLI,然后从目标项目的根目录调用本地 CLI:node /absolute/path/to/remotion/packages/cli/remotion-cli.js \ experimental-codemod add-canvas-capture /absolute/path/capture.webm \ --composition-file src/Root.tsx --id MyCapture -
检查报告的源文件和公共资源。导入器会在注册文件旁生成一个组件并注册它, 将视频复制到公共目录,并在项目使用的 Remotion 版本中安装缺失的
@remotion/media和@remotion/mac-cursors依赖项。无需运行 Studio。 已有的 Studio 会话会通过文件监视器获取源代码更改;此操作不会进入 Studio 的撤销记录。 -
向用户报告合成 ID 和已更改的文件。
选项和冲突
- 默认值与 Studio 的捕获导入设置一致:1920×1080、60 fps,时长向上取整为录制时长。
传入
--width、--height或--fps可覆盖这些值。 录制视频尺寸与合成尺寸互不影响。 --public-dir可覆盖已配置的公共目录。--package-manager用于选择依赖安装器。--dry-run会解析录制内容并生成源代码更改,但不会安装依赖项或写入项目文件。 程序化结果中包含拟议的源代码更改。- 注册文件路径相对于项目根目录解析;CLI 捕获文件路径相对于当前工作目录解析。
- 如果组件文件已存在或公共资源发生冲突,操作将被拒绝。如果录制文件已位于公共目录中, 请将该文件作为输入传入以便复用。否则,请重命名输入文件或选择其他合成 ID; 不要为了绕过错误而覆盖现有资源或组件。
程序化访问
使用 @remotion/cli 中的 CliInternals.importCanvasCapture。此接口为内部接口,
且不稳定。其输入包括 captureFile、compositionFile、compositionId、
remotionRoot、publicDir、fps、width、height、packageManager、
logLevel 和 dryRun。默认目录、尺寸、帧率和包管理器请传入 null。
文件路径相对于 remotionRoot 解析。
结果包含合成 ID、源文件和资源路径、合成元数据以及 codemod 更改。
传入 dryRun: true 可在内存中检查更改。