Bロール処理
目標:すべてのBロール動画を一度だけ視聴し、最良の瞬間を選び出し、選ばれたクリップだけを保存すること。保存された各クリップは1秒のバッファを付けてカットされ、内容に基づいてタグ付けされるため、後で映像を再視聴することなく任意のショットを見つけられます。
このスキルはClaude CodeとRunneth向けに構築されています。以下の3つが必要です:
- 動画を見る手段: Runnethではビデオモデルが動画を視聴します。Claudeは動画を見られないため、代わりに静止フレームを読み取ります:1秒あたり2フレームの小さなコンタクトシート(
ffmpeg -i IN.mp4 -vf fps=2,scale=160:-2,tile=10x6 sheet_%02d.jpg)、瞬間を判断するためのフルサイズフレーム(ffmpeg -ss <time> -i IN.mov -frames:v 1 frame.jpg)、そして利用可能な場合は音声トランスクリプトも併用します。トランスクリプトがない場合はフレームのみで作業します。 - 動画をカットする手段: ffmpeg、または任意の動画編集ソフト。
- Bロールライブラリフォルダ: クリップを保存する場所と、2種類のテキストファイル(インデックスと撮影ごとのファイル)を格納する場所。テンプレートはこのファイルの隣の
templates/フォルダにあります。
編集者とは、平易な日常的な言葉で、一度に一つのアイデアを伝えてください。
開始前:ツール
Runnethでは、すべてが既にインストールされています:このセクションはスキップしてください。
Claude Codeでは、このスキルはvideo-editing-setupスキルがインストールする無料の動画ツールを必要とします。~/.video-editing-tools/bin/ffmpeg -versionが実行できるかどうかを静かに確認してください。実行できる場合は、~/.video-editing-tools/bin内のツール(ffmpeg、ffprobe、python)を、このスキルでffmpeg、ffprobe、またはpython3と指定されている場所で使用し、続行してください。実行できない場合は、最初にvideo-editing-setupスキルに従ってから、ここに戻ってきてください。
ステップ0:最初に1つ質問する
他のことをする前に、編集者に次のように正確に、2つの選択肢がある1つの質問として尋ねてください:
「タイムスタンプを最初に提案しましょうか、それともすぐに作業を始めましょうか?」
- 最初に提案する → 以下のすべてのステップ(編集者が選択するステップ3を含む)に従ってください。
- すぐに作業を始める → すべてのステップを最初から最後まで止まらずに実行してください。ステップ3では、「保存する価値のある瞬間とは」を使用して自分で瞬間を選んでください。途中で承認やプロジェクト名などを求めたりせず、不明な点は撮影ファイルに
_not given_として残し、最後に一度だけ言及してください。
編集者がメッセージで既にどちらかを指定している場合(「やってくれ」「聞かないで」「ピックを提案して」など)は、質問をスキップしてください。回答できる人がいない場合は、「すぐに作業を始める」として扱ってください。
ステップ1:ピックがカットされるまでフル動画を保持する
- 各Bロール動画はそのままのフル長で保存し、シンプルな名前を付けます:
broll-<n>-<what-it-is>.<ext>(例:broll-4-unboxing.mov)。それが属するプロジェクトとブランド、および撮影日をメモします。 - 長さと向きを確認します。
- 視聴と選択のための軽量な作業用コピーを作成します。ffmpegの場合:
ffmpeg -i IN.mov -vf scale=540:960 -c:v libx264 -preset veryfast -crf 25 -g 15 -pix_fmt yuv420p -c:a aac -b:a 96k -movflags +faststart OUT.mp4(キーフレーム間隔が短いためスムーズにスクラブできます;ランドスケープ映像の場合は540:960を960:540に交換してください)。
ステップ2:タグ付けする
- 作業用コピーを視聴し、動画のすべての部分をカバーする作業マップを、隙間なく作成します:時間範囲、ライブラリのタグリストからのタグ、そして何が起こっているかの平易な一文。使用できない部分もマップに残し、その理由(ピンぼけ、フレームの確認など)を短いメモで記述し、それらが確認されたことを明確にします。マップはピックを見つけるためだけのものであり、作業用コピーと共に削除され、保存されたクリップだけがタグを保持します。
- AIビューアではわからないことを確認します:その映像が誰のものか、画面に映っている製品が本当にそのブランドの製品か(ショット内のコーヒーは単なるコーヒーか)、そして何かおかしい点がないか。小さなコンタクトシートで瞬間を見つけ、その後フルサイズのフレームを確認してから、その瞬間を使用可能と判断します。小さなフレームでは、柔らかい製品やクリエイターの目の位置が隠れてしまいます。
- 素晴らしいアイデアだが使用できなかったものは、再撮影ノートにします。
- 各動画のポイント(何を映すために撮影されたか)を、映像だけから読み取り、一文で記述します。ステップ3では、そのポイントを示す瞬間が使用可能であれば、常に保存します。
- 各動画がライフスタイル(製品が映っていない、どのブランドにも再利用可能)か、プロダクト映像かを示します。
ステップ3:瞬間を選ぶ
編集者が最初に提案を希望する場合:
- 編集者に作業用コピーと、作業マップから最も強力な瞬間の短いリストを出発点として提供します。
- 編集者は保存したい各瞬間にマークを付けます:開始時間、終了時間、そしてなぜそれを選んだか。形式は任意です(ピッカーアプリ、スプレッドシート、メモドキュメント、メッセージ内のタイムスタンプ)が、すべてのピックに開始、終了、理由が含まれている必要があります。
- 理由は時間と同じくらい重要です。これにより、このスキルは編集者の好みを学習します(ステップ4、項目6)。
編集者が「すぐに作業を始める」と指定した場合:
- 「保存する価値のある瞬間とは」のルールを順に適用して、自分で瞬間を選びます。常に動画のポイント(ルール4)を保存し、エバーグリーンショット(ルール9)を確保します。
- 同じアクションが複数回発生する場合は、最もクリーンなテイクを保存します。
- すべてのピックに対して、開始、終了、および一行の理由を記述します。
- カットする前に、各ピックをフルサイズのフレームで確認します。開始から終了まで少なくとも0.5秒ごとに確認します(中間だけでなく):製品がシャープであること、目がすべてのフレームでルール3を満たしていること、時間が正しいこと(AIの時間は近似値であり、正確ではありません)。失敗したピックは破棄するか、条件を満たす部分にトリミングします。
- 保存する前に、各動画からのピックを並べて比較します。2つのピックがほぼ同じショット(同じ構図、同じ被写体)を示している場合、最もアクションのある方を保存し、もう一方は破棄します(ルール11)。
ステップ4:ピックをカットして保存する
- 各ピックを元のファイルからフル品質でカットし、ピック時間の前後に1秒の余分な映像を追加し、動画の開始と終了でクランプします。各クリップには
<shoot-date>-v<video>-<pick>-<what-happens>.mp4という名前を付けます(例:2026-10-22-v4-4-unbox-tear-top.mp4)。日付は名前の衝突を防ぎます。同じブランドのすべての撮影が同じフォルダに保存され、動画番号は撮影ごとにリセットされるためです。ffmpegで高品質カットを行うには、-c:v libx264 -crf 16を使用します。クリップが移動先に大きすぎる場合は、短くするのではなく、crfを少し上げて(18)ください。 - 長さのないピック(開始と終了が同じ)は、クリップではなくメモです。撮影ファイルの再撮影ノートに記載します(例:「ピンぼけ、再撮影」)。
- クリップをブランドのBロールフォルダに保存します。これは、そのブランドのすべてのBロールがプロジェクトを超えて保存される単一の場所です。
- 撮影ファイルを、ライブラリフォルダ内の
shoots/<shoot-date>-<brand>.mdに、撮影ごとに1つ作成します(テンプレート:templates/shoot-file.md):各動画のポイント、続いて保存された各クリップのファイル名、ピック時間、タグ、何が起こっているか、そしてなぜ選ばれたか。編集者の理由はそのまま書き、AIが書いた理由には「(AI)」とマークします。最後に再撮影ノートと、このブランドにまだ欠けているショットを記載します。 - 各クリップを、ライブラリインデックスの「タグで検索」テーブルの該当するタグの下に追加します。初回は、
templates/b-roll-library-index.mdからインデックスを開始します。その後、元のフル動画とすべての作業用コピーを削除します。選択されたクリップだけが保存されます。 - 理由から学習します:編集者の各理由を一般的なルールに変換し、以下の「保存する価値のある瞬間とは」にマージします(または、クリップを動画内のどこに配置するかに関する場合はBロール選択スキルにマージします)。リストは短く保ちます:新しいルールを追加するのではなく、ルールを書き換えて結合します。編集者の理由だけがルールを変更します;「(AI)」とマークされた理由はそのままにします。
- 後で編集者が保存されたクリップを却下した場合、それを削除し、撮影ファイルとインデックスから削除し、その理由をルールに変換します。
Bロールを後で見つける
誰かが特定の種類のショットを尋ねた場合(「このブランドの開封」「疲れている私」など)、ライブラリインデックスの「タグで検索」テーブルで検索し、一致するクリップを返します。ベアタグ(pet)はその下のすべての詳細(pet:cat、pet:dog)に一致します。ライフスタイルクリップは任意のブランドにカウントされます;プロダクトクリップは自身のブランドに属します。
保存する価値のある瞬間とは
これらのルールは、実際の編集者のUGCプロダクト撮影における選択と理由に基づいています。順に適用し、編集者自身の理由が届き次第、それらのルールに置き換えてください。
- 動き。 ショットの中で何かが変化する瞬間が最良です:頭の向き、手のジェスチャー、新しい表情、ペットが歩いてくるなど。何も動かないショットは写真のように見えます。静止画は短いアクセントとしてのみ保存します(クリーンな製品クローズアップ);
staticとタグ付けします。 - 感情を表現する顔。 ため息、あくび、頭を抱える、大きな笑顔。表情だけでラインの感情を示しています。
- 意図を持った目。 カメラを見るのは、意図的な場合のみカウントします:自撮り、視聴者との会話やリアクション、レンズに製品を見せるなど。それ以外の場合、目はショットの被写体(飲み物、ラップトップ、パッケージ)に向けるべきです。ただ座っているだけでレンズを見たり、横をちらりと見たりするクリエイターは、自分自身をフレームで確認している(多くの場合、横に置いたスマホ画面で)ことが多く、その部分はテイクではありません。本当のテイクは、確認していない部分です:あくび、かき混ぜる、ため息。確認の後から始まり、次の確認の前で終わります;確認を複数回行う部分はスキップされます。
- 動画のポイントは常に選択される。 すべてのBロール動画は何かを示すために撮影されており、それを最も明確に示す瞬間は常に保存対象です。ポイントは映像自体から読み取ります:動画の大部分が費やされているもの、またはクリエイターが設定してから示すもの。ポイントは何でも構いません:製品がスムーズに注がれる、競合他社の粉がダマになる、散らかった「ビフォー」、ペットが面白いことをするなど。製品が機能していることを示すことはポイントの一種であり、ルールではありません。ポイントを示す瞬間が使用できない場合(ぼやけている、フレーム外)、代わりに最初の再撮影ノートになります。
- フレーム内の現実。 ペット、小さな面白い瞬間(空パケットを投げる)、その他の計画外の詳細は、Bロールをリアルに感じさせ、視聴者に見るものを提供します。
- 自然で魅力的なバージョン。 クリエイターが同じアクションを2回行った場合、自然で実際の人間のように見える方が勝ちます(口を手で覆ってのあくび)。
- シャープなフォーカス。 製品と顔の両方にピントが合っている場合にショットはカウントされます。フォーカスはフルサイズのフレームで判断し、コンタクトシートでは決して判断しません。製品がショット内のどこでもシャープでない場合、ショット全体がアウトです。素晴らしいアイデアがぼやけてしまった場合は、再撮影ノートになります。
- 製品全体。 完全なパッケージを見せ、裏側を見せるために回転させます。回転させることで動きが加わり製品を紹介し、裏側には原材料などの詳細があります。
- エバーグリーンショット、毎回。 現在の動画で使用しない場合でも、すべての製品撮影からこれらを確保します:開封(引き裂く、中を見る、1つ取り出す)、製品使用中(開ける、注ぐ、混ぜる、すする)、原材料を指さす、製品を持って笑うクリエイター、クリーンな製品クローズアップ、製品を保持する。良いクローズアップも確保する価値があります(レンズにかざされたグラス、混ぜる手);
closeup:<what>とタグ付けして、短いアクセントとして使用できるようにします。 - 短くても問題ない。 きれいな2秒の断片でも使用可能なクリップです。
- 各ショットの1つのバージョン。 2つの瞬間がほぼ同じに見える場合(同じグラスがレンズの近くに保持されている)、何かが起こっている方(かき混ぜている)だけを確保します。静止バージョンは一緒に保存しません。
- 主なアクションにカットする。 すべてのBロール動画には、撮影された目的の決定的な動き(毛布を自分にかぶせる、注ぐ、あくび)があります。ピックはその動きを、その直前の1ビートだけを保持します。準備や手間取る行為(毛布を整える、枕を直す、パケットの準備)は、同じ部分にあっても除外します。
すべてのタグのルール
- 保存されたすべてのクリップには、開始、終了、タグ、平易な説明、および理由があります。
- タグはクリップ内で見えるものだけを説明し、誰がタグ付けしてもブランドやスクリプトを知らなくても同じタグを選択できるようにします。クリップが動画にとって意味するもの(「ビフォー」ショット、ペインポイント)は、後でBロール選択スキルで決定されます。
- 詳細が表示され、誰かがそれを検索する可能性がある場合は常に、コロンの後に詳細を追加します(
tag:<what>)。 - 時間は元のファイルのタイムラインから取得します。撮影ファイルはピック時間を記録します;クリップ自体は1秒早く開始します。
- AIが生成した時間は近似値であり、正確ではありません。カットする前にフルサイズのフレームで確認してください。