Communitygithub.com

ビデオ編集比較

完成したカット・アズ・コードの成果物を、元のソースと厳密に並べてレビューするために使用します。カット、可変速、カラーグレーディング、グラフィックスを含みます。

ビデオ編集比較 とは?

このスキルは、完成した「カット・アズ・コード」形式の動画編集成果物を、元のソース素材と厳密にサイドバイサイドで比較検証するためのものです。左パネルには元のソースを連続再生し、右パネルには最終納品ピクセルを元のソースのタイムライン上にマッピングして投影します。これにより、カット、可変速再生、カラーグレード、グラフィックスなどのすべての編集がソースのタイムライン上で正しく反映されているかを確認できます。FFmpegとPythonのPillowライブラリに依存しており、`work/timeline.json`、`input/original-video.mp4`、`final/final-video.mp4`の3つを入力として受け取ります。出力は、元のソース幅の2倍の幅を持つ比較動画で、検証後にはレビューサマリーが自動生成されます。この比較は最終成果物が存在する場合にのみ生成され、中間レンダリングやカットプランとの比較は行いません。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/WhiteTowerAI/cut-as-code/tree/main/skills/video-edit-compare

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ビデオ編集比較 は何をしますか?

単一のV1比較モード「original-vs-final-source-time」をレンダリングします。

左パネルは元の映像を連続して再生します。右パネルは実際の最終納品ピクセルを元のソースのタイムラインにマッピングして投影します。削除された範囲は黒く表示され、保持された最終範囲は元のソースの長さに引き伸ばされ、オーディオは元のソースからコピーされます。

依存関係

ffmpeg/ffprobe がPATHに存在し、PythonとPillowが必要です。メディアを処理する前にこれらを確認してください。

入力

  • work/timeline.json: 正規のクロノロジカルなソースからプログラムへのマッピング
  • input/original-video.mp4: 元のソース
  • final/final-video.mp4: 選択されたすべての編集後の実際の納品成果物

カットプランや中間レンダリングと比較しないでください。最終ピクセルが必要な理由は、レビューにグレードやカードが含まれるためです。

レンダリング

python scripts/make_compare.py TIMELINE.json SOURCE.mp4 FINAL.mp4 OUT.mp4 [--filter-only]

プロジェクト例:

python skills/video-edit-compare/scripts/make_compare.py `
  work/timeline.json `
  input/original-video.mp4 `
  final/final-video.mp4 `
  review/04-edit-compare/original-vs-final-source-time.mp4

スクリプトは常に永続的な work/edit-compare/compare-plan.json を書き出します。PILラベル画像と生成されたフィルターグラフは使い捨ての work/cache/ 下に書き出します。--filter-only を指定すると、プランと検査可能なキャッシュファイルを作成し、動画のレンダリングは行いません。

マッピングルール

  • ソースクリップは時系列順、重複なし、単一ソースであること。
  • 各クリップの program_range を最終動画からトリミングします。
  • クリップの速度で引き伸ばし、その source_range の長さを復元します。
  • ソースタイムのギャップごとに黒を挿入します。
  • 元のオーディオは再タイミングせずにマッピングします。
  • 各パートの開始フレームと終了フレームは、その絶対的なソースタイム境界から導出し、そのフレーム数にトリミングして、タイムラインの有理数FPSでPTSを再構築します。各パートの長さを独立して丸めてはいけません。累積的なconcatの丸めによりソースタイムのずれが発生します。

順序変更、重複、重なり、非線形速度、または複数ソースのタイムラインはV1ではサポートされておらず、検証に失敗する必要があります。

検証

レンダリング後、スクリプトは完全な出力を自動的にチェックします:

  • 長さが source_duration_s と1フレーム以内で一致すること。
  • 出力幅がソース幅の2倍であること。
  • 削除された範囲のすべてのサンプルが右側で黒であること。
  • 保持された範囲のサンプルが対応する最終プログラムフレームと一致すること。
  • 元のオーディオが連続しており、ソースクロック上にあること。

成功すると review/04-edit-comparison-summary.md に合格検証結果が書き込まれます。work/project.json が存在する場合は、original-vs-final-source-time レビューノードも追加または更新し、based_on に正確なアクティブ操作リビジョンを記録し、START-HERE.md を更新します。別のチェックマニフェストは作成しないでください。

この比較はレビュー成果物であり、デフォルトのプレビューではありません。最終レンダリングが存在した後に生成してください。

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

関連スキル