Communitygithub.com

web594/resolve-multicam-workflow

DaVinci Resolve Studio用Claude Agentスキル:オーディオ同期、Whisper文字起こしからの自動マルチカム編集、共有Color-Groupノードによるフィルムルックグレーディング、非破壊ブラー/シェイクQCとアングル切り替え、オーバーレイタイトルを実現します。wunder-media作成。

resolve-multicam-workflow とは?

このスキルは、DaVinci Resolve Studio内での完全なマルチカメラ編集パイプラインを自動化するために設計されています。複数カメラのフッテージのオーディオ同期、faster-whisperを使用した文字起こし、共有カラーグレーディングノードを利用した映画的なルックの適用、オーバーレイタイトルの追加を処理します。主にClaude CodeとDaVinci ResolveのAPIを介して動作し、公式のGUIをバイパスして、完全にスクリプト化されたマルチカムクリップ作成を実現します。このスキルは、ムービー制作パイプライン向けにwunder-mediaによって開発され、一貫した高品質の結果を確保しながら、編集ワークフローを加速するための堅牢で再現可能なプロセスを提供します。ユーザーは、すべてのステップが単一の指示セットによって調整されるため、手動介入を最小限に抑え、クリエイティブな決定に集中できます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add web594/resolve-multicam-workflow

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

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

ドキュメント

Resolve-フィルムプロジェクトを作成する(wunder-media)

プロジェクトA→プロジェクトC→プロジェクトBから実証済みのパイプライン。常にこの手順を使用し、新しいものを作り出さないこと。 プロジェクトごとの作業フォルダ:C:\claude\resolve-prep\<kurzname>\。

最初に読む(この順序で)

  1. references/ablauf.md — 生データからタイトル付き完成マルチカム編集までの8ステップ。以前は未解決だった「判断」事項は、権限と固定された回答のセクションで上に回答されています — 再度質問しないこと。
  2. references/api-werkzeuge.md — Resolveがスクリプトで何ができるか(rctl.py、grade-set、node-add、Fusion、タイトルテンプレート)とAPIの厳しい制限。
  3. references/fallstricke.md — 貴重な経験から学んだ落とし穴。各ステップの前に、そこに現在のステップに関連するものがあるか簡単に確認すること。 これにより、ほとんどの行き止まりを回避できます。
  4. ⭐ references/farbgebung.md — どのルックスキルを使用するか:標準はresolve-kino-look-nodekette、代替はresolve-lut-look-kette;購入したLUT/ツールを優先;そしてカメラチェック(Rec.709コンシューマーカムコーダー → フィルムエミュレーションはまったく行わないか、ごくわずかな%のみ)。各グレーディングの前に読むこと。 その後、references/kino-look-nodekette.md — すべての測定値とDRXテンプレートを含むレシピとしての同じチェーン(0.04秒でチェーン全体、1時間のクリック操作不要)。
  5. ⭐ references/vorbild-projekt.md — マルチカムプロジェクトのロールモデル:フォルダ構造、メディアプールの目標状態(ビン**Anlegenを含む)、実証済みのカラーワークフロー、そしてClaudeと人間の境界線**。各マルチカムプロジェクトで読むこと — Claudeが自律的に作成する状態を正確に説明しています。
  6. references/timecode-sync.md — ステップ2のバリエーション:カメラはAtomos AirGluで共通タイムコードを実行 → 相互相関ではなくファイルから直接オフセットを取得。デバイス設定(サーバー/クライアント、リージョンEurope、落とし穴「SourceがHDMIでハングする」)と必須の確認スクリプトvorlagen/tc_pruefen.pyを含む。生データがShogun/Ninja Ultraから来てタイムコードを保持している場合に読むこと。
  7. references/grafik-einblendungen.md — ステップ9:インフォグラフィック/オーバーレイを組み込み、動画をエクスポート(YouTubeロング + Instagramショート)。定期的なスピーカーがいる講演/インタビューシリーズでは、グラフィックを作成する前に必ず読むこと。
  8. vorlagen/ — すぐに使えるテンプレートスクリプト(最もクリーンなプロジェクトBから)。C:\claude\resolve-prep\<kurzname>\にコピーし、先頭の定数を調整し、実行する。overlay_tools.pyはそのまま実行可能(check / zoomsafe / mov / place)。

手順の要約

