Montages Viraux
Une méthode complète pour produire des vidéos musicales verticales au beat parfait et aux effets intégrés, qui se lisent comme de la vidéographie de qualité S-tier. Construit à partir d'un système de production réel (campagne promotionnelle courte d'un musicien indépendant) et des retours clients accumulés. Le seul indicateur de succès est la performance (rétention + partages), et chaque règle ci-dessous existe parce que sa violation a été observée comme un échec sur le terrain.
Les Lois (non négociables ; chacune a été apprise à la dure)
- Effets intégrés uniquement. Les effets sont FUSIONNÉS dans les plans — ancrés au matte du sujet, à la géométrie de la scène, ou aux pixels du plan lui-même. Ne jamais couper vers des segments d'effets autonomes ; ne jamais alterner des effets plein écran avec des séquences plein écran ; un élément composite non traqué se lit comme un autocollant. Lisez
references/integrated-fx.mdavant d'ajouter un effet. - Être beau prime sur le respect des paramètres. Si la séquence ou la structure demandée nuit à la qualité, changez la structure et dites-le. Beaucoup de plans disparates assemblés aux limites des beats se lisent comme du chaos même avec un motif partagé.
- Riche, pas retenu — et pas ringard. Le registre de travail est un étalonnage RICHE dense (noirs vrais, courbe en S pour le contraste, palette engagée) + UNE distorsion de réalité dure par plan sur la grille de beats. La pure retenue semble délavée et ennuyeuse ; les effets aléatoires uniques par plan semblent chaotiques. Un langage d'effet par coupe, intensifié avec la structure de la chanson.
- Couper sur ce que la chanson donne. Découpage verrouillé sur les attaques : une coupe sur chaque vraie attaque (fusionnées en dessous de 0,13s en gardant la plus forte), des plans tenus quand c'est clairsemé, des rafales quand c'est chargé — jamais de coupes de remplissage hors grille, jamais de préréglage de densité qui outrepasse la chanson. Pour les pièces destinées au partage, le pôle opposé : un plan continu, zéro coupe, transformation photométrique pilotée par les enveloppes de la chanson.
- Sync par construction. Tous les rendus d'effets sont générés sur la même fenêtre (
--start/--dur) et la même liste de coupes que le montage. Ajuster les beats estimés aux vraies attaques détectées (≤60ms). Les changements de style atterrissent sur la trame CONTENANT la transitoire (sol, pas d'arrondi). - Presque noir + émissif pour toute imagerie procédurale. Les champs pastel délavés échouent systématiquement ; la lumière doit être sculptée dans l'obscurité.
- Les accroches passent le test des 5 (coup d'œil/parole/nom/écart/tirage, ≥4 sur 5). Pas de poésie, pas de « personne : », pas d'ordres d'engagement. Voir
references/hooks-and-text.md. - Filtres qualité au niveau du plan. Spécification de l'ambiance avant le sourcing ; sources de plus haut niveau d'abord ; filtre qualité par plan + inspection humaine de la planche contact ; seuls les plans acceptés entrent dans le montage. Vérifier la licence par fichier. Voir
references/footage-sourcing.md. - La QA automatisée ne remplace jamais le visionnage. Chaque livrable reçoit un rapport de sonde ET un œil sur la planche contact et le rendu complet à vitesse normale et à l'échelle du téléphone. Voir
references/delivery-qa.md. - Itérer avec des versions numérotées sur une infrastructure stable. Ne changer que le langage d'effet entre les versions ; quand le client aime un moment de 2 secondes, faire de ce moment le langage entier de la version suivante.
Format de base
1080×1920 @ 30fps vertical, libx264 yuv420p +faststart, aac 192k, CRF 17 (finaux par trame) / 18–19 (finaux de segment). Fin de boucle sans jointure. Noms de fichiers versionnés sous outputs/<projet>/. Chaque montage est livré avec une planche contact + fichier de timeline + rapport QA.
Le Processus
Pour tout ce qui n'est pas trivial, d'abord écrire le plan (document de conception / découpage plan par plan — references/design-docs.md), et pour une nouvelle campagne lancer un pilote : V1 prouve la grammaire, l'approbation débloque le lot.
- Analyser la chanson → grille de beats, énergie/priorité de coupe par beat, sections, phrases de 8 beats. Puis choisir la fenêtre (15–30s) selon la répétition (qualité de refrain), la montée d'énergie, la jointure de boucle, le placement des paroles, les antécédents de l'artiste. →
references/song-analysis.md - Sourcer et filtrer les séquences → spécification d'ambiance, sources hiérarchisées, filtre qualité par plan dans une carte de plans, vérifications de contrat sémantique quand le concept exige un contenu spécifique. →
references/footage-sourcing.md - Écrire le pack d'accroches → test des 5, cinétique de deuxième ligne (ligne 1 à la trame 0, ligne 2 fusionnée au beat à 0,8–1,3s ±100ms), pack A/B sur l'axe chaleureux-drôle vs calme-spécifique. →
references/hooks-and-text.md - Construire le montage → choisir l'horloge (CSV de beats pour les mesures musicales ; grille d'attaques pour le découpage transitoire), rédiger le plan de plans en beats, assurer les ancres structurelles (drop sur sa mesure ±0,02s). Architecture : segment→concat→post-graph (ffmpeg uniquement) pour les montages pilotés par les coupes ; numpy par trame pour les effets pixel par pixel ; fusion dans le shader pour l'intégration la plus profonde. →
references/integrated-fx.md - Intégrer les FX → mattes de personnes (Apple Vision, contrôle qualité), effets ancrés au matte/scène/pixel, le pipeline éprouvé base.mp4→mattes→tableau d'effets ; éléments procéduraux rendus sur la même fenêtre et entrés via la géométrie de scène. →
references/integrated-fx.md,references/procedural-renderers.md - Étalonner et couche de finition → la recette filmique exacte (halation, ACES, split-tone, grain, vignette, letterbox), push-ins centrés sur le matte, colonne vertébrale d'escalade, jointure de boucle. →
references/cinematic-grade.md - QA et livraison → preuve rapide des 3–5 premières secondes tôt ; sonde + planche contact + visionnage ; vérification de cohérence (tout aspect autocollant ou coupure = révision) ; empaqueter les variantes avec manifeste + galerie ; journaliser les publications dans la boucle d'expérimentation. →
references/delivery-qa.md
Choisir la voie
| Demande | Voie |
|---|---|
| Morceau émotionnel/lyrique, axé partage | Un plan continu + transformation photométrique (rampe d'étalonnage, arrivée de lumière, bloom) pilotée par les enveloppes de la chanson ; accroche d'affirmation-identité |
| Morceau d'énergie, axé rétention | Coupe rapide verrouillée sur les attaques à partir d'un pool de plans filtré en profondeur (60+ plans), accents de zoom avant sur les attaques du quartile supérieur |
| Mise en valeur de l'artiste dans le cadre | Couche de finition cinématographique + un effet signature ancré au matte par plan (flicker de style, clones d'écho, échange sujet↔monde, multitude de timbres) |
| Banger abstrait/visuel | Rendu procédural GLSL (tunnel/kaléido/starburst), presque noir + émissif, attaques→coup de basse→énergie bloom→vitesse ; fusionner avec les séquences via un tissage dans le shader quand il y a un sujet |
| Pièce de marque / titre héroïque | Document de conception d'abord ; timeline de mouvement par phases ; construction TDD ; audit visuel comparatif contre des références |
Références (lire à la demande)
references/song-analysis.md— formules d'analyse, score de fenêtre virale, grille d'attaques, mathématiques des beats, suiveurs d'enveloppe. Lire au démarrage d'une nouvelle chanson ou pour déboguer la sync.references/integrated-fx.md— LA doctrine fondamentale du craft : règles d'ancrage, modes d'échec, pipeline de mattes, trois architectures de construction, pièges de composition (screen-blend en RVB !), vocabulaire sujet-FX. Lire avant tout travail d'effets.references/procedural-renderers.md— squelette moderngl, bibliothèque maison GLSL, finition couleur maison, loi du presque noir, fusion portal-weave, voie TouchDesigner. Lire avant de rendre des visuels procéduraux.references/cinematic-grade.md— la recette d'étalonnage exacte, langage de caméra, colonne vertébrale d'escalade, et les études de cas d'itération (dreamcatcher v1→v5, with-u v4→v7, l'arc du portail). Lire quand le montage doit se lire comme du cinéma, ou avant d'itérer une version.references/hooks-and-text.md— test des 5, format de conteneur, cinétique du texte, méthode de tournoi, références terrain, boucle d'optimisation. Lire en écrivant un texte sur vidéo ou en choisissant entre approches créatives.references/footage-sourcing.md— spécifications d'ambiance, hiérarchie des sources, seuils de filtrage exacts, licences, contrats sémantiques, contrats de paires de mattes. Lire avant de sourcer ou d'admettre une séquence.references/delivery-qa.md— paramètres d'encodage, livrables, passage QA, format de verdict, paquet de publication. Lire avant de déclarer quoi que ce soit terminé.references/design-docs.md— feuille d'idées → fiche → document de conception → schémas de plan. Lire en planifiant une nouvelle production ou campagne.
Scripts fournis (exécutables, pas seulement décrits)
Ce sont des implémentations fonctionnelles des moteurs centraux — à utiliser avant d'en écrire de nouveaux depuis zéro. Ce sont tous des outils CLI simples ; exécutez --help ou lisez le docstring en haut de chaque fichier.
scripts/choose_viral_window.py— sélection de fenêtre virale (song-analysis.md §2).--audio song.wav [--transcript whisper.json] [--tiktok-start SEC] [--durations 15,22,30] --out DIR.scripts/scan_shot_quality.py— le filtre qualité des séquences au niveau du plan (footage-sourcing.md).--root path/to/footage [--min-shot 1.2] [--jobs 3]→ écritshot_map.json. Nécessiteopencv-python,scenedetect,pytesseract.scripts/build_onset_cut.py— le moteur de coupe verrouillée sur les attaques v2 (song-analysis.md §3, integrated-fx.md architecture A).--config job.json [--shot-map shot_map.json]; voir le docstring pour le schéma de tâche.scripts/matte/generate_local_person_matte.swift— matting de personne par trame via Apple Vision (integrated-fx.md). Compiler avecswiftc generate_local_person_matte.swift -O -framework AVFoundation -framework Vision -framework CoreImage -framework ImageIO -o mattegen(macOS 14+), puis exécutermattegen source.mp4 proposal_dir/.scripts/matte/media_contract.py— l'implémentation du filtre qualité des mattes (validate_matte_statistics,matte_statistics,probe_media,validate_sync) — les seuils exacts de integrated-fx.md en code, pas seulement en prose.scripts/procedural/— 10 rendus autonomes moderngl/GLSL (render_color_tunnel.py,render_glass_bloom.py,render_mandala.py,render_fractal_neon.py,render_shader_pack.py,render_neon_cathedral.py,render_dream_portal.py,render_hyper_space_jump.py,render_hyper_kaleido.py,render_portal_weave.py) plusfootage_fx.py(effets plein écran sur séquences réelles) etsubject_fx.py(échantillonneur d'effets ancrés au matte) — voir procedural-renderers.md. Chacun prend--audio --start --dur --out [--fps 30 --w 1080 --h 1920]; plusieurs supportent aussi--stillpour des vérifications rapides de direction artistique. Nécessitemoderngl,librosa,numpy,Pillow.
L'analyse de chanson (script/analyze_song_for_editing.py, le producteur de beats/sections/énergie) n'est pas incluse ici — utilisez le script équivalent déjà inclus dans le skill compagnon song-edit-analysis (même kit), ou réimplémentez à partir de song-analysis.md §1.
Travailler dans le dépôt d'origine
Si ce skill s'exécute dans l'espace de travail de production original d'où il a été extrait, privilégiez les copies de ces scripts dans ce dépôt (elles peuvent avoir accumulé des correctifs) ainsi que son infrastructure de lot/sourcing (générateurs de tâches, constructeurs de galeries, la boucle d'expérimentation de publication) plutôt que les versions fournies ici. Ailleurs — ce qui est le cas courant pour ce skill public — les scripts/ fournis sont les implémentations complètes ; les docs de référence contiennent toutes les constantes nécessaires pour les étendre ou les réimplémenter.