mcpField
V
video-editing

video-editing

github.com/gitethanwooクリエイティブ・メディア381 回インストール13 週間前に更新
リポジトリ

video-editing について

編集者やエージェント向けの汎用ビデオ編集スキルです。素材の確認、編集計画、レンダリング、レビュー、完成映像の検証を扱い、内容に応じて FFmpeg、Remotion、または併用を選びます。

主な機能

  1. 01素材の確認とコンタクトシート作成
  2. 02素材時間と出力時間の計画
  3. 03FFmpegまたはRemotionでレンダリング
  4. 04シートや静止画でドラフトをレビュー
  5. 05完成映像の検証と記録

活用シーン

  1. 01根拠に基づく編集計画の作成
  2. 02テンポやトランジションのレビュー
  3. 03映像グラフィックと合成の制作
  4. 04最終動画の検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gitethanwoo/video-editing --skill video-editing

インストール後、Claude Code で/video-editingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
assets/edit-project-template/
editorial-plan.json
assets/edit-project-template/filtergraphs/
.gitkeep
assets/edit-project-template/output/
.gitkeep
assets/edit-project-template/review/
.gitkeep
assets/edit-project-template/work/
.gitkeep
assets/remotion-edit-template/
package-lock.json
package.json
project.example.json
project.overlay.example.json
remotion.config.ts
tsconfig.json
assets/remotion-edit-template/public/media/
.gitkeep
assets/remotion-edit-template/src/
animation.ts
Edit.tsx
index.ts
Root.tsx
types.ts
references/
ffmpeg-recipes.md
motion-graphics.md
quality-gates.md
render-plan.md
timeline-and-compositing.md
workflow.md
scripts/
video_workbench.py
tests/
smoke_test.py

詳細

動画編集

ユーザーが提供するあらゆる映像素材を編集します。これは汎用の作業環境であり、特定のビジュアルスタイル向けのプリセットではありません。各編集を、確認した素材の事実、明確なタイミング、適切なレンダリングエンジン、迅速なレビュー用アーティファクト、検証済みのマスターを備えた編集システムとして扱います。

SKILL_DIR に、このファイルを含むディレクトリの絶対パスを設定します。バンドルされたスクリプト、参照資料、アセット、サンプルは、このディレクトリを基準に解決します。

主な依頼が、完成した参考映像のショット、カメラワーク、音声、タイトル、テンポ、インタビュー/Bロールの文法をリバースエンジニアリングすることなら、まず隣接する analyze-video-editing スキルを使用します。話し言葉に合わせてカットアウェイを探す、評価する、または配置する依頼なら、この編集ワークフローに承認済みマニフェストを取り込む前に、隣接する find-broll スキルを使用します。

タスクに既存の作業環境がない場合は、中立的な編集用ワークスペースを初期化します。

python3 "$SKILL_DIR/scripts/video_workbench.py" init /path/to/edit-project

生成される editorial-plan.json は、人間とエージェントが使用する計画用アーティファクトであり、実行可能なタイムラインスキーマではありません。レンダリング方法は、render-ffmpeg による任意の FFmpeg グラフ、型付き Remotion コンポジション、またはその両方を明示的に選択します。これにより、小規模なスキーマですべての編集を表現できるかのように装うことを避けられます。

まず素材を確認する

ファイル名から、尺、寸法、フレームレート、ストリームの順序、回転、カラー情報、音声を決めつけてはいけません。実際のデータを検査します。

python3 "$SKILL_DIR/scripts/video_workbench.py" inspect \
  --work-dir /path/to/work \
  /path/to/source-a.mp4 /path/to/source-b.mov

これにより、未加工のプローブ結果、チェックサム、音声スキャン、コンタクトシートが出力されます。話されている内容がカットの判断に役立つ場合に限り、文字起こしを追加します。

python3 "$SKILL_DIR/scripts/video_workbench.py" transcribe \
  /path/to/source.mp4 /path/to/work/transcript

編集計画を立てる前に素材を確認します。同期、話者の識別、向きに関する判断、重要な素材の欠陥について、根拠を保管します。

レンダリング方法を選ぶ

編集を無理なく表現できる、最小限のエンジンを使用します。

  • FFmpeg: トリミング、連結、リフレーミング、速度変更、音声ミキシング、ノーマライズ、基本的なオーバーレイ、マスク、フェード、カラー変換、最終エンコード。
  • React/SVG を使用した Remotion: デザインされたグラフィック、タイトル、キャプション、コールアウト、図、データ駆動型のシーン、ブラウザーのタイポグラフィ、アニメーションレイアウト、映像とグラフィックを組み合わせた作業。
  • ハイブリッド: Remotion から透明なグラフィックオーバーレイをレンダリングし、FFmpeg で映像に合成します。多くの場合、これが最もすっきりした方法です。

複雑なグラフィックを、読みにくい FFmpeg 式ひとつに押し込まないでください。単純なカットのために React プロジェクトを作成しないでください。

必要に応じて、汎用モーションプロジェクトを初期化します。

python3 "$SKILL_DIR/scripts/video_workbench.py" init-motion /path/to/edit-motion
cd /path/to/edit-motion
npm install
npm run dev

