Плавное замедление, управление скоростью и промежуточные кадры.
Плагин для After Effects и CLI на одном движке оптического потока, написанном на Rust.
Русский · English
Возможности · Сборка · Установка · CLI · Документация
Flowtime создаёт промежуточные кадры по движению между исходными изображениями. Используйте его для slow motion, анимированных изменений скорости и преобразования частоты кадров — внутри After Effects или при обработке последовательностей изображений из командной строки.
Статус: v0.1.0, ранняя версия. Основной путь сборки — Windows x64. Движок работает на CPU; актуальные ограничения перечислены ниже.
| Что умеет Flowtime | |
|---|---|
| Ретайминг | Режимы Speed % и Frame Num, анимация скорости в AE, раздельная входная и выходная частота кадров. |
| Оптический поток | Пять уровней качества, включая отключение векторов, подготовка изображения и кэширование рассчитанного движения. |
| Интерполяция | Nearest, Blend, Motion Weighted Blend; четыре режима warping, в том числе Inverse w/ Smart Blend. |
| Работа со слоями | Фон + до трёх передних планов по маттам, чувствительность для каждого слоя, Inv Matte Shrink. |
| Контроль движения | До 12 трек-точек на слой, альтернативные источники цвета и движения, маркировка монтажных склеек. |
| After Effects | 8 и 16 bpc, multi-frame rendering, просмотр исходника и отдельных слоёв, отображение трек-точек. |
| CLI | Входные PNG, JPEG и TIFF, выходные PNG; генерация тестовых кадров, контактных листов и оценка PSNR/SSIM. |
Компенсация motion blur реализована для ускорения. Вычислительное ядро использует DIS optical flow, двунаправленную оценку движения и параллельную обработку через Rayon.
Понадобятся Git, Rust stable с GNU-хостом x86_64-pc-windows-gnu и MinGW-w64 (например, w64devkit). Команды ниже выполняются в PowerShell.
git clone https://github.com/b4demus/flowtime.git
cd flowtime
powershell -ExecutionPolicy Bypass -File .\build.ps1Скрипт использует cargo из PATH. Для portable toolchain он также проверяет переменную PETAL_TOOLCHAIN, затем папку ..\.tools\rust-daw. Ожидаемая структура portable toolchain: cargo\, rustup\, gcc\w64devkit\.
Результат:
dist/
├── Flowtime.aex # плагин After Effects
└── flowtime.exe # утилита командной строки
После сборки запустите из корня проекта:
.\install.cmdУстановщик запросит права администратора и скопирует dist\Flowtime.aex в общую папку плагинов Adobe:
C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore\Flowtime
Перезапустите After Effects. Эффект доступен в меню Effect → Time → Flowtime.
Чтобы замедлить клип в четыре раза, примените эффект, укажите частоту исходника в Input: Frame Rate и задайте Speed % = 25. Для переменной скорости анимируйте Speed %; для прямого управления позицией выберите Time Remap Mode → Frame Number.
.\dist\flowtime.exe .\input .\output --speed 25 --quality best --warp smartВходная папка должна содержать как минимум два кадра одинакового размера. Файлы сортируются по имени: используйте нумерацию с ведущими нулями, например frame_00001.png. Результат сохраняется в PNG с глубиной 8 бит на канал.
.\dist\flowtime.exe .\input .\output-60fps --speed 100 --in-fps 24 --out-fps 60.\dist\flowtime.exe synth .\work\demo-src 12 320 180
.\dist\flowtime.exe .\work\demo-src .\work\demo-slow --speed 25 --warp smartПараметры CLI
| Параметр | Значения | По умолчанию |
|---|---|---|
--speed |
Скорость в процентах | 50 |
--in-fps / --out-fps |
Входная / выходная частота кадров | 24 / 24 |
--quality |
none, sloppy, medium, high, best |
best |
--interp |
nearest, blend, mwb |
blend |
--warp |
inverse, smart, forward, forward-nosmart |
inverse |
--prep |
none, contrast, delin |
none |
--sens |
Чувствительность движения | 70 |
--mb |
Компенсация motion blur при ускорении | 0 |
--frames |
Число выходных кадров | По длительности и скорости |
--prof |
Включить профилирование; значение не требуется | Выключено |
Дополнительные команды:
flowtime synth <dir> <frames> <width> <height>
flowtime sheet <dir> <out.png> <first> <count> [cols]
flowtime score <reference> <run-a> <run-b> <step> [crops-dir]
flowtime darken <input> <output> <gain> <noise>
- 32 bpc / SmartFX и ускорение на GPU пока не реализованы.
- Обработка полей (
Input/Output Fields) и 360°-видео пока не реализована. - Маски AE как направляющая геометрия (
First/Last Mask) пока не поддерживаются. - Вывод векторов движения,
Vectors Inи удаление motion blur при замедлении пока не реализованы.
flowtime/
├── core/ # оптический поток, интерполяция, слои и отображение времени
├── ae/ # плагин After Effects и ресурс PiPL
├── cli/ # обработка последовательностей и инструменты сравнения
├── docs/ # спецификация, замеры и оформление
├── tools/ae/ # сценарии сравнения внутри After Effects
├── build.ps1 # сборка плагина и CLI
└── install.cmd # установка плагина
Тесты ядра и CLI запускаются с тем же Rust/MinGW toolchain, что используется для сборки:
cargo test --locked -p flowtime-core -p flowtime-cliДля профилирования в AE создайте файл %TEMP%\flowtime_prof.on: сводка этапов появится в %TEMP%\flowtime_prof.log. Чтобы отключить профилирование, удалите файл-маркер. Ошибки рендеринга записываются в %TEMP%\flowtime_errors.log. В CLI используется флаг --prof.
- Замеры и сравнение с Twixtor Pro / Benchmarks — методика, результаты и команды воспроизведения.
- Функциональная спецификация — поведение референса и устройство собственного движка (на русском).
- English README — описание и инструкции на английском.
Интерфейс параметров ориентирован на Twixtor Pro; движок оптического потока и интерполяции реализован самостоятельно. Flowtime не связан с RE:Vision Effects. Twixtor — товарный знак соответствующего правообладателя.
MIT · © 2026 b4demus