Réel cinématographique synchronisé sur le beat
Compagnon de video-editor-pro (lire references/studio-folder-structure.md, lessons-and-feedback.md). Référence : projects/2026-10-16_car-delivery-cinematic-reel (22,7 s, 97 BPM, 19 plans, v1→v3).
Structure des dossiers
projects/YYYY-MM-DD_<slug>/
raw/ (clips IMG_*.MOV, photos *.JPG, song .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 en arrière-plan plante sans -nostdin).
Pipeline
- Analyser tous les clips (fps, orientation, durée) + planche contact ; choisir les plans héros, détail, rituel et large. Les clips téléphoniques en 60 fps permettent un vrai ralenti 0,5×.
- Grille de beats :
video-editor-pro/scripts/beat_detect.py song→ BPM, durée du beat, premier beat. Dansplan.py:T(n)=PREMIER+BEAT*n, les coupures sont alignées surround(T*FPS). - Liste SHOTS
(beat_debut, clip, src_in, vitesse, ("in"|"out", montant), (fx,fy)). Structure par mesure : ouverture héros au ralenti → beaux détails (ralentis) → le rituel à 1 beat/plan → montée → DROP (plans larges, flash + boom sur le beat du drop) → plans latéraux lents → moment émotionnel → photos à la fin (SFX d'obturateur, flashs blancs) → photo héros avec titre → fondu. Plans longs sur les mesures lentes, coupures d'1 beat pour l'énergie. - build_shots.py →
work/base.mp4(push/pull avec easing, point de mise au point par plan). - Passage FX (ffmpeg séparé) : étalonnage cinéma (hautes lumières douces, ombres froides/lumières chaudes), bloom, vignette, grain →
work/fx.mp4. Garder ce passage séparé du passage d'incrustation. - compose.py : titres, flashs blancs/ambrés (
FLASHES = (beat, couleur, durée, alpha)), SFX (boom_hit/sub_drop sur le drop, riser avant celui-ci, shutters sur les photos), master de la chanson → composite. - Livrer : normaliser
-14 LUFS,--tp -1,5, AAC 320k,qc.py --platform reels. Créer une planche contact du résultat.
Règles pour les titres (issues des retours)
Titres en Optima gras avec un fort dégradé/ombre – les titres peu visibles ont été rejetés (v1→v2). Garder le texte dans les marges de sécurité (v3). Placer le texte de fin sur des zones unies (ex. toit) pour que les visages/plaques d'immatriculation restent dégagés. Exemple typique de carte de fin : BIENVENUE À LA MAISON / NOM DE LA FAMILLE / JOUR DE LA LIVRAISON.
Miniatures (toujours, demande utilisateur 2026-10-16)
Avec chaque exportation (et parallèlement à chaque aperçu), créer exports/vN_cover_reels_1080x1920.jpg (tout le texte dans le centre 1080x1440 = recadrage grille Instagram 3:4) et exports/vN_thumb_youtube_1280x720.jpg à partir de la photo/du plan le plus net en pleine résolution, étalonné comme la vidéo, titre en Montserrat Black gras + surlignage jaune de marque + vrai logo. Utiliser le skill thumbnail-designer.