video-organize は何をしますか?
video-setup の後に、video-assemble の前に実行します。タイムラインは不要で、Resolve を閉じた状態で動作します。このスキルの隣に resolve-bridge スキルがインストールされているか(または RVS_BRIDGE が設定されていること)、ffmpeg、および uv(ローカル Whisper 用)または RVS_TRANSCRIBE_CMD 内の文字起こしコマンドが必要です。
スクリプトは python3 <このスキルのフォルダ>/scripts/organize.py --workdir <フォルダ> <コマンド> として実行します。
ストーリーボード形式
プレーンな Markdown で、シーンごとに1つのブロック。シーン ID は見出しから取得します。
## S01
Setup: counter top
Let me start with a confession: AI helped me plan this video.
## S03
Voiceover: yes
B-roll: showing AI researching something funny
Setup、Voiceover、B-roll はオプションです。ブロック内のその他すべては話されるテキストです。B-roll: のみのブロックは Bロールのみのシーンです。見出しのないプレーンなスクリプトは、各パラグラフを1つのシーンとしてカウントします。ストーリーボードがまったくない場合、テイクは類似テキストごとにグループ化され(G01、G02)、TAKES.md の上部に警告が表示され、スクリプトに対するスコアリングやリネームの提案は行われません。
ワークフロー
- セットアップチェック。
video-setupのcheckを実行します。ストーリーボードが記録されていない場合に警告し、.edit/config.jsonにはstoryboard、approve_phrases、reject_phrasesが含まれている必要があります(古いphrasesリストは単なるメモとして表示されます:どのフレーズが承認でどのフレーズが拒否かを尋ね、setup.py writeで保存します)。 - まずカウント。 フッテージフォルダを確認したら、次のコマンドを実行します:
python3 scripts/organize.py --workdir <folder> run --footage <footage folder> [--storyboard FILE] [--every 2]--yesなしの場合、カウント(録画数、時間、シーン数)を出力して停止します。ユーザーにフォルダが正しいか確認します。 - 実行。
文字起こし(既に文字起こし済みで変更がない録画はスキップ)、テイクの検出とスコアリング、Bロールフレームの抽出、python3 scripts/organize.py --workdir <folder> run --footage <footage folder> --yesTAKES.mdの書き出し、問題点の記録(使用可能なテイクがないシーン、撮影されていないBロール、誰もパッチできない壊れた節)を行います。 - あなたの役割:Bロールの説明。 実行により、Bロール録画ごとに1つのフレームフォルダ(サンプルごとに1つのJPEG、フレームNは N × every 秒)がリストされます。各フォルダについて:
- フレームを開き、タイムスタンプごとに画面に表示されている内容を説明します;
- 説明をストーリーボードの
B-roll:ノートにマッチングします:シーン、開始、終了、その理由; - ペイロードを書き込み、記録します:
{"<recording path>": {"frames": {"0": "a person typing", "2": "close-up of a screen"}, "matches": [{"scene": "S04", "start": 2, "end": 6, "why": "screen close-up"}]}}python3 scripts/organize.py --workdir <folder> describe payload.json
- あなたの役割:ショットレターの質問。 実行が、あるシーンの2つのファイルが同じカメラセットアップかどうかを判断できない場合、フレーム差分とともに質問をリストします。ユーザーに尋ね、各回答を記録します:
python3 scripts/organize.py --workdir <folder> answer S02 <file> B TAKES.mdの表示。 シーンごとに1つのセクション。推奨テイクが最初に表示され、そのスコアと理由、パッチ(両方のテイクIDがマークされ、常に推奨)、マッチしないクリップ、テイクのないシーンが表示されます。問題点をユーザーに読み上げます。- 修正。 ユーザーが別のテイクを希望する場合(「S02A-T03を使って」):
ユーザーの選択は再実行後も保持されます。python3 scripts/organize.py --workdir <folder> pick S02A-T03reportは他の変更なしにTAKES.mdを書き換えます。 - リネーム。
organize.py renameによって提案されます(まず提案を表示、ユーザーが完全なリストを承認した場合のみ--apply、元に戻す場合は--undo)。完全な旧名→新名のリストを表示し、明確な同意があった場合のみ適用します。他の方法でリネームしないでください。開いている Resolve プロジェクトでタイムライン上にすでに配置されているクリップはスキップされ、その理由がリストされます。使用済みクリップのリリンクはカットやグレードを失う可能性があるためです。必要に応じて Resolve 内で手動でリネームしてください。プロジェクトにコンパウンド、マルチカム、または Fusion クリップが含まれている場合、その内容をリストできないため、インポートされたすべてのクリップがスキップされます。--applyは最後に表示された提案を正確に適用し、変更された場合は拒否します。Resolve が閉じている場合、--applyと--undoには--never-importedが必要です(フッテージが一度もインポートされていない場合)。Resolve が開いている場合でも、使用済みクリップはチェックされます。 - 完了。 実行によりオーガナイズステップ自体が記録されるため、他に記録するものはありません。次のステップとして
video-assemble(まだ構築されていません)を指摘します。
命名規則
| ケース | 名前 |
|---|---|
TAKES.md 内のテイクID | S02A-T03 |
| 1テイクのファイル | S02A_T03_IMG_5419.MOV |
| 1ショットの複数テイクを含むファイル | S02A_T01-T03_IMG_5420.MOV |
| 複数シーンを含むファイル | S03A_S05A_S06A_IMG_5422.MOV |
| シーンの2番目のカメラセットアップ | S02B_T01_IMG_5430.MOV |
すべてのショットにはレターがあります。異なるレターは異なるカメラセットアップを意味し、リテイクではありません。Bロールおよびマッチしないファイルは元の名前を保持します。
ルール
- ソース映像は移動または上書きされません。承認された
renameによってのみリネームされます。 - スコアは0~100で、常に理由とともに表示されます。現場での拒否はスコアより優先され、承認は最優先されます。ナレーションシーンは主に音声で判断されます。
- パッチは、自然な間で少なくとも1つの完全なアイデアのカットを入れ替えます。単語単位では入れ替えません。
- 作業ファイルは
<フォルダ>/.edit/organize/にあります(手動で編集しないでください)。video-assembleはこれらのみを読み取ります。