Plan de style de sous-titres / Tramage statique / Échantillon comparatif
0. D'abord rechercher, puis produire
Résumé des informations publiques sur les sous-titres de PV de girl group (article KCI 2024 + guide de style K-pop Y2K Séoul) :
- Graphic 图形强调 : grosses lettres contrastées, traits décoratifs irréguliers (style affiche Blackpink / XG) ;
- Mix & Match 混排 : mélange de polices serif, sans-serif, condensées, italiques, aspect éditorial magazine ;
- Minimalism 极简 : sans-serif propre, sans décoration, espace blanc, apparaissant sur le rythme (typographie cinétique NewJeans/aespa) ;
- Futurism 未来感 : sans-serif numérique + glitch / décalage RGB / lignes de balayage ;
- Y2K 铬字 + 贴纸 : chrome bubble lettering, couleurs bonbon (rose vif + aqua), collage d'autocollants, paillettes étoilées ;
- 手写日记感 : marqueur / surligneur + post-it + gribouillage (ambiance jeunesse NewJeans).
1. Six styles adaptés au film (S1–S6)
| Code | Style | Éléments clés | Adapté à |
|---|---|---|---|
| S1 | Chrome Y2K + autocollants | Dégradé chrome Bungee + badge rose + étoiles | Le plus « girl group », rose/bleu clair interchangeable avec violet/rose |
| S2 | Cinétique minimaliste | Grandes lettres blanches Anton, décalage, lignes fines, petit texte Silkscreen | Version paroles officielle, plus stable, ne cache pas l'arrière-plan |
| S3 | Futurisme glitch | RubikGlitch + Anton, décalage RGB, lignes de balayage, coins HUD | Break / transition |
| S4 | Mix and match magazine | Georgia Italique × Bebas Neue × Archivo Black, ruban adhésif, bloc de couleur GO!, post-it | Ambiance jeunesse/magazine, transition de paragraphe |
| S5 | Accentuation graphique | Grandes lettres Anton + contour blanc autocollant + décalage rose + rayures | Mots courts au refrain explosif |
| S6 | Écriture manuscrite / surligneur | Permanent Marker + bloc rose surligneur + post-it + ♥★ flèches | Interlude / gros plan pour ponctuer |
2. Production de trames statiques (PIL + numpy, sans IA)
Scripts :
字幕\build\kpop_styles.py— six trames statiques 2560×1080 S1–S6 (version recherche 2025)字幕\build\art_frames.py— 6 premiers plans de lettrage artistique (tranche glitch, dégradé néon, grandes lettres 3D, collage, écho de contour, vertical)字幕\build\gothic_art.py— gothique plein écran (déjà refusé par l'utilisateur, archivé) Dossier polices :字幕\build\fonts\(Anton, ArchivoBlack, BebasNeue, Bungee, Monoton, PermanentMarker, RubikGlitch, Silkscreen, PirataOne, UnifrakturCook) +C:\Windows\Fonts(Georgia / Georgia Italic / Microsoft YaHei / Impact / Arial Black). Téléchargement des polices (Google Fonts GitHub raw disponible) :
https://raw.githubusercontent.com/google/fonts/main/ofl/<family>/<File>.ttf
Fonctions d'effets courants (PIL/numpy)
- Couche de texte : dessin lettre par lettre + tracking (
text_img),stroke_width/stroke_fillpour le contour ; - Texte chromé : dégradé vertical multi-segments sur masque alpha (
gradient_fill) + bande de surbrillance diagonale ; - Contour autocollant : dilatation répétée N fois de l'alpha avec
MaxFilter(3)puis coloration ; - Décalage/glitch : translation séparée des canaux RGB (
chroma), déplacement aléatoire de bandes horizontales (glitch_slices), lignes de balayage ; - Texte 3D : superposition de décalages multiples du même texte, dégradé violet foncé → lavande de loin en proche ;
- Demi-teinte : superposition de points de grille circulaires (
halftone) ; - Surligneur manuscrit : rectangle semi-transparent arrondi derrière le texte +
GaussianBlur; - Post-it/ruban adhésif : rectangle semi-transparent + texture de lignes fines + rotation ;
- Étoiles/cœurs : polygones d'étoiles à 4 branches, double cercle + triangle cœur ;
- Grain : superposition
np.random.normalde 1 à 3 niveaux anti-banding.
3. Échantillons animés (animation ASS)
- 5s trois styles :
字幕\build\styles_anim.py→公众号/输出/字幕风格参考/小样_S2_5s.mp4etc. - S4/S6 30s :
字幕\输出\S4S6_30s\(deux sous-agents produisent chacun une version, voir ci-dessous) - FLARE explosion :
flare.py+flare_video.py; néon :neon_wide.py; - Évitement total du néon :
avoid_side2.py. - Astuces d'animation : impact (
\fscx118→100+\t+\blur), texte tournant tombant (\frz+\t), glissement (\move), fondu, zoom/balayage de bloc de couleur (\p1+\fscx), post-it montant, impulsion de rythme (toutes les 0.447s, 134BPM).
4. Spécifications de livraison comparative
- Échantillon unique : 2560×1080 / 30fps / H.264 crf16 / faststart ; 30s = 900 images, 5s = 150 images.
- Vidéo comparative :
vstackvertical, chaque piste réduite à 1280×540, sortie 1280×1080 (ou 3 pistes → 1280×1620), avec étiquettes ASS. - Tableau d'images clés : mosaïque 2×2 / 2×3 / 3×3, chaque case 853×360 ou 1280×540, avec nom de style et étiquette temporelle.
- Fichier d'instructions md : description du style + tableau des fichiers + chronologie + limitations connues.
- Exemple :
字幕\输出\字幕风格参考\(6 styles statiques + comparaison S2/S4/S6 5s),字幕\输出\S4S6_30s\(deux versions 30s + comparaison).
5. Workflow parallèle de sous-agents ("sous-agents travaillent séparément")
- L'agent principal prépare le film de base partagé (recadré + légèrement assombri) →
_base_30s.mp4; copiefonts/dans le répertoire de sortie ; écrit une cue sheet (temps relatifs). - Chaque style a un sous-agent, dont l'invite doit inclure :
- Chemin absolu du film de base, répertoire de sortie, nom du fichier de sortie (
S4_30s.mp4/S6_30s.mp4) ; - Répertoire des polices, chemin ffmpeg, règles ASS strictes (format heure, valeurs de couleur Style sans & à la fin, fontsdir relatif, noms de fichiers ASCII) ;
- Chronologie phrase par phrase (8 phrases) + description du style + contrainte "pas de chinois / ne pas cacher le visage" ;
- Exigences d'auto-vérification (ffprobe 30s, vérifier les caractères visuels, absence de chinois, visage propre).
- Chemin absolu du film de base, répertoire de sortie, nom du fichier de sortie (
- Les sous-agents n'écrivent que leurs propres fichiers préfixés, sans se chevaucher ; après la fin, ils rapportent la disposition/l'animation/les difficultés rencontrées.
- L'agent principal collecte tout :
s4s6_compare.pyassemble la vidéo comparative + tableau d'images clés + fichier d'instructions md unifié ; puis vérifie en extrayant lui-même des images.
6. Recommandations de sélection (scène de danse violet-rose néon + personnage ailé)
- Plus stable : S2 Cinétique minimaliste ;
- Plus girl group : S1 Chrome Y2K (changer la couleur en thème violet/rose) ;
- Transition de paragraphe : S4 Mix and match ; point fort : S5 ; interlude/gros plan : S6 ; break : S3.
- Refus explicite de l'utilisateur : gothique plein écran, palette rouge sang. Ne plus proposer de direction gothique.
7. Liste de vérification
- L'image statique est en 2560×1080, sans erreur de caractère chinois
- La durée de l'échantillon animé est correcte selon ffprobe (5.000/30.000)
- Extraction d'images pour confirmer l'apparition des sous-titres, absence de visage caché, absence de chinois
- Vidéo comparative + tableau d'images clés + fichier d'instructions md complets
- Noms de styles/noms de fichiers uniformes (
S4_30s.mp4,对比_S4S6_30s.mp4)