Edición de Video sin GPU Dedicada
Cuando otros agentes de IA usen, instalen o empaqueten esta skill, lean primero agent-compatibility.md y procesen el directorio de la skill y la configuración local según la plataforma objetivo.
Usa Remotion local para animaciones y composición, FFmpeg para procesamiento de audio/video, y Shotcut para ajustes finos; los subtítulos usan faster-whisper CPU/int8 y OpenCC. Por defecto, no depende de GPU dedicada, CUDA, NVENC, DaVinci Resolve, renderizado en la nube ni efectos de pago. Respeta el estilo y formato de entrega especificados por el usuario.
Entorno y Recursos
Al primer uso, copia local-environment.example.json a references/local-environment.json y completa las rutas reales de las herramientas; las rutas de ejemplo no implican que las herramientas estén instaladas.
- Lee primero
references/local-environment.jsony usa las rutas absolutas de las herramientas. Ejecutascripts/project.py doctor; los subtítulos usan Python del venv dedicado. El doctor no requiere CUDA ni Resolve; solo verifica la existencia del programa Shotcut, no su validación GUI. - Esta skill incluye scripts, plantillas Remotion y archivos de bloqueo de dependencias, y puede usarse independientemente de otras skills de edición; la ubicación de las herramientas y modelos locales se especifica en el archivo de configuración. Al trasladarla a otra computadora, lee environment-notes.md, reconstruye las dependencias faltantes, modifica las rutas y prueba nuevamente. No asumas que la otra máquina ya tiene las herramientas instaladas.
- Configuración predeterminada: 16:9, 1920×1080, 30fps; primero realiza una vista previa a media resolución. Remotion usa modo de un solo trabajo, backend gráfico de software SwiftShader y codificación de software H.264; no cambia automáticamente a CUDA. Con suficiente memoria, se puede usar
--concurrency 2; con poca memoria, mantener en 1. - Los trabajos se realizan secuencialmente; no ejecutes simultáneamente renderizado completo, reconocimiento de subtítulos y conversión de proxies. Si la memoria es insuficiente, reduce primero la resolución de vista previa, usa proxies o divide en segmentos; los segmentos deben mantener las mismas especificaciones de video y tiempos de subtítulos correctos, y verificar las uniones.
- Se recomienda 16 GB de RAM como mínimo y 32 GB para mayor comodidad, con SSD. Esto es una recomendación de trabajo, no una garantía de que todas las computadoras funcionen sin problemas; no infieras la velocidad de salida no medida a partir del número de núcleos o la duración del video.
Material y Edición
- Si los requisitos están incompletos, primero infiere la duración, relación de aspecto y narrativa basándote en los materiales disponibles; solo pregunta si la falta de información afecta el resultado final. Si no se conoce la ubicación de los materiales, primero inspecciona el directorio de trabajo. Conserva los archivos originales; los archivos derivados se colocan en una nueva carpeta de trabajo.
- Lee media-commands.md y usa
scripts/media.py inventorypara crear un inventario de duración, relación de aspecto, audio y miniaturas. Mira las imágenes representativas, escucha la voz, lee la transcripción y luego selecciona los segmentos; no trates las candidatas a corte o suposiciones como hechos confirmados. - Si hay video 4K, alta tasa de bits o vista previa congelada, usa
media.py proxy --width 960para generar archivos de vista previa H.264/AAC. Registra la correspondencia entre el original y el proxy; la vista previa puede usar el proxy; antes de la salida final, restaura el original y vuelve a verificar los rangos de recorte y la sincronización. No entregues el proxy como si fuera de calidad original. - Lee project-commands.md y usa
scripts/project.py initpara crear un nuevo proyecto Remotion. Copia el material seleccionado apublic/media/y editapublic/project.json; las especificaciones de datos están en motion-template.md. La plantilla admite introducciones, capítulos, zoom en fotos, video, citas, créditos, subtítulos y barras de nombre. - Verifica el punto de entrada y la duración del video con ffprobe primero. Prioriza fundidos, cortinillas simples, zoom lento en fotos y animaciones de texto cortas; evita por defecto efectos de desenfoque, partículas, 3D o capas múltiples de alta resolución. Si la calidad es insuficiente, ajusta el diseño, no rellenes con texto demasiado pequeño.
- Primero haz una vista previa de segmentos pequeños e imágenes estáticas para confirmar el estilo y la legibilidad, luego produce el video completo. Usa
project.py render --scale 0.5para vista previa, y tamaño completo para entrega final. Los comandos específicos se basan en las referencias de esta skill y la ayuda--helpde los scripts; usa rutas absolutas y arrays de parámetros para manejar caracteres chinos y rutas con espacios.
Subtítulos Tradicionales y Audio
scripts/transcribe.pypasa explícitamente--device cpu --compute-type int8 --model ruta_al_modelo_local --local-files-only, usando el modelo small ya descargado. Si falla el reconocimiento, primero verifica el venv, el modelo y los paquetes compatibles; no solicites instalar CUDA por lentitud.- Reconoce la pista de diálogo después de la edición, o convierte cada segmento de subtítulos a la línea de tiempo final teniendo en cuenta recortes y transiciones superpuestas; no apliques directamente los tiempos del material original. Evita generar subtítulos a partir de música de fondo pura.
- OpenCC solo ayuda a convertir caracteres tradicionales; los nombres de escuelas, personas, títulos, fechas, homófonos y taiwanés requieren corrección. Si el reconocimiento no es claro, conserva marcas pendientes de verificación; no inventes.
- Las capciones en
captions.jsonse pueden insertar en project.json. El resaltado palabra por palabra requiere verificar primero la sincronización de las palabras y la consistencia del texto de la oración/palabra; si solo hay tiempo de oración, muestra la oración completa. - Los subtítulos y las barras de nombre mantienen márgenes de seguridad y no se superponen entre sí; reduce la música de fondo para que la voz sea clara, y verifica si en las transiciones se superponen dos pistas de diálogo. Conserva el SRT y la fuente de diálogo sin mezclar para facilitar futuras correcciones.
Ajuste Fino en Shotcut y Entrega
project.py shotcut video_final.mp4 --output nueva_version.mltcrea un punto de partida para ajuste fino en Shotcut, que contiene segmentos de video ya renderizados, permitiendo ajustes adicionales de edición, música y volumen. Shotcut usa efectos CPU normales y salida de software; si es necesario, reduce la Escala de Vista Previa y habilita proxies. No pidas al usuario que active la codificación por hardware.- El texto, subtítulos y transiciones de Remotion están horneados en ese segmento, no son capas de texto nativas de Shotcut. Para cambiar texto o animaciones, debes volver al proyecto Remotion y renderizar nuevamente; no afirmes que el MLT permite editar estos efectos palabra por palabra. Si se requieren capas o texto nativo, créalo y verifícalo realmente.
- Usa
media.py checkpara decodificar completamente y verificar cuadros negros, silencio y errores; luego revisa manualmente la introducción, el punto medio de las transiciones, el subtítulo más largo, las barras de nombre y los créditos, y escucha diálogo/música y sincronización. Los cuadros negros y el silencio pueden ser intencionales y requieren interpretación. - Entrega MP4, miniatura, proyecto Remotion con materiales, project.json, SRT y el MLT de Shotcut realmente creado con el método de modificación. Genera nuevas versiones, no sobrescribas trabajos existentes sin aviso; no modifiques los archivos originales ni compartas node_modules.
- Antes de entregar el MLT, cárgalo realmente con Shotcut o sus herramientas MLT; si solo pasa la verificación de formato XML, indica claramente que no se ha verificado la carga en el editor. No declares éxito para funciones no probadas.
- Un MP4 H.264 normal no conserva transparencia. Si se requiere animación con transparencia, crea una composición transparente separada y prueba con secuencias PNG RGBA o codificación alfa compatible.
Al finalizar, indica las ubicaciones de los archivos, las configuraciones de salida probadas, el alcance de las modificaciones, los subtítulos pendientes de corrección y los elementos no verificados. Las licencias de las herramientas se rigen por sus respectivos términos; el crédito de la cuenta del agente de IA se cobra por separado.