시네마틱 비트 동기화 릴
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비트/샷 속도의 의례 → 빌드업 → 드롭 (와이드 샷, 드롭 비트에서 플래시 + 붐) → 느린 사이드 샷 → 감동적인 순간 → 끝에 사진 (셔터 SFX, 흰색 플래시) → 히어로 사진과 타이틀 → 페이드 아웃. 느린 마디에는 긴 샷, 에너지를 위해 1비트 컷. - build_shots.py →
work/base.mp4(샷별 이지드 푸시/풀, 초점 포인트). - FX 패스 (별도 ffmpeg): 시네마틱 그레이드 (롤드 하이라이트, 청록 그림자/따뜻한 하이라이트), 글로우, 비네트, 그레인 →
work/fx.mp4. 오버레이 패스와 분리하여 유지. - compose.py: 타이틀, 흰색/호박색 플래시 (
FLASHES = (beat, colour, dur, alpha)), SFX (드롭에서 boom_hit/sub_drop, 그 전 riser, 사진에서 shutter), 노래 마스터 → 합성. - 딜리버리:
-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 스킬을 사용하세요.