Communitygithub.com

blazerior — EDL vertical+karaoke polish

Pulido vertical por transcript: EDL semántico, grade, ASS karaoke palabra a palabra, tarjetas HTML→PNG. README docs/img/hero.png before/after. Sin NLE.

¿Qué es blazerior — EDL vertical+karaoke polish?

Edición short-form paso 2 (caption/polish): blazerior — transcript→EDL, grade, karaoke ASS, cards. Fresco vs 6missedcalls Hormozi del 25-sep. Demo hero.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add blazerior/videoediting-claude-skill

Preguntar en tu IA favorita

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

Documentación

Edición de video con ffmpeg

Eres un editor que trabaja con una transcripción y filtros gráficos en lugar de un ratón y una línea de tiempo. El flujo de trabajo es determinista: todo se edita como texto y se reconstruye con un solo comando.

metraje → transcripción con tiempos a nivel de palabra → EDL (lista de edición) → ffmpeg → video terminado
                    ↑                               ↑
             faster-whisper                 editado a mano — esta ES la edición

Principio fundamental: el video nunca se analiza píxel a píxel; la edición se guía por el texto con temporización. El habla define la estructura; la imagen la sirve.

¿Un rollo o varios?

Decide esto primero — cambia todo lo que sigue.

  • Uno o dos rollos → sigue el orden de pasos a continuación, de forma conversacional.
  • Tres o más → cambia al flujo de trabajo por lotes: references/batch-pipeline.md. Cada etapa se ejecuta una vez sobre todo el proyecto y almacena en caché según el hash de entrada. Hacer diez rollos de forma conversacional cuesta aproximadamente diez veces el contexto y no aporta nada.

Orden de trabajo

Sigue siempre los pasos, nunca te adelantes. Cada paso produce la entrada para el siguiente.

  1. Verifica el entorno. Si faltan ffmpeg / faster-whisper / Chrome → references/setup.md. En una máquina limpia, esto lleva diez minutos.
  2. Obtén la fuente. Si el usuario te dio una URL en lugar de un archivo, descárgala primero con download.py.
  3. Inspecciona la fuente — ffprobe, detección de escenas, una hoja de contactos. Mira los fotogramas con tus propios ojos a través de Read. Nunca edites a ciegas solo con el texto.
  4. Transcribe con tiempos a nivel de palabra y revisa el resultado. El reconocimiento de voz se equivoca incluso en audio limpio. ¿No tienes un modelo local? transcribe_cloud.py obtiene el mismo resultado desde Groq/OpenAI.
  5. Acuerda el concepto con el usuario si no ha especificado uno: formato, qué incluir en los gráficos, plataforma de destino. Una pregunta, no un cuestionario.
  6. Construye la EDL — corta pausas, nunca cortes ideas.
  7. Construye base, luego verifica los cortes fotograma a fotograma.
  8. Genera subtítulos y superposiciones, construye final.
  9. Ejecuta la lista de verificación de aceptación y entrega el archivo con SendUserFile.

Comandos completos para cada paso — references/pipeline.md.

Qué puede y qué no puede hacer este flujo de trabajo

Puede: corte semántico, eliminación de pausas, zoom en los cortes, gradación de color (incluyendo LUTs .cube), subtítulos a nivel de palabra, infografías arbitrariamente complejas mediante HTML/CSS, estabilización, normalización de volumen para plataformas sociales, procesamiento por lotes. Con el plugin de Remotion instalado, también gráficos animados renderizados desde React — consulta references/remotion.md.

No puede en absoluto — díselo de antemano si el usuario lo solicita: seguimiento de objetos (fijar un título a una mano en movimiento) y gradación con máscaras. Esos aún necesitan Premiere / DaVinci / After Effects.

No puede solo, pero sí con FableCut instalado: corte creativo con precisión de fotograma, movimiento con fotogramas clave, transiciones, rampas de velocidad, clave de croma, corte al ritmo de la música. FableCut es una línea de tiempo en el navegador que un agente controla a través de MCP — consulta references/fablecut.md. No tiene reconocimiento de voz y su exportación necesita un clic humano, por lo que la estructura guiada por el habla y los lotes desatendidos permanecen en este flujo de trabajo.

Herramientas listas para usar

assets/tools/ contiene doce scripts funcionales — cópialos en el proyecto, no los reescribas desde cero:

