Communitygithub.com

素材工程(B-Roll)

素材工程执行 skill:自采/下载/截图/选段/嵌入/调色。触发词:素材、B-roll、录屏、yt-dlp、截图、调色。装配判定真素材段时调用。

素材工程(B-Roll) とは?

このスキルは、動画制作における「素材(B-Roll)調達・加工・埋め込み」を自動実行するためのパイプラインです。製品デモ映像、画面録画、公式動画、スクリーンショット、UIモックなど、実際の製品体験を伝える「真素材段落」の収集から編集完了までを一本化します。対応プラットフォームはRemotionがベースで、CodexやGrokなどのAIエージェントツールと連携します。具体的には、7段階の実行パイプライン(レベル判定→収集→検証→トリミング→埋め込み→色調整→編集加工)を順次実行。各工程で自動検証を行い、エラーを防止します。また、2026年7月のユーザー裁定により、口頭で名前が出た人物は必ず実写写真(著作権クリアなソースから)を表示するルールを適用。AI生成のコラージュB-Roll(感情・抽象的なシーン向け)もサポートし、静フレーム生成から映像化まで一貫したワークフローを提供します。本スキルは、ユーザーが実際の素材を用意できない場合でも、AIが自律的に高品質なB-Rollを調達・生成できる点が最大の価値です。

対応~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/jincheng2026/jc-remotion-skills/tree/main/skills/remotion-broll

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

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

ドキュメント

素材工程(実行可能パイプライン)

位置づけ:これは作業用スキルであり、ルール文書ではありません——判定、指示、検収を一気通貫で実行します。完全なルール原典は remotion-assembly/references/broll.md(4段階の優先順位詳細/各ケースの素材リスト義務/引用仕様)にあり、矛盾があればそちらを優先します。

呼び出しタイミング

  • 分割工房の第2ステップで「真素材段落」と判定された場合(プロダクト体験系の画面:タイピング/生成/インターフェース/デモ/操作)
  • アセンブリ案作成前の素材リスト収集(各ケースにつき製品スクリーンショット1枚または5秒の画面録画、AIが自ら収集するため素材提供を待たない)
  • ユーザーから画面録画/実写素材が提供され、本編に埋め込む場合

実行パイプライン(各ステップに検収あり、順次実施)

① レベル判定:4段階の優先順位でルート選択——ユーザー自身の録画 > 公式動画 > Webページスクリーンショット > UIモックカード。公開Webサイト/公式チャンネルがあるケースでは、直接第4段階に落ちることを禁止。

② 収集

  • 公式動画:yt-dlp --print "%(channel)s | %(title)s | %(duration)ss | %(id)s" "ytsearch8:<製品名> official" で公式チャンネルを確認 → yt-dlp -f "bv*[height<=1080][vcodec^=avc1]+ba[ext=m4a]/b[vcodec^=avc1]/b" -o "public/broll/<名前>.mp4" <url>([vcodec^=avc1] はデフォルトのAV1をフィルタリング。HEVCも同様にライブラリに登録不可。詳細はbroll.md 2c);403エラー時は順次UA / --cookies-from-browser / プロキシを試行。
  • Webページスクリーンショット:node_modules/.remotion/chrome-headless-shell/*/chrome-headless-shell*/chrome-headless-shell --headless --screenshot=<out.png> --window-size=1920,1080 --virtual-time-budget=10000 <url>。

③ 検証(省略不可):file <ファイル> で「PNGが実はHTML」を防止;動画は ffprobe でコーデック検証、HEVCは先にH.264に変換(黒画面防止);スクリーンショットは目視でログイン壁/Cookieポップアップでないことを確認。

④ トリミング:ffmpeg -vf fps=0.5 でフレーム抽出して連絡シートを作成、Readでフレームごとに画像を読み取り、ナレーションと意味的に同期する3-8秒のレンズ区間(入力→アクション→待機→結果)を選択し、開始・終了秒を記録。

⑤ 埋め込み:Takeover内に <Sequence from={beat(x)}> + <OffthreadVideo muted src={staticFile('broll/….mp4')} startFrom={F(開始秒)}>(mutedは必須);TakeoverにはPiPなし(ユーザー裁定);スクリーンショットはShotCard/WindowCardに配置。メディアを含むSequenceには premountFor≈fps を追加して先頭フレームの黒を防止するが、そのSequenceに layout="none" を設定してはならない(ラッパー層除去後premountが無効になるため)。外側のレイヤーで return null のゲート制御を使ってコンテナの可視性を制御する場合、nullは ≥premountFor フレームだけ早く開かなければならない(seg06実測:コンテナ frame<enterAt-30 return null、内側に premountFor={30})。そうしないと親のnullがプリロードウィンドウを削除し、premountが無駄になる。

