Об этом проекте
FreeCut — это видеоредактор с многодорожечным таймлайном, работающий в браузере и распространяемый под лицензией MIT. Он не требует установки и не загружает медиафайлы: проекты и медиа остаются локальными, а редактирование, предпросмотр, анализ, транскрибация, ИИ-генерация и экспорт выполняются в браузере через WebGPU, WebCodecs, Web Workers, OPFS и File System Access API. Проекты, метаданные связанных медиа, миниатюры, формы волн, сгенерированные ИИ-активы, транскрипты, сцены и кэши сохраняются как обычные файлы в выбранной рабочей папке на диске.
Редактирование и таймлайн
- Многодорожечный таймлайн с поддержкой видео, аудио, текста, изображений, фигур, масок, Lottie-анимаций и составных клипов.
- Несколько таймлайнов в проекте как последовательности (Sequences) с вкладками, объединённые составными клипами.
- Редактирование связанных аудио/видео с инструментами split, join, ripple, rolling, slip, slide и rate-stretch.
- Переходы с центрированием на разрезе, изменением размера в реальном времени, выравниванием, привязкой к исходному времени и оверлеями предпросмотра.
- Управление дорожками: mute, visibility, lock, значки синхронизации, push/pull дорожек и рабочие процессы закрытия промежутков.
- Миниатюры киноплёнки, стерео-формы волн, направляющие привязки, маркеры, таймкод и undo/redo.
- Монитор источника с отметками in/out, выбором дорожек для вставки, вставкой и перезаписью.
- Шаблоны проектов, автоматическое соответствие холста/FPS первому медиа, настраиваемые горячие клавиши.
Предпросмотр и воспроизведение
- Предпросмотр в реальном времени с инструментами трансформации, кадрирования, corner-pin, масок и групповых манипуляторов.
- Покадровое воспроизведение через собственный Clock и композиционный рантайм.
- Быстрые оверлеи при перемотке, прогрев декодера, адаптивное качество предпросмотра и прогрев источников.
- Панели редактирования с двумя и четырьмя видами для операций ripple, rolling, slip и slide.
- GPU-осциллографы: waveform, vectorscope и histogram.
- Отдельные мастер-шина проекта и громкость монитора/устройства.
Аудио
- Громкость клипа, аудиофейды, фейдеры дорожек, мастер-фейдер и стерео-LED-индикаторы.
- Изменение высоты тона на клип в полутонах/центах с предпросмотром через SoundTouch.
- Эквалайзер клипа и дорожки, включая компактную шестиполосную плавающую панель EQ.
- Высота тона, EQ, фейды, громкость и аудиопереходы сохраняются в предпросмотре и экспорте.
Эффекты, маски и композитинг
- Эффекты и композитинг на основе WebGPU, с запасными вариантами где возможно.
- Размытие: гауссово, box, motion, radial, zoom.
- Цвет: яркость, контраст, экспозиция, сдвиг оттенка, насыщенность, вибрация, температура/оттенок, уровни, кривые, цветовые колёса, градиентная карта, LUT (.cube), градации серого, сепия, инверсия.
- Искажения: пикселизация, RGB-сплит, твист, волна, выпуклость/вогнутость, калейдоскоп, зеркало, рифлёное стекло, стекло с рябью, стеклянная мозаика, droste.
- Стилизация: виньетка, зерно плёнки, резкость, постеризация, свечение, обнаружение краёв, сканлайны, полутон, ASCII-арт, цветовой глитч, блочный глитч, VHS, CRT, чернила, pixel sort.
- Ключинг: хромакей с допуском, мягкостью и подавлением ореола.
- 25 режимов наложения, включая multiply, screen, overlay, soft light, difference, hue, saturation, color и luminosity.
- Маски клипов и контуры пером с анимируемыми геометрическими трансформациями.
- Палитра цветов с вводом hex и alpha, а также встроенная пипетка с лупой.
Переходы
- Fade, wipe, slide, 3D flip, clock wipe и iris с вариантами направлений.
- Dissolve, sparkles, glitch, light leak, pixelate, chromatic aberration и radial blur.
- Настраиваемые длительность, выравнивание, привязка к источнику и запасной вариант Canvas 2D для путей без WebGPU.
Анимация ключевых кадров
- Редактор кривых Безье, душшит, разделённый вид и оверлеи нескольких кривых.
- Пресеты easing (linear, ease-in/out, cubic-bezier, spring) с редактором предпросмотра в реальном времени и сохранёнными пользовательскими пресетами.
- Процедурные модификаторы движения (drift, sway, breath, spin, shake), вычисляемые во время рендера, с однокликовым запеканием в ключевые кадры.
- Анимация текста: по символам, по словам и по строкам.
- Режим автоключевых кадров, зеркалирование касательных, аккордеоны свойств и выделение рамкой.
- Анимируемые свойства трансформации, кадрирования, масок, текста, эффектов и цвета.
Медиа и импорт
- Импорт видео, аудио, изображений, GIF, SVG, Lottie-анимаций и сгенерированных активов без копирования оригиналов.
- Редактирование импортированных Lottie-анимаций (.json и .lottie): перекраска цветов и тем, редактирование текста, настройка слотов значений с предпросмотром в реальном времени.
- Декодирование Apple ProRes для импорта, предпросмотра и миниатюр, включая варианты, которые браузер не может декодировать нативно.
- Генерация прокси, извлечение миниатюр, кэширование форм волн и перелинковка медиа.
Локальный ИИ и анализ
- Работает на устройстве в браузере; ничего не загружается.
- Транскрибация на устройстве с движком Parakeet (запасной вариант Whisper) и создание текстовых элементов субтитров.
- ИИ-субтитры с локальными провайдерами vision-language и настраиваемой частотой выборки.
- Обнаружение сцен с быстрым гистограммным или покадровым адаптивным анализом содержимого и опциональной проверкой моделью.
- Браузер сцен для поиска по субтитрированным медиа и повторного использования обнаруженных моментов.
- Локальный синтез речи Kokoro для озвучки.
- Локальная генерация музыки MusicGen с пресетами, прогрессом и отменой.
- Локальный кэш моделей и управление выгрузкой в настройках.
Проекты и хранилище
- Постоянство рабочей папки через File System Access API.
- Переключатель нескольких рабочих папок с управлением известными папками.
- Проекты хранятся как обычные файлы на диске, с миграцией из устаревшего браузерного хранилища.
- Мягкое удаление проектов, восстановление, очистка корзины и полное удаление.
- Экспорт/импорт проектов в ZIP-архиве с проверкой схем через Zod.
- Автосохранение, миниатюры проектов, зеркалирование кэша рабочей папки и очистка осиротевших файлов.
Экспорт
- Рендеринг в браузере через WebCodecs и рабочие процессы на воркерах.
- Экспорт любой последовательности, не только основного таймлайна.
- Видеоконтейнеры: MP4, WebM, MOV, MKV.
- Видеокодеки: H.264, H.265, VP8, VP9, AV1 (где браузер предоставляет энкодер).
- Аудиоформаты экспорта: MP3, AAC, WAV/PCM.
- Субтитры: выкл., встроенные, отдельный файл или встроенный мягкий трек (зависит от контейнера).
- Пресеты качества от низкого до ультра, с проверкой возможностей в рантайме и запасными вариантами.
Начало работы
Требования: Node.js 22+ (рекомендуется), npm 11+ и современный браузер Chromium. Клонируйте репозиторий, выполните npm install и npm run dev, затем откройте http://localhost:5173 в Chrome, Edge, Brave или Arc. Рабочий процесс: выберите рабочую папку, создайте проект, импортируйте медиа перетаскиванием файлов в медиатеку, перетащите клипы на таймлайн и редактируйте, затем экспортируйте прямо из браузера.
Поддержка браузеров
Рекомендуется Chrome или Edge 113+. FreeCut зависит от WebGPU, WebCodecs, OPFS и File System Access API, поэтому для полного рабочего процесса требуется современный браузер Chromium. Brave может отключать File System Access API; его можно включить через brave://flags/#file-system-access-api.
Технологический стек
React 19 и TypeScript, Vite+ для разработки/сборки/линта/форматирования/проверок/тестов, Vite с @vitejs/plugin-react, WebGPU для эффектов, композитинга, переходов, масок, осциллографов и ускорения ИИ, WebCodecs для конвейеров предпросмотра и экспорта, File System Access API и OPFS для постоянства и кэшей, Zustand с Zundo для состояния и undo/redo, TanStack Router для типизированной маршрутизации на основе файлов, Tailwind CSS 4 с Radix UI и компонентами в стиле shadcn, Mediabunny для декодирования медиа, метаданных и аудиокодирования, Transformers.js для локальных ИИ-моделей в браузере, Kokoro.js для WebGPU-синтеза речи, а также Web Workers и AudioWorklets для обработки медиа вне основного потока.
Разработка
Большинство команд — это npm-скрипты на основе vite-plus (vp): npm run dev (порт 5173), build, preview, perf, lint (Oxlint), format (Oxfmt), test:run, verify (полный контроль, включая проверки архитектуры и мёртвого кода, контракты Node headless, регрессионные тесты Chrome на собранном харнессе, публичные операции редактирования и рендеринг сгенерированных медиа/аудио), headless:test и routes. Эффекты с реальным GPU остаются явным операторским/релизным шлюзом, так как CI для PR не предоставляет переносимый адаптер WebGPU. Дерево src/ организовано в features/ (пользовательские UI-модули), runtime/ (движки воспроизведения и рендеринга), infrastructure/ (платформенные адаптеры для GPU, анализа, аудио, браузера, хранилища, миниатюр), shared/ (независимые от фреймворка примитивы и межфункциональное состояние), а также app/, components/, config/, routes/ и types/.
Вклад и лицензия
Текущие приоритеты: исправление ошибок, затем улучшение производительности живого редактора, воспроизведения и экспорта, затем новые функции, которые предварительно обсуждались. Ошибки можно сообщать через GitHub Issues с воспроизводимыми шагами, версией браузера и скриншотами или записями; отчёты о производительности должны включать рабочий процесс, детали исходных медиа, размер проекта и момент начала замедлений. Идеи функций обсуждаются на Discord или GitHub Discussions перед реализацией. Лицензия MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.