Pull to refresh
16K+
1
Григорий@Ykrops

Python senior

4
Rating
1
Subscribers
Habr CareerHabr Career
Send message

Как собрать «живую луну» из 500 000 точек в TouchDesigner

Level of difficultyMedium
Reading time8 min
Reach and readers9.6K

TouchDesigner позволяет собирать сложные генеративные эффекты из небольшой сети операторов. В этом туториале создадим «живую луну» из 500 000 точек, поверхность которой непрерывно деформируется процедурным шумом.

Основной эффект строится на связке Point Generator POP, Feedback POP, Noise POP и Math POP. Шум смещает частицы, а нормализация каждый кадр возвращает их на поверхность сферы. Благодаря обратной связи деформация превращается в непрерывное движение.

После настройки POP-системы подготовим рендер через Geometry COMP, добавим шлейф с помощью Feedback TOP и завершим изображение свечением через Bloom TOP. В статье приведены схема сети, параметры операторов, скриншоты всех основных этапов и варианты дальнейшего развития эффекта — от аудиореактивности до управления через MIDI.

Читать далее

Shorts Maker v2: как я превратил AI-генератор видео в возобновляемый production pipeline на Python

Level of difficultyMedium
Reading time12 min
Reach and readers10K

Как превратить работающий AI-прототип в надёжный production pipeline? Разбираю архитектуру Shorts Maker v2 — генератора коротких видео на Python с DDD, возобновлением после сбоев, checkpoint’ами после каждой сцены, ограниченной конкурентностью и заменяемыми AI-провайдерами

Читать далее

Как я написал AI-генератор коротких видео (Shorts/Reels) на Python с Clean Architecture

Reading time4 min
Reach and readers4.3K

Привет, Хабр! 👋

В этой статье я хочу поделиться опытом разработки пет-проекта, который превратился в полноценный инструмент для автоматической генерации коротких видео (Shorts, Reels, TikTok). Идея проста: на входе — тема (например, "История Римской Империи за 1 минуту"), на выходе — готовый видеоролик с озвучкой, субтитрами и сгенерированным видеорядом.

Но вместо того, чтобы накидать "спагетти-код" в одном файле main.py, я решил подойти к задаче как инженер и построить систему на принципах Clean Architecture.

🎯 Зачем?

Генерация видео — это сложный пайплайн:

1.  Написать сценарий.

2.  Придумать визуальный стиль.

3.  Сгенерировать картинки (Midjourney, Flux).

4.  Оживить картинки в видео (Kling, Runway, Sora).

5.  Озвучить текст (TTS).

6.  Собрать всё вместе с субтитрами.

API меняются, модели выходят новые каждую неделю. Сегодня лучший визуал у Flux, завтра у Midjourney v7. Сегодня видео делаем в Runway, завтра в Kling. Жесткая привязка к конкретным API убила бы проект через месяц.

Поэтому Clean Architecture здесь не роскошь, а необходимость.

🏗 Архитектура

Проект разбит на слои, следуя классической "луковой" архитектуре:

1.  Domain (Entities): Pydantic-модели, описывающие суть (VideoScript, Scene, Character). Они ничего не знают о внешнем мире.

2.  Interfaces: Абстрактные классы (VideoGenerator, ScriptGenerator). Контракты, которые должны соблюдать внешние сервисы.

3.  Services (Use Cases): Бизнес-логика. Здесь живут "Агенты": Сценарист, Арт-директор, Режиссер монтажа.

4.  Infrastructure: Реализации интерфейсов (API клиентов Comet, Yandex, OpenAI и т.д.).

Читать далее

Information

Rating
1,427-th
Registered
Activity

Specialization

Бэкенд разработчик, Архитектор программного обеспечения
Старший
Python
Базы данных
PostgreSQL
ООП