Communitygithub.com

pangpang888/image-story-assembly-hardening

Se utiliza al ensamblar un video largo (≥5 min / ≥40 tomas) de historia de imágenes o presentación de diapositivas con ffmpeg: movimiento de push-in (Ken Burns / zoompan), fundidos cruzados, subtítulos quemados o en capas, y control de calidad previo a la entrega. Cubre los cuatro modos de falla que solo aparecen a esta escala (OOM/reducción de rendimiento en el filtro de múltiples ramas, fantasmas de subtítulos en fundidos cruzados, vibración de zoompan, artefactos de generación como líneas de escaneo y marcas de agua incrustadas) más los criterios cuantitativos para detectarlos. 触发词:图片联播、静态图叙事、长片装配、推镜卡顿、转场字幕叠影、去水印、扫描线伪影、成片 QA.

¿Qué es image-story-assembly-hardening?

Esta habilidad está diseñada para desarrolladores y usuarios de agentes de IA que ensamblan videos largos de historias de imágenes o presentaciones de diapositivas (≥5 minutos o ≥40 tomas) usando ffmpeg. Su propósito principal es abordar y mitigar los cuatro modos de falla críticos que solo se manifiestan en proyectos de esta escala: desbordamiento de memoria (OOM) o reducción de rendimiento en filtros de múltiples ramas, imágenes fantasma de subtítulos en fundidos cruzados, vibración en movimientos de zoom (zoompan), y artefactos de generación como líneas de escaneo y marcas de agua incrustadas. La habilidad proporciona criterios cuantitativos precisos para detectar estos problemas y ofrece soluciones prácticas como el uso de 'split' y 'select' para optimizar el filtro de video, ajustes en la duración de fundidos cruzados, parámetros de zoompan para eliminar vibraciones, y técnicas de eliminación de artefactos. Es compatible con plataformas como Claude Code, Cursor, Codex, y cualquier entorno que ejecute ffmpeg, y su documentación (SKILL.md) incluye ejemplos detallados de comandos y configuraciones para garantizar una salida de video robusta y de alta calidad antes de la entrega final.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/pangpang888/image-story-assembly-hardening/tree/main

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace image-story-assembly-hardening?

Se utiliza al ensamblar un video largo (≥5 min / ≥40 tomas) de historia de imágenes o presentación de diapositivas con ffmpeg: movimiento de push-in (Ken Burns / zoompan), fundidos cruzados, subtítulos quemados o en capas, y control de calidad previo a la entrega. Cubre los cuatro modos de falla que solo aparecen a esta escala (OOM/reducción de rendimiento en el filtro de múltiples ramas, fantasmas de subtítulos en fundidos cruzados, vibración de zoompan, artefactos de generación como líneas de escaneo y marcas de agua incrustadas) más los criterios cuantitativos para detectarlos. 触发词:图片联播、静态图叙事、长片装配、推镜卡顿、转场字幕叠影、去水印、扫描线伪影、成片 QA.

Modos de Falla y Soluciones

1. OOM/reducción de rendimiento en el filtro de múltiples ramas

  • Problema: Al usar múltiples filtros de video (por ejemplo, zoompan, fade, subtitles) en un solo gráfico de filtro, ffmpeg puede agotar la memoria (OOM) o reducir drásticamente el rendimiento.
  • Criterio: El uso de memoria supera el 80% de la RAM disponible, o la velocidad de codificación cae por debajo de 0.5x.
  • Solución: Dividir el gráfico de filtro en etapas usando split y select, o procesar en lotes más pequeños.

2. Fantasmas de subtítulos en fundidos cruzados

  • Problema: Los subtítulos quemados aparecen como imágenes fantasma durante los fundidos cruzados entre tomas.
  • Criterio: Los subtítulos son visibles en el 10% o más de los fotogramas de fundido cruzado.
  • Solución: Ajustar la duración del fundido cruzado para que coincida con los puntos de entrada/salida de los subtítulos, o usar subtítulos en capas con subtitles en lugar de quemarlos.

3. Vibración de zoompan

  • Problema: El movimiento de zoom (Ken Burns) produce vibraciones debido a parámetros de zoompan incorrectos.
  • Criterio: La velocidad instantánea de zoom varía más del 5% entre fotogramas consecutivos.
  • Solución: Usar zoompan=z='min(max(zoom,pzoom)+0.001,1.5)' con interpolación de movimiento suave y una tasa de fotogramas constante (por ejemplo, fps=24).

4. Artefactos de generación (líneas de escaneo y marcas de agua)

  • Problema: Líneas de escaneo horizontales o marcas de agua incrustadas aparecen en el video final.
  • Criterio: Más de 5 píxeles consecutivos de líneas de escaneo en cualquier fotograma, o marcas de agua visibles en más del 1% del área del fotograma.
  • Solución: Usar drawbox o delogo para eliminar marcas de agua, y pp o hqdn3d para reducir líneas de escaneo. Preprocesar imágenes con ffmpeg -i input.jpg -vf "pp=ha" output.jpg.

Ejemplo de Comando

ffmpeg -i input_%04d.jpg -filter_complex "
[0]zoompan=z='min(max(zoom,pzoom)+0.001,1.5)':d=24:fps=24[zoom];
[zoom]fade=t=in:st=0:d=0.5,fade=t=out:st=5.5:d=0.5[fade];
[fade]subtitles=subtitles.srt[sub];
[sub]drawbox=x=0:y=0:w=100:h=100:[email protected]:t=fill,delogo=x=50:y=50:w=50:h=50[out]"
 -map "[out]" -c:v libx264 -preset slow -crf 22 output.mp4

Control de Calidad (QC)

Realizar los siguientes controles antes de la entrega:

  • Memoria: top -p $(pgrep ffmpeg) -b -n1 | grep ffmpeg | awk '{print $6}' (debe ser < 80% de RAM total).
  • Velocidad: ffmpeg -i output.mp4 -f null - 2>&1 | grep 'speed=' (debe ser > 0.5x).
  • Fantasmas: Extraer fotogramas de fundido cruzado y verificar visualmente la opacidad de los subtítulos.
  • Vibración: ffprobe -v error -select_streams v:0 -show_entries frame=pkt_pts_time -of csv=p=0 output.mp4 | head -50 y verificar la diferencia de tiempo entre fotogramas.
  • Artefactos: Inspeccionar visualmente fotogramas de muestra con ffmpeg -i output.mp4 -vf "select=not(mod(n\,100))" -vsync vfr sample_%04d.png.

Skills relacionados