Я веду небольшой сервис WhaleTrack — он в реальном времени отслеживает крупные ставки на Polymarket. Чтобы привлечь пользователей, я решил запустить безликий YouTube-канал: никакой камеры, никакого монтажа, только код.
Весь пайплайн я собрал за один день. Вот как.
Стек
- edge-tts — нейросетевой синтез речи от Microsoft (голос Andrew, бесплатно, без ключа);
- moviepy 1.0.3 — склейка видео;
- Pillow — обработка изображений;
- Puppeteer — скриншот живого сайта;
- ffmpeg — кодировщик под капотом.
Шаг 1: Скриншот реального сайта
Вместо фальшивых макетов я делаю скриншот живого сервиса через Puppeteer. Открываю страницу в безголовом браузере, задаю разрешение 1920x1080 и сохраняю картинку. Одна тонкость: если в проекте стоит "type": "module", то require() из Puppeteer сломается — нужно переименовать файл в .cjs.
Шаг 2: Голос за кадром
Для озвучки беру edge-tts — бесплатный синтезатор от Microsoft. Голос Andrew Neural звучит вполне естественно, особенно если добавить ускорение +8%. Команда простая: передаёшь текст, выбираешь голос — получаешь mp3.
Шаг 3: Эффект Кена Бернса
Статичные скриншоты скучны. Я написал функцию, которая медленно зумит и панорамирует изображение, создавая иллюзию движения. Алгоритм: берём кадр, вычисляем zoom и offset в зависимости от времени, кадрируем, растягиваем до 1920x1080.
Шаг 4: Сборка в moviepy
С помощью moviepy я создаю видеоклип с длительностью, равной длине звуковой дорожки. Для каждого кадра времени сэмплируется функция make_frame, которая применяет эффект Кена Бернса, и накладывается аудио. Выходит полноценное 1080p видео.
Результат
Ролик длится 2 минуты 36 секунд, полностью автоматизирован, создан одной python-программой. Стоимость — ноль рублей. На сборку пайплайна ушёл день.
Ссылка на видео: https://youtu.be/iwGwUpbhABA
Сам сервис: https://whaletrack.app
Если кому-то нужен полный скрипт — готов поделиться. Строю всё публично.
Комментарии (0)
Войдите, чтобы комментировать.
Пока нет комментариев. Будьте первым.