Communitygithub.com

Uerdong/remotion-explainer-video

Una canalización completa para producir videos animados explicativos en chino con Remotion, que cubre desde el desglose del tema hasta la entrega final, incluyendo TTS, subtítulos, edición al ritmo de la música y generación de portadas.

¿Qué es remotion-explainer-video?

Este skill proporciona una canalización completa y estructurada para crear videos explicativos animados de larga duración en chino utilizando Remotion. Está diseñado para desarrolladores y creadores de contenido que necesitan producir videos educativos o de divulgación científica de forma profesional y eficiente. El skill abarca diez pasos secuenciales, desde el desglose del tema y la escritura del guion hasta la entrega final de dos versiones del video (con y sin música de fondo). Incluye funciones avanzadas como la síntesis de voz (TTS), generación de subtítulos SRT, análisis del ritmo musical (BPM) para sincronizar cortes de escena, y la creación de efectos de sonido generados por código. El flujo de trabajo garantiza la determinación en la renderización y una única fuente de verdad para la línea de tiempo, evitando errores comunes y asegurando una alta calidad. Las plataformas compatibles son aquellas donde se ejecuta Remotion (principalmente entornos Node.js), y su enfoque meticuloso lo hace ideal para proyectos que requieren precisión y coherencia, como videos de divulgación científica, tutoriales y presentaciones animadas.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Uerdong/remotion-explainer-video/tree/HEAD/remotion-explainer-video

Preguntar en tu IA favorita

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

Documentación

Video Explicativo en Chino (Flujo Completo con Remotion)

Ejecutar los diez pasos en orden. El producto de cada paso es la entrada del siguiente. Prohibido saltar pasos y luego volver a completarlos.

Diez Reglas de Oro

  1. La duración la determina la voz en off, no el guion. El guion de referencia es solo una intención. Primero estimar la duración total basándose en la velocidad de habla medida (TTS en chino ~3.3 caracteres/segundo); si supera la duración objetivo, reducir el texto y hacerlo más coloquial, luego sintetizar por párrafos y medir la duración real de cada uno.
  2. El BPM debe medirse, no creerse el número dado por el usuario o el material de referencia. librosa a menudo reporta 104 BPM como 51.7 (la mitad). Se debe verificar de forma independiente con autocorrelación o cambiando los parámetros de onset, y tomar el valor que coincida con la percepción auditiva.
  3. Todos los cortes deben ajustarse al ritmo. El límite de un párrafo = el momento de finalización de la voz en off de ese párrafo, redondeado hacia arriba al ritmo más cercano. El número de fotograma = round(beat * (60/BPM) * FPS), escrito en el código, no calculado en tiempo de ejecución.
  4. Renderización determinista. Prohibido Date.now(), Math.random(); cualquier animación debe derivarse con Math.sin(frame); el mismo fotograma debe ser idéntico píxel a píxel en cualquier renderización.
  5. Fuente única de verdad para la línea de tiempo. Los párrafos, números de fotograma, desplazamientos de voz en off y fotogramas fijos de efectos de sonido solo existen en un timeline.ts. Cambiar el número de caracteres del guion → volver a ejecutar el script de generación → sincronizar TS, nunca modificar manualmente en dos lugares.
  6. Los saltos de línea de los subtítulos se agrupan por signos de puntuación. Primero dividir por ,;:。 para obtener cláusulas y luego agruparlas. El ancho de línea se define con un contenedor de píxeles fijo (ej. width: 1460 + whiteSpace: "pre"), prohibido usar maxWidth para que el contenido determine el contenedor.
  7. Tres capas de audio separadas: BGM, voz, efectos de sonido con niveles independientes. Voz 0.8, BGM 0.24 como punto de partida. Verificar el pico después de la renderización; >0.95 indica riesgo de recorte.
  8. Revisar cada escena con un fotograma fijo antes de renderizar. Usar npx remotion still para ver la composición. Renderizar el video completo sin ver antes los fotogramas equivale a repetir el trabajo.
  9. Tres restricciones estrictas en Windows: --props debe pasar un archivo (--props=props-nobgm.json), JSON en línea será alterado por el shell; ffmpeg 9 usar -fps_mode passthrough en lugar de -vsync; si los estilos no se aplican después de cambiar TSX, borrar primero node_modules\.cache.
  10. Primero entregar, luego evaluar. El video renderizado y las imágenes generadas se entregan al usuario tal cual. Los problemas solo se registran y explican, no se regeneran sin autorización.