#ステップツール
1生データを検査(ffprobe:カメラ、パート、fps、オーディオチャンネル、Log/Rec709)references/ablauf.md
2メインオーディオ(Tascam/dr10L)に対してオーディオ同期、オフセットをJSONとして保存vorlagen/sync.py
2bAirGlu搭載のAtomosレコーダーの場合:相互相関ではなくタイムコードから直接オフセットを取得 — 事前にtc_pruefen.pyで確認references/timecode-sync.md、vorlagen/tc_pruefen.py
3プロジェクト+ビン+インポート+カメラごとのソースタイムラインvorlagen/prep.py
4文字起こし(faster-whisper large-v3、CUDA)vorlagen/transcribe.py
5発話間のポーズから自動編集計画(落ち着いたパラメータ、下記参照)vorlagen/make_cutplan.py
6編集タイムライン。カメラが2台以上の場合は常にマルチカム編集 — マルチカムクリップはDRTビルドで作成し、GUIでは作成しないvorlagen/mcbuild/build_mc_drt.py
6b画像とオーディオのチェック(必須): 編集タイムラインはオーディオタイムに対して圧縮されています(画像のないスキップされた部分)- オーディオを分割してから測定vorlagen/sync_pruefen.py
7検証(ギャップ、重複、アングル、黒フレームレンダリング)、次にグレーディング(スキルresolve-kino-look-nodekette、共有ノード)vorlagen/verify_cut.py、references/farbgebung.md
8後処理:適切な開始点を見つける、組織的な部分を削除する、ブレ/ピンボケのアングルを交換する;タイトルオープニング(オーバーレイ)references/ablauf.md
8bクリーンアップと引き継ぎ: 中間タイムラインをビン**Anlegen**に移動、目標状態をロールモデルと照合references/vorbild-projekt.md
9グラフィックオーバーレイとエクスポート(文字起こしからのインフォグラフィック、Instagramショート9:16、字幕、−14 LUFS)references/grafik-einblendungen.md、vorlagen/overlay_tools.py、vorlagen/infografik/、vorlagen/verify_overlays.py、vorlagen/instagram_kurz.py

常に必要な条件: Resolveが実行中、設定→システム→一般→「外部スクリプト」= ローカル。scriptapp("Resolve") is Noneの場合→Resolveを完全に再起動。

⛔ 忘れないで:マルチカムは完全にスクリプトで作成 — マウス操作は絶対にしない

ユーザー指示(2026年7月27日、明示的):この知識を再び失ってはなりません。そして、この方法でのみ実行すること。 このスキルの以前のバージョンでは、マルチカムクリップは「GUIで手動のみ」可能だと主張していました。それは誤りです。 これはvorlagen/mcbuild/build_mc_drt.py → import_mc2.py → verify_mc.pyでビルドされます(2026年7月27日、Resolve 21.0.3で検証:マルチカムクリップ + 21の編集されたアングルを、クリック操作なしで実現)。

手順の要約(詳細はreferences/ablauf.mdステップ6を参照):

  1. ネストされた編集タイムラインをビルドし(apply_cut.py)、DRTとしてエクスポート(Timeline.Export(pfad, 1))。
  2. マルチカムを含む任意の古いプロジェクトからDRTをテンプレートとしてエクスポート。
  3. build_mc_drt.pyは、新しいDRTに<Sm2MpMulticamClip>要素と定義SeqContainer(カメラごとに1トラック、UserDefinedName = "Angle N"、MediaRef = ソースタイムラインのDbId)を挿入し、編集クリップをマルチカムにリダイレクトします。
  4. ImportTimelineFromFile → 完成したマルチカム編集タイムライン。

⭐⭐ 失敗する唯一の落とし穴: マルチカムシーケンスと定義コンテナのマッピングは、プレーンテキストXMLにはありません。それはMpFolder.xmlのzstd圧縮FieldsBlobにUTF-16エンコードされています。そのため、新しいUUIDを決して生成しないでください — テンプレートからのマルチカム要素、シーケンス、コンテナのDbIdを変更せずに使用してください(Resolveはインポート時に新しいIDを自動的に割り当てます)。そうしないと、アングルのないマルチカムクリップが作成されます:Frames 0、黒フレーム。

権限と固定された回答 — 再度質問しないこと