スターターは、ローカルの映像素材、React レイアウト、インライン SVG、全画面動画、透明な ProRes 4444 オーバーレイに対応しています。レンダリングの契約を変更する前に、references/motion-graphics.md を読んでください。

編集を設計する

以下を書き出します。

  • 納品時のアスペクト比、寸法、フレームレート、目標尺、プラットフォーム。
  • 素材上の選択範囲と出力上の配置。
  • 各トラックの役割:ベース映像、挿入映像、グラフィック、キャプション、音楽、効果音、台詞。
  • 各トランジションやレイアウト変更の目的。
  • 音声の優先順位とラウドネスの目標値。
  • レビューする代表フレームとトランジションの範囲。

素材上の時間と出力上の時間を区別します。安定したクリップ ID とビート ID を使用します。タイミングの計算は、ひとつのプロジェクトフレームレートを基にフレーム番号を算出し、あちこちに分散させないようにします。

全体的な手順については references/workflow.md、再利用可能な編集と合成の原則については references/timeline-and-compositing.md を読んでください。 検証済みのフィルターグラフの構成要素とファイル末尾の処理方法については、references/ffmpeg-recipes.md を使用します。

低コストで段階的に進める

  1. 内容と同期が正しいアセンブリを作成します。
  2. 低解像度の全編ドラフトを作成します。
  3. リズムを確認するためのコンタクトシートを作成します。
  4. すべてのカット、トランジション、グラフィックの出現、同期の合図の前後を含むストリップを作成します。
  5. 構図、タイポグラフィ、安全領域、マスク、色を確認するための静止画をレンダリングします。
  6. マスターを作成する前に、これらの問題を修正します。
python3 "$SKILL_DIR/scripts/video_workbench.py" sheet draft.mp4 review/contact.jpg
python3 "$SKILL_DIR/scripts/video_workbench.py" strip \
  draft.mp4 review/transition.jpg --center 12.4 --window 1.6
python3 "$SKILL_DIR/scripts/video_workbench.py" stills \
  draft.mp4 review/stills --times 0,12.4,27.8

独立した品質管理のため、別のエージェントにブリーフ、ソースレポート、ドラフト、コンタクトシート、トランジションストリップを渡します。実装の経緯は伝えず、具体的な不具合だけを報告するよう依頼します。

安全にレンダリングする

カスタムの FFmpeg グラフを使う場合は、グラフをファイルに保存し、references/render-plan.md にある汎用プラン形式でレンダリング内容を記述します。

python3 "$SKILL_DIR/scripts/video_workbench.py" render-ffmpeg render-plan.json

ワークベンチは候補をレンダリングして検証し、検証に合格した場合にのみ昇格させます。既存の納品物は、元に戻せる形でアーカイブされます。

Remotion では、レンダリング前に型チェックを実行します。useCurrentFrame()、interpolate()、spring()、Sequence を使用し、タイマー、CSS キーフレーム、シードされていない乱数、実行時のネットワーク呼び出しは使用しないでください。マスター全体を作成する前に、代表的な静止画と範囲をレンダリングします。

納品物を検証する

再生に問題がないように見える場合でも、検証を実行します。

python3 "$SKILL_DIR/scripts/video_workbench.py" validate final.mp4 \
  --report /path/to/work/validation.json \
  --width 1920 --height 1080 --audio-rate 48000 --lufs -16

検証では、実際の出力ペイロード、全編のデコード、指定された場合の期待されるジオメトリと再生時間、音声のサンプルレート、ラウドネス、チェックサムを確認します。references/quality-gates.md をお読みください。

マスターとともに、ソースレポート、編集プランまたはソースプロジェクト、レビュー用アーティファクト、レンダリングコマンド、検証レポート、チェックサムを納品します。

一般原則

  • トランジションは意味に基づいて決めます。注意の向きが変わらない動きは装飾にすぎません。
  • 視聴者が状況を把握できるようにします。大胆なクロップの前に、空間的なコンテキストを示します。
  • 大型モニターで見えるだけでなく、納品サイズで読みやすいテキストにします。
  • 作り物のスクリーンショットより、実際のインターフェースの録画を優先します。
  • 差し替えが求められていない限り、元の台詞を残します。
  • 最終的なサンプルレート変換の前に、台詞の音量を正規化します。
  • スケールの異なる複製をクロスフェードすると、ゴーストが生じることがよくあります。意図のあるカットを使うか、連続する1つのレイヤーをアニメーションさせます。
  • オーバーレイの素材が早く終わる場合、保持する、消す、ベースを見せる、のいずれにするかを明確に決めます。
  • 再利用するグラフィックには、アルファに対応した素材とコーデックを使います。推測した背景色で透明を偽装してはいけません。

汎用的な解決策を保つ

1つの編集がうまくいったからといって、それを既定のスタイルにしないでください。検査、タイミング、合成、モーションシステム、レビュー用アーティファクト、検証といった再利用可能な仕組みを保ちながら、現在の素材とブリーフに合わせてレイアウト、グラフィック、トランジション、サウンド処理を選びます。

コメント