シネマティック・ビート同期リール
video-editor-proのコンパニオンスキルです(references/studio-folder-structure.md、lessons-and-feedback.mdを参照)。参考:projects/2026-10-16_car-delivery-cinematic-reel(22.7秒、97 BPM、19ショット、v1→v3)。
フォルダ構成
projects/YYYY-MM-DD_<slug>/
raw/ (クリップ IMG_*.MOV、写真 *.JPG、楽曲 .mp3)
edit/ plan.py build_shots.py compose.py ff.sh
work/ base.mp4 → fx.mp4 → mix exports/ vN_<what>.mp4 notes.md
ff.sh: exec /opt/homebrew/opt/ffmpeg-full/bin/ffmpeg -nostdin "$@"(バックグラウンドffmpegは-nostdinがないと停止します)。
パイプライン
- 全クリップをプローブ(fps、向き、長さ)+ コンタクトシート;ヒーロー、ディテール、リチュアル、ワイドショットを選びます。60fpsのスマホクリップで0.5倍の真スローモーションが可能です。
- ビートグリッド:
video-editor-pro/scripts/beat_detect.py song→ BPM、ビート長、最初のビート。plan.py内:T(n)=FIRST+BEAT*n、フレームはround(T*FPS)にスナップします。 - SHOTSリスト:
(start_beat, clip, src_in, speed, ("in"|"out", amount), (fx,fy))。バーで構造化:ヒーロースローモーションオープナー→美しいディテール(スロー)→1ビート/ショットのリチュアル→ビルド→DROP(ワイドショット、ドロップビートでフラッシュ+ブーム)→スローサイドショット→感動的瞬間→最後に写真(シャッターSE、白フラッシュ)→ヒーロー写真+タイトル→フェードアウト。ロングショットはスローバー、1ビートカットでエネルギーを演出します。 - build_shots.py→
work/base.mp4(イーズドプッシュ/プル、ショットごとのフォーカスポイント)。 - FXパス(別途ffmpeg): シネマティックグレード(ハイライトを丸め、シャドウをティール/ハイライトを暖色)、ブルーム、ビネット、グレイン→
work/fx.mp4。オーバーレイパスとは分けて保持します。 - compose.py: タイトル、白/アンバーフラッシュ(
FLASHES = (beat, colour, dur, alpha))、SE(ドロップでブームヒット/サブドロップ、その前にライザー、写真でシャッター)、楽曲マスター→合成。 - 書き出し:
-14 LUFSにノーマライズ、--tp -1.5、AAC 320k、qc.py --platform reels。結果をコンタクトシート化。
タイトルルール(フィードバックから学習)
太字のOptima風タイトルに強いグラデーション/シャドウを付けること – 薄いタイトルは却下されました(v1→v2)。テキストは安全マージン内に収める(v3)。エンドカードのテキストはプレーンな領域(例:屋根)の上に配置し、顔やナンバープレートは表示しない。典型的なエンドカード:WELCOME HOME / FAMILY NAME / DELIVERY DAY。
サムネイル(常に作成、2026-10-16のユーザーリクエスト)
すべての書き出し時(およびプレビューごと)にexports/vN_cover_reels_1080x1920.jpg(すべてのテキストは中央1080x1440 = Instagram 3:4グリッドクロップ内)、exports/vN_thumb_youtube_1280x720.jpgを、最もシャープなフル解像度の写真/フレームから作成します。ビデオと同じグレードを適用し、太字のMontserrat Blackタイトル、ブランドイエローのハイライト、実際のロゴを配置します。thumbnail-designerスキルを使用します。