April 8, 2025

Как я собираю MVP нейросетевого автонарезчика видео, не зная программирования

Пролог. Зачем вообще всё это?

В какой-то момент я поймал себя на мысли: люди кайфуют с ярких, динамичных видео. Это вкусно. Это цепляет.
Я заметил, что видеоклипы, просто перезалитые на другую платформу, набирали чудовищные просмотры. И алгоритм, будто бы случайный, отдавал им предпочтение.
Я зацепился за одну гипотезу: если делать такие ролики быстро, стабильно, массово — можно попасть в волну.


Часть 1. Сервисы есть. Денег нет.

Я полез искать инструменты. Сервисы вроде Wisecut или Pictory делают подобное — автоматические нарезки, вставка субтитров, монтаж на «ИИ». Но стоит оно от $20, $40, $100 в месяц. А в бесплатных режимах — такое чувство, что тебе просто дали посмотреть на интерфейс и выгнали.

Так началась первая развилка: платить или попробовать сделать самому?

Я проверил теорию в GPT и он ответил: “Погнали”. И вот мы вдвоём пошли делать свой автонарезчик видео. Я — без опыта в коде, но с понимаем системы. Он — как мой личный разработчик.


Часть 2. Первая боль. Первая радость.

Поначалу казалось просто: скопируй код, запускай.
На практике: где писать, что писать, где запускать. В итоге всё падало, возникали ошибки с названиями, с несовместимостью версий, зависания — было полное непонимание, что вообще происходит и как код перевести на человеческий язык. Один из первых удачных запусков длился 1.5 часа — всё ради обработки трёх минут видео. На слабом ноутбуке. Без GPU.

GPT невозмутимо советовал: «может, купишь видеокарту за 70 тысяч?».
Спасибо, конечно. Но мне бы сперва разобраться, как вообще оно работает.

И вот — я достиг того результата, когда программа перестала падать и начала давать какой-то результат. Неидеально. Но сама сделала нарезку.
Я офигел. Это было похоже на то, как первый раз у тебя получилось сварить борщ без рецепта.

пример клипов первой стабильной рабочей версии (облако)


Часть 3. Код превращается в зверя

В какой-то момент главный запускаемый main.py разросся до 300 строк. GPT продолжал генерировать — я вставлял, тестировал, удалял, вставлял снова.

Далее это стало невозможно поддерживать. Одна ошибка — и ты не понимаешь, где она.
Пришлось идти в рефакторинг — разделять функции, выносить блоки по папкам, создавать отдельные модули. Но и после этого пришлось менять архитектуру, я не так её представил.

добавляю распознование лиц, проверяю в тестах

Часть 4. Generalist в аду ООП

Пошёл дальше — начал переводить на ООП.
GPT говорит: «Сделай классы, будет удобно».
Я пробую. Всё ломается. Я ничего не понимаю. Целую неделю безрезультатно ковыряю код. Хаос. Хотел было вернуться к «старому доброму» линейному коду. Но вдруг — что-то щёлкнуло. Я начал понимать принципы и красоту кода. Понял, как выносить логику, как связывать файлы, как документировать.

Вернулся к ООП. Уже не с испугом, а с уважением. Теперь — кода меньше, ошибок меньше, и тестировать стало легче.


Часть 5. Оптимизация и кайф

Сначала: 3 минуты видео — 1.5 часа анализа.
Сейчас: 10 минут видео — 30–40 минут, на CPU. Без GPU.
Уже не так больно. Я провел оптимизацию, начал сохранять результаты анализа в кэш, добавил логи для быстрого поиска ошибок, сократил их, чтобы не получать тысячи однотипных строк, добавил прогресс-бар для понимания, что процесс идёт. Добавил a/b тесты в нарезке клипов. Теперь через консоль я задаю заранее прописанные параметры, тестирую, оцениваю сцены.

И я реально худею с того, чему научился.
Не зная кода, не имея профильного образования. Только гипотеза, GPT и огромное желание сделать что-то своё.


Часть 6. Куда всё это ведёт?

Зачем это всё? Ради чего?

Во-первых — ради себя.
Разрушение рамок. Переосмысление возможностей.
Я уже был готов всё бросить. Реально. Но не бросил. И теперь — у меня MVP. Без красивого интерфейса. Но с нейросетью, сценами, речевым анализом, обработкой видео.

Во-вторых — ради профессии.
Я ищу себя. Я — Tech-savvy Generalist. Я не спец в одном, но умею видеть целую систему, строить её нуля. И даже если я не знаю, как это сделать руками — я могу собрать, собрать, выжать, сломать и собрать ещё раз.
Это и есть продуктовое мышление. Это и есть современная digital-компетентность.

продолжение «Отель Гильберта» и самодельная архитектура