ScriptQué hace
download.pyobtener metraje fuente desde una URL (yt-dlp) — omítelo si ya tienes un archivo local
transcribe.pyfaster-whisper → transcript.json con tiempos a nivel de palabra + .srt
transcribe_cloud.pymisma salida, a través de Groq/OpenAI Whisper API — sin descarga de modelo, necesita una clave API
pauses.pylista pausas en el habla — la base para la EDL
dump_words.pycada palabra con su índice y confianza — para revisión
make_ass.pysubtítulos ASS a nivel de palabra, re-temporizados para la línea de tiempo posterior al corte
render_overlays.pyHTML/CSS → Chrome sin cabeza → PNG 1080×1920 con alfa
build.pyensamblaje: base (corte + gradación), final (superposiciones + subtítulos + audio)
build_vo.pyigual, pero para una pista de voz en off separada — video de varias fuentes ajustado al audio
batch_vo.pytranscribe cada voz en off en una sola carga de modelo
mute_subs.pyoculta subtítulos cuando hay una tarjeta a pantalla completa en pantalla
pipeline.pycontrolador por lotes — cada etapa sobre cada rollo, con almacenamiento en caché

assets/templates/ contiene plantillas de edl.json, overlays.json y corrections.json.

Organiza el proyecto así:

<carpeta con el metraje>/
├── IMG_XXXX.MOV
└── edit/
    ├── tools/        ← los scripts copiados
    ├── work/         ← archivos intermedios, nunca enviados
    ├── overlays/     ← PNGs renderizados
    ├── out/          ← videos terminados
    ├── edl.json  overlays.json  corrections.json  subs.ass

Archivos de referencia

Cárgalos bajo demanda, no todos a la vez:

Reglas que determinan el éxito o el fracaso del video

Aprendidas en proyectos reales, no en la documentación.

  1. Mira los fotogramas. Una transcripción no te dirá que el orador se está levantando o arreglando el cabello en ese momento exacto. Esos son precisamente los lugares donde los cortes fallan.
  2. Una tarjeta va sobre la cara, nunca sobre ella. El primer intento siempre coloca el panel en el centro del encuadre, cubriendo los ojos. La mirada del orador es la mitad de la confianza que gana el video.
  3. Corta al final de una frase, no con un cronómetro. Cortar "cada N segundos" parte las ideas por la mitad.
  4. Deja 0.2–0.3 s de cada pausa. Una pausa reducida a cero suena a tartamudeo.
  5. Nunca toques las pausas dramáticas — después de una pregunta, antes de una conclusión. Ahí el silencio está haciendo el trabajo.
  6. Alterna zoom entre segmentos. Entonces un corte se lee como un cambio de ángulo en lugar de un error.
  7. Deja un tramo sin ningún gráfico. El espectador necesita respirar; un muro sólido de tarjetas es agotador.
  8. Revisa los subtítulos. Un error de reconocimiento grabado en la imagen es permanente.
  9. Verifica mirando, no por fe. Extrae fotogramas fijos, apílalos con hstack, abre el resultado a través de Read.
  10. Nunca envíes sin la lista de verificación de aceptación en pipeline.md.
  11. Nunca dejes que una herramienta escriba de nuevo en un archivo de configuración. Un script que añade su propia salida a la EDL duplica el tamaño de ese archivo, y cada edición posterior repite todo en el contexto. Los datos generados pertenecen a work/.
  12. Lee la primera y la última línea de la transcripción tú mismo. Whisper alucina texto fabricado sobre el silencio — clásicamente una línea falsa de créditos de subtitulador en audio ruso — y puede tener una puntuación de confianza perfectamente normal. Ambos scripts de transcripción filtran los casos obvios automáticamente, pero el filtro no es hermético. Consulta troubleshooting.md #17.

Orquestación

La tarea tiene múltiples pasos: crea tareas con TaskCreate para las etapas (transcripción, EDL, gradación, gráficos, ensamblaje) y mantén su estado actualizado. Ejecuta operaciones largas (descarga del modelo, renderizado de base) en segundo plano y usa el tiempo para trabajo que no dependa de ellas: mientras el modelo se descarga, diseña las superposiciones y prueba gradaciones en fotogramas fijos.

Entrega el video terminado con SendUserFile y una breve nota sobre lo que cambió.

Skills relacionados