SuperAPI AI 工具集

update-remotion-rust-ffmpeg

编程与开发

查看项目

更新于 10-15 21:05

技能介绍

用途:在 Remotion 仓库中把 ffmpeg-next 更新为已发布的 rust-ffmpeg 提交,并重建合成器二进制、校验后提交 PR。

主要流程:需要 $update-rust-ffmpeg-sys 提供的完整已发布 rust-ffmpeg 提交 SHA;提交或开 PR 前先读 ../pr/SKILL.md 与 ../pr-name/SKILL.md。在 codex/update-rust-ffmpeg 专用工作树操作,禁止在主 checkout 执行。拉取 origin,若分支无 release 提交则快进到 origin/main,不得 rebase、reset 或覆盖无关改动。确认 SHA 可从 remotion-dev/rust-ffmpeg 的 main 分支到达,读取该提交的 Cargo.toml 并记录 ffmpeg-sys-next 修订。

更新与构建:只改 packages/compositor/Cargo.toml 中的 ffmpeg-next.rev,然后在该目录执行 cargo update -p ffmpeg-next;核对 Cargo.lock 中 ffmpeg-next 与 ffmpeg-sys-next 指向记录的 SHA。执行 bun install --frozen-lockfile。若缺少 toolchains,运行 bun install-toolchain.ts 与 bun run build-all,需完成 Windows x64 GNU、macOS ARM64/x64、Linux ARM64/x64 GNU/musl 全平台构建;macOS 上需备好面向 MSVCRT 的 x86_64-w64-mingw32-gcc 链接器,不可用默认 UCRT 工具链。随后在仓库根运行 bun run build、bun run stylecheck、git diff --check。检查 diff 应仅含两个 Cargo 文件及六个 compositor-{darwin,linux}-* 与 compositor-win32-x64-msvc 平台包下的重建文件。用 objdump -p 检查 Windows remotion.exe 必须依赖 msvcrt.dll,拒绝 api-ms-win-crt-* 或 ucrtbase.dll。

提交与 PR:提交前检查当前分支是否已有 PR,有则报告并停止。只暂存两个 Cargo 文件、七个重建平台包、packages/compositor/build.ts 及本技能的有意更新;提交与 PR 标题为 @remotion/compositor: Update rust-ffmpeg and rebuild binaries。用 git push -u origin HEAD 推送一次,禁止 force-push,被拒则停止报告。将 PR 正文写入临时 Markdown 文件,包含两个完整 SHA、交接中可用的 splitter 源 SHA、七个重建目标与验证结果,用 gh pr create --draft --body-file 创建草稿 PR。完成后报告 PR URL、分支、三个源提交 SHA、重建目标和验证结果。限制:严格绑定指定工作树、分支与提交标题,任何无关改动或已有 PR 时须停止。