⑥ 色味統一:素材レイヤーに filter: brightness(0.9-0.92) saturate(0.95) を追加(本編の明るさに合わせて微調整)。原色のまま使うとペタペタした貼り付け感が出る(誤題 #18);Takeover部分は一律 brightness(.92) saturate(.95) で統一(seg06で実測定、区間ごとに目視微調整しない)。

⑦ 編集加工:強調箇所はパンチイン(クリップ+拡大でキー領域を表示、キーセンテンスの文字高さは ≥40px)、フレーム選択、速度変更;引用系は「まず全体を2-3秒表示→パンチインでキーセンテンス」の2段構成。Takeoverの長さは素材の自然な尺に合わせ、自然速度を優先——素材がTakeoverより短い場合は先にTakeoverを短くし、クロスフェードを早めにかける。尺を埋めるためにスローモーションにしない;playbackRate<1 はインターフェーススクロール系かつTakeoverを短縮できない場合の最終手段(≥0.7)。焼き込みハイライト/翻訳テキスト入り素材でクリーンフレームがない場合 → マスクリビール法(白マスク scaleX 1→0 で開示)。ライブラリ登録時はSOURCES.mdに「マスクリビール法適用」と明記(詳細はbroll.md 8.5)。

⑧ セグメントレンダリング検収:該当セグメントのみレンダリング --frames=a-b、フレーム抽出して確認:貼り付け感(色味)、可読性(≥16px)、はみ出し(ホワイトボードセーフエリア)、ナレーションとの同期。

保存ルール

動画は public/broll/;スクリーンショットは public/assets/;不足分はアセンブリ案に記載してユーザーに素材提供を依頼。著作権表記:公式プロモーション素材は評論目的の動画に使用。

人名には必ず肖像写真(ユーザー裁定 2026-07-22、鉄壁ルール)

口頭で特定の人名に言及した場合、人物カードのアバター枠にはその人物の実写写真を可能な限り使用し、頭文字のモノグラムで代用しない(ユーザー原文:「こういう人名が出たときは、できるだけ画像を入れてほしい。自分でネットでその人を代表する画像を探して、アバターの枠に入れてほしい」)。モノグラム/アイコンは写真が入手できない場合の最終手段に限定。

写真取得方針(2種類に分類、混同禁止):

  • 公人(ジョブス、マスクなど):AIが自ら写真を取得するが、商用利用が明示的に許可されているソースからのみ取得——第一候補はWikimedia CommonsのCC BY / CC BY-SA / Public Domainエントリー、次に公式プレスリリース素材。検索エンジンからの画像をむやみに取得しない(権利が不明な商用写真が多く、ユーザーの動画は公開を前提としている)。取得後、必ず public/broll/<作品名>/SOURCES.md に記録:ファイル名 / ソースURL / ライセンス種別 / 撮影者クレジット。CC BY-SAでエンドロールや概要にクレジットが必要な場合、納品時にユーザーに通知する。
  • 非公人(口頭で言及された先生、友人、同僚など):AIが自分でネットから写真を探してはいけない——本人確認ができないうえ、利用許可もない。この場合は「素材必要」フローでユーザーに提供を依頼;ユーザーが提供しない場合は手描きネームプレート/モノグラムを維持し、納品時に理由を説明する。

このルールは旧方針を上書きする:初期案で「ジョブスの肖像禁止、テキスト/アイコンチップのみ」としていたのは著作権懸念による保守的対応だった。今回のユーザー裁定により「ライセンスが明確な実写写真を使用する」に変更。著作権問題は写真を掲載しないことで解決するのではなく、ライセンスが明確なソースを選ぶことで解決する。

AI生成コラージュB-Roll(実素材のない感情/メタファーシーン、0722-01 定型)

真素材の4段階に該当せず、かつ感情や抽象的なメタファー表現が必要な場合(復読、手術、スマホ操作、注意力分散など、録画も公式動画も存在しない段落)は、本フローを実行:Codex image_gen で静フレーム生成 → Grok image_to_video で動画化 → 本編に組み込み。実行は gbro-collage-broll スキルの3ゲート(Gate1 メタファー / Gate2 静フレーム / Gate3 動画)に従うが、リズム、コンテナ、構図のルールは本セクションが優先(gbroのデフォルト値を上書き)。

① コンテナ:デフォルトは右側カード、全面表示ではない。B-Rollは3カラムレイアウトの右側エビデンスカードに配置(16:9 等比 objectFit:contain で全体表示、トリミングしない——ユーザー裁定「等比例で縮小」)。人物は常に画面に留まり、左側にはサイドラベル+タイムラインHUDを維持。全面表示(フルスクリーン)Takeoverは「素材と並置する情報が一切ない」場合のみ使用(A-roll鉄則:全面表示は人物を切り替えられる唯一の場所。レイアウト §2参照)。コンテナの参考実装は src/koubo/scenes-0722-01/CollageBroll.tsx(カード+OffthreadVideo、枠線は章色に合わせる)。デフォルトで全面表示にしない——0722-01では全面表示にしてユーザーに却下され、やり直しになった。

② リズム:ナレーション1文につき1枚の画像、カットでリズムを作り、レンズ内の展開に頼らない。情報量の多いナレーションでは各画像の表示時間は1-3秒。assemble-from-empty アニメーションを禁止(空の状態から組み立てていき、最後のフレームで完成=情報が常に一拍遅れ、話すテンポと衝突。8本の動画がこのため没になった)。「動画化」は——静フレームの構図は最初のフレームで既に完成。Grokは持続的な微動のみを重ねる(紙片が舞う/歯車が回る/光帯が滑る/霧が湧く)。構図は1フレームたりとも変えてはならない。

③ 静フレーム構図のルール(Codex image_gen):

  • 比率の類型(一律にカットすると失敗):オブジェクト駆動のメタファー(病床/薬/カレンダー/断片/本の山——人物はあくまで要素)人物の高さは45-60%;人物駆動のメタファー(仕事中/座っている/ボタンを押す/ぼんやり——人物が主体)は必ずバストショット以上65-80%、ロングショットは無効。
  • 絶対的な禁止事項:偽の文字/判読可能な英数字/ロゴ/透かし/UI;四辺も同様に確認(Codexの自己チェックでは端の偽文字を見逃すため、メインセッションでffmpegを使って四辺を切り抜き拡大して再確認)。
  • プロンプト用の参照画像はユーザー指定(0722-01では my-face-studio-default.JPG を使用);表情はナレーションに合わせる。トーンの低い部分では横顔/うつむき/仰向けを多用して違和感を回避。笑顔や苦しそうな顔は不要。
  • 生成バッチごとに md5 で重複チェック、ファイルの混入を防止。

④ Grok動画化の3つの落とし穴(誤題 #39 詳細):

  • 解像度:grok CLI image_to_video の resolution_name は 480p/720pの2段階のみ、1080pなし(2026-07-24実測確認。1080pを要求すると720pにフォールバック);xAI API側のgrok-imagine-video-1.5は1080p i2v対応(公式ドキュメント)。全面表示で1080pが必要=CLIでは不可能:xAI API 1.5対応、もしくは他のジェネレーター(Sora 2 / Veo / Kling / Seedance;ChatCut MCPにSeedance/Kling内蔵)に切り替える。指示は明示的に解像度を直書きしないとフル画質にならない——記載がない場合、デフォルトで 736×400 に落ちる(さらにぼやける)。720pで十分かどうかはコンテナ次第:カード/ピクチャーインピクチャー(表示領域 <720px)なら720pで余裕、鮮明;全面表示で1920×1080に敷き詰める場合、720pを1.5倍に拡大するとぼやける。最終出力は1080p、B-Rollに4Kは不要(表示できない。大幅にクローズアップする場合を除く)。
  • morph 増殖:崩れやすい要素(歯車/リング/カレンダー枠)はプロンプト末尾にロック制約を追加(単一の元サイズ/枠数と色は不変/リングは連続で途切れない)
  • 強制的な補完:「まばらな要素+広い空白背景+中空の人型+顔の断片」はモデルが空白を埋めたり、空洞を埋めて顔を生やしたりするため、構図を変えてしまう。禁止命令を加えても効果は薄い。
  • 呼び出し:ヘッドレスでは --always-approve --permission-mode bypassPermissions --max-turns 10 が必要;複数エージェントでcwdを共有する場合 grok --continue は禁止(セッションが混線し、Aの成果物がBのパスに書き込まれる)。納品前に全ファイルのmd5重複チェック。

⑤ 環境の前提:Codexプロジェクトは、その書き込み可能なワークスペース内に作成する必要がある(ローカル=~/Documents/remotion剪辑/ 配下)。~/hyperframes-projects/ に作成するとimage_genは成功するが保存が拒否される;複数タスクの場合は1つのエージェントに1タスクずつ並行で割り当て、1エージェントに全タスクを直列で処理させない(途中で完了と判断して終了してしまうため)。

Individual skills in this repo

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

関連スキル