Canalización de Diez Pasos

#PasoAcción ClaveProducto
1Desglose del temaDefinir la cadena de conocimiento, duración objetivo, relación de aspecto, tono para la audienciaUna frase para el tema + acuerdo de duración/relación de aspecto
2Guion de la explicaciónComprimir al número objetivo de caracteres siguiendo "gancho → modelo → deducción → conclusión → lección", hacerlo coloquialGuion por párrafos (aprox. 6 párrafos, 50–70 caracteres cada uno)
3Voz en offSintetizar cada párrafo de forma independiente, mismo timbre y parámetros; medir la duración real y f0 de cada párrafos1..sn.wav + tabla de duraciones de párrafos
4SubtítulosGenerar SRT a partir de las duraciones de los párrafos, misma fuente que los puntos de corte de escenasubtitles.srt
5Música de fondo (BGM)Seleccionar o sintetizar, medir BPM y tabla de ritmos; cambiar si no es adecuadabgm.wav + bgm.json (beats_sec)
6Reordenar la línea de tiempoAjustar los límites de los párrafos a los ritmos, calcular el número total de fotogramastimeline.json + timeline.ts
7Efectos de sonidoAsignar un timbre a cada acción clave, sintetizar en código, fijar en el ritmosfx/*.wav + tabla de fotogramas fijos
8Ingeniería visualtheme / components / timeline + componentes de escena por párrafoProyecto Remotion
9Renderización y autoverificaciónFotogramas fijos por párrafo → video completo → medir pico realout/*.mp4, fotogramas fijos de QA
10Materiales de publicaciónPortada (renderizada con código o herramienta de diseño), título, descripción, hashtagsImagen de portada + publicacion.md

Decisiones ante Conflictos

ConflictoDecisión
Conflicto entre el número de caracteres del guion y la duración objetivoReducir el guion, no cambiar la duración. Si la relación de compresión > 1.3, convertir a frases cortas coloquiales, manteniendo todos los puntos de conocimiento
El BPM/duración dado por el usuario no coincide con la medición realHacer según la medición real e informar activamente la diferencia (ej. "El estándar dice 110 BPM / 58s, medido 104 BPM / 53.65s"), y ofrecer una opción "¿Reordenar según el estándar?"
El estilo de la canción especificada por el usuario no coincidePrimero medir el BPM/espectro/pico real de esa canción y dar los datos, luego sintetizar un reemplazo, revelar el motivo de la desviación en la entrega
Conflicto entre la referencia visual y el estilo de la portada o plataformaSeparar ambas cosas: el cuerpo del video sigue las especificaciones visuales del usuario; la portada sigue la lógica de difusión de la plataforma, explicando la decisión

Lista de Entrega

  • Dos versiones del video final: con BGM / sin BGM (para plataformas con su propia biblioteca de música), mismo número de fotogramas y duración
  • Subtítulos SRT (pueden ser externos, idénticos a los incrustados en el video)
  • Documentación de entrega: tabla de videos finales, BPM y método de medición del ritmo, tabla de límites de párrafos, tabla de puntos de ritmo, guion, tabla de efectos de sonido, niveles de mezcla, estructura del proyecto, comandos de ejecución
  • Portada (horizontal + vertical para la plataforma objetivo), múltiples opciones de título, múltiples versiones de descripción, hashtags

Archivos de Referencia

Skills relacionados