ユーザーが決定しました。Claudeは質問なしでそれを実装し、完成したグレーディング済みのタイトル付きマルチカム編集までプロジェクトを自律的に作成します。

最初に権限を取得する(個別に質問しないこと):

  • コンピュータ使用をすぐに有効にする:request_access(["DaVinci Resolve"])、理由「Resolveを制御(マルチカム、グレーディング、タイトル)」。パイプライン全体をカバー;追加のプログラムが必要な場合のみ再度リクエスト。必要に応じてResolveをopen_applicationで起動。
  • スクリプト作成/チェックは、Bash + py C:\claude\resolve-ctl\rctl.py …とテンプレートスクリプトを介して実行 — 標準的な部分であり、単に実行する(質問は不要)。
  • メディアがオフライン(プロジェクトが別のドライブで作成された場合、例:E:→F:)?質問なしで再リンク:mp.RelinkClips(clips, r"<現在のドライブ上のプロジェクトフォルダ>")。

固定された専門的な回答(二度と質問しないこと): 0. 編集テンポ:以前よりわずかに落ち着いて(ユーザー、2026年7月27日)。プロジェクトAでは、一部のカットが早すぎました:カットの後、視聴者は新しい画像に慣れるのに数秒必要です — すぐに別の短いカットアウェイが続くと、落ち着きがなくなります。ショットごとに数秒追加すれば十分です。make_cutplan.pyの値:MIN_SHOT 6.0、CUT_MIN 6.0、CUT_MAX 11.0、PARA_GAP 1.2、MAX_STD 50、CALM_GAP 12.0(休止:カットアウェイ後、この時間は新しいカットアウェイを行わない)、機械的な分割55/42/10。さらに:最初のスパンは常にリードカメラ、そしてコンテンツの開始前にはカットアウェイなし(ANFANG)、そうしないとフィルム開始直後にカットが入ります。

  1. カメラ2台以上 → 常に編集済みマルチカムを提供(DRTビルドによる実際のマルチカムクリップ、vorlagen/mcbuild/)、これによりユーザーは編集中に各クリップを別のカメラに切り替えられます。「ネスティングかマルチカムか」と再度質問しないこと。 ⭐⭐ これはすべての派生動画にも適用されます — 要約、抜粋、作業コピー、Instagramバージョン(ユーザー、2026年8月23日、明示的):これらはメイン編集のアングルを持つ実際のマルチカムタイムラインでなければなりません。そうしないと、ユーザーは微調整中にショットを交換できなくなります。⛔ マルチカムクリップを使用したAppendToTimelineでは不十分 — これによりマルチカムクリップがターゲットタイムラインに配置されますが、すべてアングル1になります;アングル選択が失われます。アングルはクリップのFieldsBlobにのみ保存され、APIでは設定できません。正しい方法:vorlagen/kurzvideo_drt.py + vorlagen/kurzvideo_import.py(メイン編集をDRTとしてエクスポートし、目的のパッセージのクリップを変更されていないFieldsBlobで取得し、Start/Duration/Inを再計算し、インポート;その後、APIを介してパッセージごとにオーディオをA1に配置)。グレードはDRTに付属します。 1b. ⭐⭐ 再生フレームレート = タイムラインフレームレート — 作成時にすぐに設定(ユーザー、2026年8月23日)。proj.SetSetting("timelinePlaybackFrameRate", "<fps>")は、timelineFrameRateと同じ設定ブロックに属し、最初のタイムラインが作成される前に設定します。間違って設定されている場合(標準は24)、再生時にオーディオが不良になります — そしてプロジェクト内にタイムラインが存在すると、SetSettingは変更を拒否します(False、タイムラインレベルでも)。UIでは可能です:右下の歯車→メイン設定→タイムラインフォーマット→「再生フレームレート」を入力→保存。作成時に一緒に設定すれば、この回避策は不要です。
  2. ルック — 標準は決定済み。方向性を質問せず、単に構築すること(ユーザー、2026年8月18日)。詳細とカメラチェック:references/farbgebung.md。
    • ⭐ 標準:スキルresolve-kino-look-nodekette — 4ノードチェーン フィルムエミュレーション→ホワイトバランス+明るさ(調整可能)→仕上げLUT(40%)→ フィルムルック生成器(ハレーション/ビネット)。DRXで完全に転送可能(0.04秒)。 プロジェクトはDaVinci YRGB(カラーマネージドではない)である必要があります。
    • 代替:スキルresolve-lut-look-kette — 純粋なLUTチェーンとしての同じアイデア (Log→ARRI Rec.709 · 調整可能ノード · Rec.709→ARRI LogC · フィルムエミュレーション · シネマルック)。 プラグインが不足している/カメラに合わない場合、既存のチェーンがすでにその上に構築されている場合、またはユーザーが希望する場合に使用します。
    • 両方のチェーンで、最初に購入したLUTとツールを使用;ツールが不足している場合、またはカメラがプラグインにプロファイルを持たない場合のみ、無料バージョンを使用します。
    • ⚠️ 構築前に、プロジェクト内のカメラを確認すること。 Log素材(FS7 II、S-Log3)→計画どおりのチェーン。Rec.709コンシューマーカムコーダー(Sony AX100、CX900Eなど)→ フィルムエミュレーションはまったく行わないか、ごくわずかな%のみ、そうしないと色が不自然になります;フィルム的な特性は残りのノードで実現します。 → 常にノードチェーンを構築し、質問しないこと。 微調整された明るさのみ確認を依頼すること。
  3. LUTはこれらの3つのルックステップにのみ使用します。 すべての補正(ホワイトバランス、明るさ、色かぶり/マゼンタ/ブルー、彩度、コントラスト)は調整可能なResolveノード値として行い、追加の焼き込みLUTとしては行いません — これにより、オリジナルからの逸脱を追跡可能にし、個々の値を元に戻せるようにします。
  4. ⭐ カメラ間で同一のノード内容 = 共有ノード:同一のルックノード(ARRI変換、フィルムストック、キノ)を共有ノードとして作成し、1つの変更がすべてのクリップ/カメラに影響するようにします。カメラ固有の補正のみ(例:遠くから近くへの調整)はローカルに残します。詳細はreferences/ablauf.md/fallstricke.mdを参照。 4b. ⭐⭐ ホワイトバランスノード:アングルごとに1つの共有ノード — 常にこの方法で作成(ユーザー、2026年8月24日、明示的に「永久に覚えてください」)。調整可能なノード2(「ホワイトバランス+明るさ」)はアングルごとに、このアングルのすべてのクリップに配置される共有ノードとして作成されます — これにより、1つの補正でアングル全体が一度に変更されます。アングル間では共有されません(各アングルは独自の値を持ちます)。ルックノード1/3/4はとにかく共有されます。 レシピ(2026年8月24日、プロジェクトM、3アングル×21/22クリップで検証):
    1. アングルの… importタイムラインで参照クリップに移動(SetCurrentTimeline + SetCurrentTimecode、OpenPage("color"))。
    2. 1回のコンピュータ使用によるクリック: ノード2を右クリック → 「共有ノードとして保存」。(APIではこれはできません;1回のクリックは許容範囲です。)
    3. 残りはすべてスクリプトで:refItem.CopyGrades(alle_anderen_Clips_des_Winkels) — CopyGradesは共有ノードを同じオブジェクトとして転送し、ラベルはどこでも… Shared Node <n>になります。これはタイムラインをまたいでも適用されます:DRTインポート中に作成されるアングルタイムラインのコピー(… nah import 1…12)も、同じ操作で処理します。そうしないと、ショート動画は古い、引き継がれていないグレードにリンクされたままになります。
    4. 確認:ノードラベルを読み取る(すべて同じ?)そしてアングルごとに1フレームを測定。
    5. 同時に処理: LUT補間を四面体に設定 — Shift+9 → カラーマネジメント → 「ルックアップテーブル」 → 「3D LUT補間」 → 保存(APIキーなし)。

4c. ⭐ 未使用の共有ノードコピーは最後に削除(ユーザー、2026年8月27日、永久に)。共有ノードを含むDRX/ルックチェーンを適用するたびに、共有ノードリストに新しいエントリが作成され、既存のものが使用されません — クリップごとに適用すると、クリップごとに1つのコピーが作成されます(プロジェクトM:198エントリ、うち12のみ使用、186はデッドエントリ、すべてバイト単位で同一)。画像は正しいままですが、リストは使用できなくなり、プロジェクトDBが増大します。

  • 回避策: チェーンを一度だけ適用

関連スキル