Esquema de Estilos de Subtítulos / Fotogramas Estáticos / Muestras de Comparación
0. Investigar primero, luego presentar
Resumen de materiales públicos sobre subtítulos en PV de grupos femeninos (artículo KCI 2024 + guía de estilo K-pop Y2K Seoul):
- Graphic (Énfasis Gráfico): Letras grandes con contraste irregular de grosor y trazos decorativos (estilo póster de Blackpink / XG);
- Mix & Match (Combinación Mixta): Mezcla de serif + sans-serif + condensada + inclinada, con sensación editorial de revista;
- Minimalism (Minimalismo): Sans-serif limpio, sin decoración, con espacios en blanco, que aparece al ritmo (tipografía cinética de NewJeans/aespa);
- Futurism (Futurista): Sans-serif digital + glitch / desplazamiento RGB / líneas de barrido;
- Y2K Chrome + Stickers (Cromo Y2K + Pegatinas): Letras cromadas en burbuja, colores caramelo (rosa chicle + aguamarina), collage de pegatinas, destellos de estrellas;
- Handwritten/Diary (Escritura a mano / Diario): Rotulador/marcador fluorescente + notas adhesivas + garabatos (sensación juvenil de NewJeans).
1. Seis estilos adaptados para el vídeo (S1–S6)
| Código | Estilo | Elementos Clave | Ideal para |
|---|---|---|---|
| S1 | Y2K Chrome + Pegatinas | Gradiente cromado Bungee + insignia rosa + destellos | Muy "grupo femenino", rosa/aguamarina se puede cambiar a morado/rosa |
| S2 | Minimalista Dinámico | Letras grandes blancas Anton, desplazamiento, líneas finas, texto pequeño Silkscreen | Versión de letras oficial, más estable, no compite con el fondo |
| S3 | Glitch Futurista | RubikGlitch + Anton, desplazamiento RGB, líneas de barrido, esquinas HUD | Ruptura / transiciones |
| S4 | Mezcla Revista | Georgia Italic × Bebas Neue × Archivo Black, cinta adhesiva, bloques de color GO!, notas adhesivas | Sensación juvenil/de revista, transiciones entre párrafos |
| S5 | Énfasis Gráfico | Letras grandes Anton + contorno blanco de pegatina + desplazamiento rosa + rayas | Palabras cortas en el estribillo explosivo |
| S6 | Rotulador/Resaltador | Permanent Marker + bloque fluorescente rosa + notas adhesivas + ♥★ flechas | Pausa / primer plano decorativo |
2. Creación de fotogramas estáticos (PIL + numpy, sin librerías de IA)
Scripts:
字幕\build\kpop_styles.py— Seis fotogramas estáticos 2560×1080 para S1–S6 (versión investigación 2025)字幕\build\art_frames.py— 6 esquemas de tipografía artística temprana (rebanada glitch / neón roto / letras 3D grandes / collage / eco contorno / vertical)字幕\build\gothic_art.py— Gótico pantalla completa (rechazado por el usuario, archivado) Directorio de fuentes:字幕\build\fonts\(Anton, ArchivoBlack, BebasNeue, Bungee, Monoton, PermanentMarker, RubikGlitch, Silkscreen, PirataOne, UnifrakturCook) +C:\Windows\Fonts(Georgia / Georgia Italic / Microsoft YaHei / Impact / Arial Black). Descargar fuentes (disponible vía raw de GitHub Fonts):
https://raw.githubusercontent.com/google/fonts/main/ofl/<family>/<File>.ttf
Funciones de efectos comunes (PIL/numpy)
- Capa de texto: dibujo carácter por carácter con tracking (
text_img),stroke_width/stroke_fillpara contorno; - Texto cromado: gradiente vertical multisegmento sobre máscara alfa (
gradient_fill) + banda de brillo diagonal; - Contorno de pegatina: expansión de alfa con
MaxFilter(3)N veces y luego coloreado; - Desplazamiento/Glitch: desplazamiento independiente de canales RGB (
chroma), desplazamiento aleatorio de bandas horizontales (glitch_slices), líneas de barrido; - Texto 3D: superposición del mismo texto desplazado varias veces, con gradiente de púrpura oscuro a lavanda de lejano a cercano;
- Semitono: superposición de puntos de rejilla (
halftone); - Rotulador fluorescente: rectángulo redondeado semitransparente detrás del texto +
GaussianBlur; - Nota adhesiva/cinta: rectángulo semitransparente + textura de líneas finas + rotación;
- Estrella/corazón: polígono de estrella de 4 puntas, círculo doble + triángulo corazón;
- Granulado: superposición de
np.random.normal1–3 niveles anti-banding.
3. Muestras animadas (ASS Animation)
- 5s tres estilos:
字幕\build\styles_anim.py→公众号/输出/字幕风格参考/小样_S2_5s.mp4etc.; - S4/S6 30s:
字幕\输出\S4S6_30s\(cada subagente hace una versión, ver abajo); - FLARE de impacto:
flare.py+flare_video.py; Neón:neon_wide.py; - Evitación completa de neón:
avoid_side2.py. - Técnicas de animación: caída (
\fscx118→100+\t+\blur), letras girando (\frz+\t), deslizamiento (\move), fundido, escalado de bloques de color / barrido (\p1+\fscx), subida de nota adhesiva, pulso al ritmo (un pulso cada 0.447s a 134BPM).
4. Convenciones de entrega para comparación
- Muestra individual: 2560×1080 / 30fps / H.264 crf16 / faststart; 30s=900 fotogramas, 5s=150 fotogramas.
- Video de comparación:
vstackvertical, cada muestra reducida a 1280×540, salida 1280×1080 (o 3 muestras → 1280×1620), con etiquetas ASS. - Tabla de fotogramas clave: collage 2×2 / 2×3 / 3×3, cada celda 853×360 o 1280×540, con nombre de estilo y marca de tiempo.
- MD de documentación: descripción del estilo + tabla de archivos + línea de tiempo + limitaciones conocidas.
- Ejemplo:
字幕\输出\字幕风格参考\(6 estilos estáticos + S2/S4/S6 5s comparación),字幕\输出\S4S6_30s\(dos versiones 30s + comparación).
5. Flujo de trabajo con subagentes paralelos ("Los subagentes trabajan por separado")
- El agente principal prepara el video base compartido (recortado + ligeramente oscurecido) →
_base_30s.mp4; copiafonts/al directorio de salida; escribe la hoja de referencias (tiempo relativo). - Cada estilo tiene un subagente, cuyo prompt debe incluir:
- Ruta absoluta del video base, directorio de salida, nombre de archivo de salida (
S4_30s.mp4/S6_30s.mp4); - Directorio de fuentes, ruta de ffmpeg, reglas estrictas de ASS (formato de tiempo, valores de color de Style sin & al final, ruta relative fontsdir, nombres de archivo ASCII);
- Línea de tiempo oración por oración (8 frases) + descripción del estilo + restricción "sin chino / sin cubrir caras";
- Requisitos de autoverificación (ffprobe 30s, extraer fotogramas para ver texto, sin chino, caras limpias).
- Ruta absoluta del video base, directorio de salida, nombre de archivo de salida (
- Cada subagente escribe solo archivos con su propio prefijo, sin sobrescribir; al terminar, reporta el diseño/efecto/problemas encontrados.
- El agente principal, una vez recogidos todos, ejecuta:
s4s6_compare.pypara sintetizar el video de comparación + tabla de fotogramas clave + MD unificado de documentación; luego extrae fotogramas y verifica por su cuenta.
6. Recomendaciones de selección (Escenario neón morado/rosa + personaje con alas)
- Más estable: S2 Minimalista Dinámico;
- Más "grupo femenino": S1 Y2K Chrome (cambia colores a morado/rosa como tema);
- Transición de párrafos: S4 Mezcla; Punto álgido: S5; Pausa/primer plano: S6; Ruptura: S3.
- El usuario ha rechazado explícitamente: gótico pantalla completa, paleta rojo sangre. No propongas direcciones góticas.
7. Lista de verificación
- Fotograma estático es 2560×1080, sin errores de caracteres chinos
- Muestra animada tiene la duración correcta según ffprobe (5.000/30.000)
- Extracción de fotogramas confirma que los subtítulos aparecen, no cubren caras, y no hay chino
- Video de comparación + tabla de fotogramas clave + MD de documentación completos
- Nombre de estilo/nomenclatura de archivo uniforme (
S4_30s.mp4,对比_S4S6_30s.mp4)