update-remotion-rust-ffmpeg について
update-remotion-rust-ffmpeg は、Remotion の Rust FFmpeg 依存関係を更新し、コンポジター成果物を再ビルドするリポジトリスキルです。検証、ドラフトプルリクエストの作成、更新結果の報告までを案内します。
主な機能
- 01指定された上流コミット SHA を検証
- 02Cargo の依存関係とロックファイルを更新
- 03複数ターゲット向けにコンポジターバイナリを再ビルド
- 04Windows のランタイムインポートを検証
- 05ドラフトプルリクエストを作成
活用シーン
- 01Remotion の rust-ffmpeg を更新
- 02コンポジターのリリース成果物を再ビルド
- 03依存関係更新のプルリクエストを準備・検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ remotion-dev/ remotion --skill update-remotion-rust-ffmpegインストール後、Claude Code で/update-remotion-rust-ffmpegを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Remotion Rust FFmpeg の更新
$update-rust-ffmpeg-sys から、公開済みの rust-ffmpeg の完全なコミット SHA を受け取ってください。
コミットまたはプルリクエストを作成する前に、../pr/SKILL.md と ../pr-name/SKILL.md を読んでください。
ワークツリーの準備
専用の Remotion ワークツリーである codex/update-rust-ffmpeg から実行してください。この作業をプライマリの /Users/jonathanburger/remotion チェックアウトで行わないでください。
origin をフェッチしてください。ブランチにリリースコミットがまだない場合は、origin/main にファストフォワードしてください。リベース、リセット、または無関係な作業の上書きはしないでください。
このスキル自身が追跡する .agents/skills/update-remotion-rust-ffmpeg のファイルは、変更せずに存在していても問題ありません。依頼されたプルリクエストに明示的に含まれていない既存の変更があれば、作業を停止してください。
指定された完全な SHA が remotion-dev/rust-ffmpeg の main ブランチから到達可能であることを確認してください。そのコミットの Cargo.toml を読み、後でロックファイルを検証するために、正確な ffmpeg-sys-next のリビジョンを記録してください。
Cargo の更新と成果物の再ビルド
packages/compositor/Cargo.toml の ffmpeg-next.rev の値だけを、指定された完全な SHA に変更してください。packages/compositor から次を実行してください。
cargo update -p ffmpeg-next
Cargo.lock で、次の点を確認してください。
ffmpeg-nextが指定されたrust-ffmpegの SHA に解決されていること。ffmpeg-sys-nextが記録したrust-ffmpeg-sysの SHA に解決されていること。
ロックファイルを変更せずに、ワークスペースの依存関係をインストールしてください。
bun install --frozen-lockfile
packages/compositor/toolchains が存在しない場合は、クロスコンパイル用ツールチェーンをインストールしてください。
cd packages/compositor
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 をデフォルトとするツールチェーンは使用しないでください。このビルドでは、remotion 実行ファイルと、各プラットフォームパッケージ内の FFmpeg 共有ライブラリ/CLI ファイルの両方が更新されます。ネイティブ向けだけのビルドで代用しないでください。
リポジトリのルートから、次を実行してください。
bun run build
bun run stylecheck
git diff --check
差分を確認してください。差分に含まれていてよいのは、次のファイルです。
packages/compositor/Cargo.tomlとpackages/compositor/Cargo.lock- 6 つの
packages/compositor-{darwin,linux}-*プラットフォームパッケージおよびpackages/compositor-win32-x64-msvc内の再ビルドされたファイル
無関係な追跡対象ファイルが変更されていたら、作業を停止してください。Windows のコンポジターパッケージが変更されていることを確認してください。これには remotion.exe と、更新されたアーカイブから取得した FFmpeg ファイルが含まれます。objdump -p packages/compositor-win32-x64-msvc/remotion.exe を実行し、msvcrt.dll があること、および api-ms-win-crt-* または ucrtbase.dll のインポートがないことを確認してください。
コミット、プッシュ、PR の作成
コミットする前に、現在のブランチに対する既存のプルリクエストがないか確認してください。存在する場合は、そのプルリクエストを報告して作業を停止し、重複作成や書き換えを行わないでください。
2 つの Cargo ファイル、7 つの再ビルドされたコンポジタープラットフォームパッケージ、packages/compositor/build.ts、およびこのスキルへの意図的な更新があれば、それだけをステージしてください。次のコミットおよび PR タイトルを使用してください。
`@remotion/compositor`: Update rust-ffmpeg and rebuild binaries
git push -u origin HEAD を一度だけ実行してください。強制プッシュはしないでください。プッシュが拒否された場合は、作業を停止してその旨を報告してください。
簡潔な PR 本文を一時的な Markdown ファイルに書いてください。rust-ffmpeg と rust-ffmpeg-sys の完全な SHA、引き継ぎ情報にあれば splitter のソース SHA、再ビルドした 7 つのターゲット、検証結果を含めてください。gh pr create --draft --body-file で main を対象とするドラフト PR を作成してください。本文をインラインで渡さないでください。
更新チェーンの完了
PR の URL、ブランチ、引き継ぎ情報にある 3 つすべてのソースコミット SHA、再ビルドしたターゲット、検証結果を報告してください。次のリポジトリはありません。複数リポジトリにまたがる更新チェーンは完了です。