Sobre el proyecto
FreeCut es un editor de video multipista basado en navegador con licencia MIT. No requiere instalación y no sube medios: los proyectos y medios permanecen locales, mientras que la edición, previsualización, análisis, transcripción, generación con IA y exportación se ejecutan en el navegador mediante WebGPU, WebCodecs, Web Workers, OPFS y la File System Access API. Los proyectos, metadatos de medios vinculados, miniaturas, formas de onda, recursos de IA generados, transcripciones, cortes de escena y cachés se escriben como archivos simples dentro de una carpeta de espacio de trabajo elegida en el disco.
Edición y línea de tiempo
- Línea de tiempo multipista compatible con elementos de video, audio, texto, imagen, forma, máscara, Lottie y clips compuestos.
- Varias líneas de tiempo por proyecto como Secuencias con pestañas, unificadas con clips compuestos.
- Edición vinculada de audio/video con herramientas de dividir, unir, ripple, rolling, slip, slide y estiramiento de velocidad.
- Transiciones centradas en el corte con redimensionado en vivo, alineación, anclaje al tiempo de origen y superposiciones de previsualización.
- Controles de silencio/visibilidad/bloqueo de pistas, insignias de sincronización vinculadas, empuje/tracción de pistas y flujos de cierre de huecos.
- Miniaturas de tira de película, formas de onda estéreo, guías de ajuste, marcadores, código de tiempo y deshacer/rehacer.
- Monitor de origen con marcas de entrada/salida, destinos de parcheo, ediciones de inserción y sobrescritura.
- Plantillas de proyecto, ajuste automático de lienzo/FPS desde el primer medio, atajos de teclado configurables.
Previsualización y reproducción
- Previsualización en tiempo real con transformación, recorte, corner-pin, máscara y gizmos de grupo.
- Reproducción precisa por fotograma mediante un Clock personalizado y un runtime de composición.
- Superposiciones rápidas al desplazar, precalentamiento de decodificadores, calidad de previsualización adaptativa y calentamiento de fuentes.
- Paneles de edición two-up y four-up para operaciones ripple, rolling, slip y slide.
- Ámbitos de color por GPU: forma de onda, vectorscopio e histograma.
- Bus maestro del proyecto y volumen de monitor/dispositivo separados.
Audio
- Volumen de clip, fundidos de audio, faders de pista, fader del bus maestro y medidores LED estéreo.
- Cambio de tono por clip en semitonos/centavos con reproducción de previsualización SoundTouch.
- Etapas de EQ de clip y EQ de pista, incluido un panel flotante compacto de EQ de seis bandas.
- Rutas de audio de tono, EQ, fundidos, volumen y transiciones preservadas en previsualización y exportación.
Efectos, máscaras y composición
- Rutas de efectos visuales y composición con WebGPU primero, con alternativas cuando es práctico.
- Desenfoque: gaussiano, de caja, de movimiento, radial, zoom.
- Color: brillo, contraste, exposición, cambio de tono, saturación, vibrance, temperatura/tinte, niveles, curvas, ruedas de color, mapa de degradado, LUT (.cube), escala de grises, sepia, invertir.
- Distorsión: pixelado, separación RGB, remolino, onda, abultar/pellizcar, caleidoscopio, espejo, vidrio estriado, vidrio ondulado, mosaico de vidrio, droste.
- Estilización: viñeta, grano de película, enfocar, posterizar, resplandor, detección de bordes, líneas de escaneo, semitono, arte ASCII, glitch de color, glitch de bloques, VHS, CRT, tinta, ordenación de píxeles.
- Keying: chroma key con tolerancia, suavidad y supresión de derrame.
- 25 modos de fusión, incluidos multiplicar, trama, superponer, luz suave, diferencia, tono, saturación, color y luminosidad.
- Máscaras de clip y trazados de pluma con transformaciones de geometría animables por keyframes.
- Selector de color con entrada hexadecimal y alfa, además de cuentagotas integrado con lupa.
Transiciones
- Transiciones de fundido, barrido, deslizamiento, giro 3D, barrido de reloj e iris con variantes direccionales.
- Disolvencia, destellos, glitch, fuga de luz, pixelado, aberración cromática y desenfoque radial.
- Duración ajustable, alineación, anclaje de origen y alternativa Canvas 2D para rutas sin WebGPU.
Animación por keyframes
- Editor de gráficos Bezier, dopesheet, vista dividida y superposiciones multicurva.
- Preajustes de easing (lineal, ease-in/out, cubic-bezier, spring) con editor de previsualización en vivo y preajustes personalizados guardados.
- Modificadores de movimiento procedurales (deriva, balanceo, respiración, giro, sacudida) evaluados en tiempo de render, con bake a keyframes en un clic.
- Texto en movimiento: animación de texto por carácter, por palabra y por línea.
- Modo de keyframe automático, espejo de tangentes, acordeones de propiedades y selección por marco.
- Propiedades animadas de transformación, recorte, máscara, texto, efectos y color.
Medios e importación
- Importa videos, audio, imágenes, GIF, SVG, animaciones Lottie y recursos generados sin copiar los originales.
- Edita animaciones Lottie importadas (.json y .lottie): reasigna colores y temas, edita texto, ajusta ranuras de valores con previsualización en vivo.
- Decodificación Apple ProRes para importación, previsualización y miniaturas, incluidas variantes que los navegadores no pueden decodificar de forma nativa.
- Generación de proxies, extracción de miniaturas, caché de formas de onda y revinculación de medios.
IA local y análisis
- Se ejecuta en el dispositivo dentro del navegador; no se sube nada.
- Transcripción en el dispositivo con el motor Parakeet (alternativa Whisper) y elementos de texto de subtítulos generados.
- Subtitulado con IA mediante proveedores locales de visión-lenguaje y cadencia de muestreo configurable.
- Detección de escenas con histograma rápido o análisis de contenido adaptativo preciso por fotograma y verificación opcional por modelo.
- Navegador de escenas para buscar medios subtitulados y reutilizar momentos detectados.
- Voces en off con texto a voz local Kokoro.
- Generación musical local MusicGen con preajustes, progreso y cancelación.
- Caché de modelos local y controles de descarga en la configuración.
Proyectos y almacenamiento
- Persistencia de carpeta de espacio de trabajo mediante la File System Access API.
- Conmutador multi-espacio de trabajo con gestión de espacios conocidos.
- Proyectos almacenados como archivos simples en disco, con migración desde almacenamiento heredado del navegador.
- Flujos de eliminación suave, restauración, vaciado de papelera y eliminación permanente de proyectos.
- Exportación/importación de paquetes ZIP de proyecto con esquemas validados por Zod.
- Guardado automático, miniaturas de proyecto, espejo de caché del espacio de trabajo y limpieza de huérfanos.
Exportación
- Renderizado en el navegador mediante WebCodecs y rutas de render respaldadas por workers.
- Exporta cualquier secuencia, no solo la línea de tiempo principal.
- Contenedores de video: MP4, WebM, MOV, MKV.
- Códecs de video: H.264, H.265, VP8, VP9, AV1 (donde el navegador proporciona un codificador).
- Formatos de exportación de audio: MP3, AAC, WAV/PCM.
- Subtítulos: desactivados, incrustados, archivo sidecar o pista suave embebida (según contenedor).
- Preajustes de calidad de baja a ultra, con comprobaciones de capacidad en tiempo de ejecución y alternativas.
Primeros pasos
Los requisitos son Node.js 22+ recomendado, npm 11+ y un navegador Chromium moderno. Clona el repositorio, ejecuta npm install y npm run dev, luego abre http://localhost:5173 en Chrome, Edge, Brave o Arc. El flujo es: elegir una carpeta de espacio de trabajo, crear un proyecto, importar medios arrastrando archivos a la biblioteca de medios, arrastrar clips a la línea de tiempo y editar, luego exportar directamente desde el navegador.
Compatibilidad de navegadores
Se recomienda Chrome o Edge 113+. FreeCut depende de WebGPU, WebCodecs, OPFS y la File System Access API, por lo que se requiere un navegador Chromium moderno para el flujo completo. Brave puede desactivar la File System Access API; se puede habilitar mediante brave://flags/#file-system-access-api.
Stack tecnológico
React 19 y TypeScript, Vite+ para dev/build/lint/format/check/tests, Vite con @vitejs/plugin-react, WebGPU para efectos, composición, transiciones, máscaras, ámbitos y aceleración de IA, WebCodecs para pipelines de previsualización y exportación, File System Access API y OPFS para persistencia y cachés, Zustand con Zundo para estado y deshacer/rehacer, TanStack Router para enrutado tipado basado en archivos, Tailwind CSS 4 con Radix UI y componentes estilo shadcn, Mediabunny para decodificación de medios, metadatos y codificación de audio, Transformers.js para modelos de IA locales en el navegador, Kokoro.js para texto a voz con WebGPU, y Web Workers y AudioWorklets para procesamiento de medios fuera del hilo principal.
Desarrollo
La mayoría de los comandos son scripts npm respaldados por vite-plus (vp): npm run dev (puerto 5173), build, preview, perf, lint (Oxlint), format (Oxfmt), test:run, verify (puerta completa que incluye comprobaciones de arquitectura y código muerto, contratos headless de Node, regresión de Chrome con harness compilado, operaciones de edición públicas y renderizado generado de medios/audio), headless:test y routes. Los efectos con GPU real siguen siendo una puerta explícita de operador/release porque la CI alojada de PR no proporciona un adaptador WebGPU portátil. El árbol src/ se organiza en features/ (módulos de UI orientados al usuario), runtime/ (motores de reproducción y renderizado), infrastructure/ (adaptadores de plataforma para GPU, análisis, audio, navegador, almacenamiento, miniaturas), shared/ (primitivas agnósticas del framework y estado entre features), además de app/, components/, config/, routes/ y types/.
Contribución y licencia
Las prioridades actuales son correcciones de errores, luego mejoras de rendimiento para el editor en vivo, reproducción y exportaciones, y después nuevas funciones que se hayan discutido primero. Los errores pueden reportarse mediante issues de GitHub con pasos reproducibles, versión del navegador y capturas o grabaciones; los informes de rendimiento deben incluir el flujo de trabajo, detalles de los medios de origen, tamaño del proyecto y cuándo comienzan las ralentizaciones. Las ideas de funciones se discuten en Discord o GitHub Discussions antes de implementarlas. Licencia MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.