Мой блог
NeuroCut: локальный AI-ассистент для чернового монтажа видео
Автоматизация первичной обработки видеоматериалов становится всё более востребованной для оптимизации рутинных задач. В рамках open-source проекта NeuroCut был разработан локальный AI-ассистент для чернового монтажа видео, позволяющий значительно сократить время на подготовку роликов к дальнейшей работе в профессиональных редакторах.
Программный инструмент принимает на вход один или несколько видеофайлов, обрабатывает текстовое задание (brief) и генерирует готовый план монтажа с возможностью экспорта в различные форматы. Архитектура решения ориентирована на локальный запуск и интеграцию с популярными монтажными программами.







Функциональные возможности и интерфейс
Интерфейс приложения на старте предлагает выбор из пяти основных типов задач: генерация транскрипта и субтитров, создание NLE-совместимого XML, подготовка готовых MP4-клипов или экспорт видео «под ключ». Это позволяет гибко настраивать инструмент под конкретные задачи контент-производства.

Основная цель разработки заключается не в полной замене видеомонтажёра, а в выполнении первичного прохода по материалу. Типичный сценарий использования включает обработку записей интервью, вебинаров или мультикамерных обзоров, где требуется убрать паузы, оставить только релевантные фрагменты по текстовому заданию и расставить маркеры на ключевых моментах перед детальной ручной доработкой.
Архитектура пайплайна и используемый стек
Обработка данных в системе выстроена по последовательной схеме с отслеживанием прогресса на каждом этапе. На первом шаге инструмент извлекает аудиодорожку, после чего запускается распознавание речи с привязкой таймкодов.
Этапы обработки медиафайлов
Процесс выполнения задачи делится на строго регламентированные шаги:
- Извлечение аудиопотока в формат WAV с помощью утилиты FFmpeg.
- Транскрипция речи посредством систем распознавания с таймкодами.
- Анализ текста языковой моделью после детектирования сцен для формирования плана монтажа.
- Финальная сборка и экспорт готового файла в выбранном режиме.
Технологический стек
Бэкенд приложения написан на Python 3.11 с использованием FastAPI, а фронтенд реализован на React и Vite. Для работы со звуком и видео задействованы FFmpeg и ffprobe. В качестве модулей распознавания речи поддерживаются Whisper, Silero и GigaAM. За логику анализа отвечает Google Gemini по умолчанию с возможностью переключения на DeepSeek в качестве запасного варианта. Экспорт в нелинейные монтажные системы реализуется через шаблоны Final Cut Pro 7 XML.
Отказ от прямой загрузки видео в мультимодальные модели
На этапе проектирования рассматривался вариант отправки видеопотока напрямую в языковую модель с запросом на автоматический монтаж. Однако такой подход столкнулся с ограничениями по квотам и финансовым затратам. Загрузка исходных файлов для каждого задания быстро исчерпывает лимиты API.

Кроме того, современные текстовые модели демонстрируют высокую эффективность и экономичность в режиме обработки текста. Поэтому в системе используется дешёвый низкоразрешённый прокси-файл сцен, а в языковую модель передаются текстовый бриф, транскрипт с таймкодами и границы планов. Это позволяет ускорить обработку, снизить расходы и повысить точность стыков.
Особенности работы со звуком и распознаванием речи
При отсутствии речевого сопровождения или наличии неразборчивых фрагментов стандартный алгоритм монтажа по транскрипту может дать сбой. Для предотвращения падений пайплайна система проверяет наличие аудио через ffprobe. Если транскрипт оказывается пустым, активируется визуальный режим на основе таймлайна сцен.

Интеграция GigaAM и кэширование
Для русскоязычного контента предусмотрен автономный офлайн-режим через GigaAM на базе sherpa-onnx. При выборе автоматического определения движка система задействует локальные модели GigaAM, оставляя Whisper в качестве универсального резервного варианта.
Для оптимизации повторных запусков реализовано кэширование транскриптов по хэшу аудиофайла и его длительности. Это исключает необходимость повторного выполнения ресурсоёмкой процедуры распознавания при повторной загрузке того же самого файла.

Форматы экспорта и интеграция с монтажными программами
В качестве основного формата экспорта для профессиональных редакторов был выбран Final Cut Pro 7 XML. Такой формат стабильно импортируется в Adobe Premiere Pro и DaVinci Resolve, а также поддаётся простой шаблонизации через Jinja2.
Для решения проблем с неверными абсолютными путями при переносе проекта на другую машину используются относительные пути и размещение медиафайлов рядом с файлом разметки. Пользователям, которым не требуется XML, доступна выгрузка отдельных кусков видео в виде ZIP-архива с набором MP4-клипов на основе JSON-плана.
Дополнительно ведется разработка специального плагина для Adobe Premiere, который позволяет применять сгенерированный план непосредственно на таймлайне без необходимости повторной загрузки исходных медиафайлов.

Развёртывание и текущий статус проекта
Для локального запуска приложения подготовлены конфигурации Docker Compose. Процесс развёртывания сводится к клонированию репозитория, настройке файла переменных окружения с ключом API и запуску контейнеров. Для работы Whisper с ускорением на видеокартах NVIDIA предусмотрен дополнительный конфигурационный файл.

На текущий момент проект находится на стадии раннего открытого ПО с версией API около 0.1.0. В планах разработчиков значится добавление новых форматов экспорта, внедрение эвристик оценки резкости и стабильности кадров, а также расширение интеграций с монтажным программным обеспечением.
