Desglose de video: de un video que le gusta a alguien a técnicas y una receta con nombre
Esta es la versión video-breakdown 0.4.1.
La persona tiene un video que le gusta y no sabe cómo se llama lo que contiene. Tú le proporcionas, plano por plano, el nombre correcto de cada transición, movimiento de cámara, estilo de texto y sonido, la técnica de EditAtlas que lo produce, y los pasos para crear uno similar con su propio material.
Tres cosas son ciertas en todo momento:
- Los números son pistas, los fotogramas son la evidencia.
analyze.pymide píxeles y muestrea. Puede confundir un crash zoom con una unión, un iris con un fundido a negro, el parpadeo de una película antigua con cortes. Cada elemento que nombres debe provenir de fotogramas que hayas abierto con la herramienta Read. Indica cuáles solo mediste. - No puedes oír. Los números de audio indican dónde ocurre algo repentino, qué tan fuerte, qué tan brillante, y el tempo. No dicen qué es el sonido. Nunca escribas "un whoosh" para un transitorio que no has identificado; escribe "un golpe corto y brillante a los 4.9 s, cerca del zoom".
- Nunca inventes. Trabaja solo con el archivo que la persona te dio. Cada slug de técnica e id de sonido en el informe proviene de una búsqueda o llamada a EditAtlas en esta sesión. Si nada encaja, dilo.
Los scripts están en scripts/ (Python 3.9+, numpy, Pillow, FFmpeg con ffprobe en PATH). Ejecútalos con la ruta de la carpeta del skill, desde una carpeta de trabajo propia (work/); nunca escribas en las carpetas de la persona.
python SKILL/scripts/analyze.py VIDEO --out work/bd # breakdown.json + hojas
python SKILL/scripts/frames.py VIDEO --at 6.8 --span 0.6 --step 0.04 --out work/look # cada fotograma de una unión
python SKILL/scripts/frames.py VIDEO --at 7.9 --crop 0,60,100,40 --out work/look # 40% inferior, para leer texto
python SKILL/scripts/text_look.py VIDEO --at 3.6 --crop 12,24,76,11 --text "Caringbah" --fonts sans-heavy --out work/text/title
python SKILL/scripts/report.py work/bd/breakdown.json work/bd/notes.json --out result/breakdown.md --check-api
Cuando faltan las entradas
- Sin archivo, solo un enlace (TikTok, Reels, YouTube): pide a la persona que descargue el video y te dé la ruta del archivo. Esta skill no obtiene contenido de plataformas. Una grabación de pantalla del video también funciona.
- Sin video en absoluto: pídelo. No describas lo que "normalmente" tiene un video así.
- Video muy largo (más de 5 minutos):
analyze.pylee los primeros 300 s. Pregunta qué parte es relevante, o pasa--max-seconds.
Los desgloses son para aprender cómo se editó un video. La receta usa el propio material de la persona; no sugieras reutilizar el metraje, la música o los personajes del video de referencia.
1. Medir
Ejecuta analyze.py. Imprime un resumen y escribe breakdown.json con:
| Parte | Qué contiene |
|---|---|
format | tamaño, forma (9:16, 16:9), fps, duración |
pacing | tomas, uniones por minuto, mediana / más corta / más larga toma, uniones en los primeros 3 s, regularidad |
joins | cada cambio de toma: tiempo, duración, tipo (cut, cross-dissolve, dip to black, white flash, bright flash, wipe con el lado del que viene, shape wipe (una forma plana crece sobre la imagen) con su contorno y lado, push or slide con la dirección, zoom transition, blur transition, snap zoom or punch-in, jump cut, gradual (other)) |
shots | por toma: palabras de cámara medidas (push in, fast zoom, pan, shake, hold, speed change), el aspecto (oscuro, cálido, blanco y negro, barras negras, viñeteado), y para tomas que se mantienen quietas, el timing: cuánto tardan en aparecer las cosas, cuánto se mantienen, cómo se van |
overlays | events: momentos en que una banda del fotograma cambia mientras el resto se mantiene (texto, stickers, gráficos que aparecen o desaparecen); persistent: regiones que permanecen a través de las uniones (logotipo, marco, barra de subtítulos) |
audio | volumen, proporción tipo voz, candidatos de tempo y si los cortes caen en el beat, transitorios (sonidos repentinos) con el evento visual más cercano, crescendos (subidas hacia un momento) |
Qué significa cada número y dónde falla: references/reading-the-numbers.md. Léelo antes de tu primer desglose de una sesión.
2. Observar
Abre, con la herramienta Read, en este orden:
overview.png: el video completo en 24 fotogramas o más (cada 0.15 s en un video corto, uno por segundo o menos en uno largo). Obtén primero la historia y el estilo, y dónde aparece cada texto.shots_NN.png: primer, medio y último fotograma de cada toma. Verifica que cada toma sea real: un crash zoom, un destello o un parpadeo pueden dividir una toma en dos; una disolvencia dentro del metraje original puede parecer una unión.joins_NN.png: seis fotogramas a lo largo de cada unión que no sea un corte simple. Nombra la transición a partir de estos.events.png: antes y después de cada evento de superposición. Aquí es donde se muestran subtítulos, stickers y gráficos.
Luego usa frames.py donde no estés seguro: --step 0.04 (un fotograma a 25 fps) a través de una unión para ver su forma, --crop para leer texto pequeño o ver cómo entra una palabra (pop, rebote, deslizamiento, máquina de escribir), --times para momentos uno al lado del otro. Dos o tres miradas detalladas son normales; un video corto con muchos efectos puede necesitar más.
Compara el formato con la imagen. Un video 9:16 cuyas tomas parecen recortadas de metraje más ancho (una película, un podcast, un juego: caras y objetos cortados en los lados, un encuadre que se sitúa diferente en cada toma) es un reencuadre: dilo, y busca reframe to vertical. El metraje ancho con barras negras es letterbox o pillarbox.
Escribe, para cada elemento, lo que ves en palabras simples antes de buscar un nombre: "la imagen antigua se comprime en una línea horizontal mientras la nueva aparece detrás", no "un squeeze".
Texto en pantalla
El texto es lo que la gente copia primero y lo que un remake suele hacer mal: el tipo de letra incorrecto, color plano donde el original tiene un degradado, texto delante de una persona donde el original lo pone detrás. Para cada texto que no sea subtítulos simples, encuentra estas cinco cosas:
- Capa. ¿Una persona u objeto cubre parte de las letras (pelo sobre la parte inferior de una palabra, una mano delante)? Entonces el texto está detrás del sujeto:
compositing-text-behind-object. Observa un recorte donde se superpongan. Revisa cada título, no solo el primero: un video puede poner varias palabras detrás del sujeto. - Entrada.
frames.py --at <momento en que aparece> --span 0.6 --step 0.04 --crop ...: se desliza con desenfoque de movimiento (¿desde qué lado?), cae desde arriba, aparece (escala), se funde, se escribe, palabra por palabra o todas a la vez, y si las palabras se mueven de nuevo después de posarse. Los eventos de superposición pueden pasar por alto texto que entra mientras la cámara se mueve; usa la vista general para encontrar esos momentos. - Color. Ejecuta
text_look.pyen un recorte del texto una vez que esté completamente visible y quieto. Recorta una línea con un poco de fondo en cada lado. Imprime el relleno (sólido, o un degradado con su dirección y paradas como colores hex), un contorno o sombra desplazada, un brillo o halo oscuro alrededor de las letras, y cuánto se inclinan las letras. Abrelook.png: "taken as text" debe mostrar las letras y nada más. Si tomó una cara o dejó fuera parte de un degradado, ejecuta nuevamente con--text-clustersy los números de cluster que son texto (el panel debajo muestra cada cluster). Cada palabra puede tener sus propios colores: mide cada título por separado. - Fuente. Describe primero las letras: sans o serif o script; para scripts, trazos uniformes (brush, marker, casual) o trazos gruesos hacia abajo con trazos finos hacia arriba (formal, caligráfico); peso; vertical o inclinada; mayúscula o minúscula; ancha o condensada.
text_like.pyimprime el peso del trazo y el contraste, que distinguen una script caligráfica (contraste 2.2 o más) de una brush. Luego añade--text "<las palabras exactamente como se muestran>" --fonts <grupos>(--list-fontslos muestra) para el grupo o grupos adecuados, y compara las letras visualmente: mayúsculas, las formas de a, g, t, las uniones. El número de coincidencia ayuda para fuentes sans y serif y es débil para scripts. Nombra una o dos fuentes similares gratuitas y di que son similares, no la fuente del creador. - Lugar y tamaño: dónde está, su altura como proporción del fotograma, y cuánto tiempo permanece.
Movimiento diseñado
Para logotipos, títulos, gráficos y videos animados, el timing es lo que los hace verse terminados, y lo que un remake hace mal. Lee el timing de cada toma (entra en 0.7 s, rápido, luego se estabiliza; quieto el 71 % de la toma; sale en 0.8 s, lento, luego acelera) y format.loops, verifícalos en los fotogramas, y pon los números en el seen o note del elemento y en la receta. Sobre un fondo plano, un gráfico que crece o aparece puede informarse como una unión (jump cut, snap zoom, zoom transition): si el fondo permanece, es la entrada del elemento. Detalles: "Designed motion" en references/reading-the-numbers.md.
3. Nombrarlo con EditAtlas
Para cada elemento, busca por el resultado, no por un nombre supuesto:
search_techniquescon la descripción simple ("el círculo se cierra a negro luego se abre", "las palabras entran rebotando una a una", "zoom rápido repentino al sujeto"). Usacategorypara acotar (transition, captions, motion, vfx, color). Los términos de búsqueda que funcionan para cada etiqueta del analizador están enreferences/reading-the-numbers.md.get_techniquesobre la mejor o las dos mejores, y conserva aquella cuya descripción coincida con lo que viste. Copia suslugynameexactamente. Marca la coincidencia comoexact,close(misma idea, difiere un detalle) opartial.- Sonidos:
search_sfxpor lo que el momento necesita (pop para texto que aparece, crescendo para un golpe, whoosh para un empuje). El sonido en la referencia es desconocido para ti; estás sugiriendo un sonido de EditAtlas para el mismo momento, así que dilo. get_workflowcon el tipo de video (short_vertical,product_ad,food_review, ...) para el ritmo y la estructura que EditAtlas recomienda; compáralo con lo que mediste.
Sin el MCP, la API REST responde a las mismas búsquedas: https://edit.trysometh.ing/api/v1/techniques?q=... y /api/v1/sfx?q=....
Un corte simple, un tramo de diálogo o el metraje en sí no necesitan técnica: asígnale un gap diciéndolo. Cuando nada en EditAtlas coincida con un efecto real, escribe lo que buscaste en gap; eso le indica a EditAtlas qué falta.
4. Escribir las notas y el informe
Escribe notes.json junto a breakdown.json (formato y un ejemplo: references/notes-format.md): qué hay en pantalla en cada toma, cada elemento con su tiempo, descripción simple, evidencia y técnica o sonido de EditAtlas, correcciones donde las mediciones fueron erróneas, una receta, y lo que no verificaste. Establece lang al idioma de la persona (vi o en).
Ejecuta report.py ... --check-api. Rechaza notas que omitan una toma, dejen un elemento sin técnica o razón, o dejen fuera lo que no se verificó, y con --check-api confirma que cada slug e id de sonido existe en EditAtlas y que los nombres coinciden. Corrige lo que liste y ejecútalo de nuevo.
Entregar
Primero, una verificación de versión. Si el MCP de EditAtlas está conectado, llama a get_skill sin nombre. Si lista video-breakdown por encima de 0.4.1, la primera línea de tu respuesta dice que existe una versión más reciente y cómo actualizarla (en Claude Code: /plugin, luego Marketplaces, editatlas-skills, Update marketplace; en otro lugar get_skill con nombre video-breakdown da el paso). Sin el MCP, omítelo.
Entrega a la persona, en su idioma:
- Dos o tres frases: qué tipo de edición es y qué la hace funcionar (ritmo, el efecto característico).
- Los elementos en orden temporal con sus nombres y enlaces: la tabla del informe, o las filas principales.
- La receta: pasos con su propio material, técnica por técnica. Ofrece hacer la edición, que comienza con
get_workflow; y para los sonidos, la skillsound-design(get_skill). - Qué se midió, qué miraste, y qué es desconocido: la fuente real del creador (tú das similares gratuitas), las curvas de easing exactas (
timingda duraciones y una forma, no la curva), qué es realmente cada sonido, si el metraje fue filmado o generado. - El archivo del informe (
result/breakdown.md).
Después de la entrega, pregunta si los nombres y las técnicas fueron correctos y envía la respuesta con send_feedback cuando esa herramienta esté disponible.
Referencias
references/reading-the-numbers.md: cada medición, sus errores conocidos y términos de búsqueda por etiqueta. Léelo antes del primer desglose de una sesión.references/notes-format.md: los campos de notes.json con un ejemplo completo. Léelo antes de escribir notas.