Как делать YouTube-видео с помощью NotebookLM: полный гайд
Как делать YouTube-видео с помощью NotebookLM: полный гайд
Если вы когда-нибудь хотели начать выкладывать видео на YouTube, но останавливались при мысли о видеоредакторах, монтаже и часах ручной работы — эта статья для вас.
Я покажу, как с помощью Google NotebookLM и пары open-source скриптов можно пройти путь от идеи до опубликованного видео буквально за полчаса. Без After Effects. Без Premiere. Без DaVinci Resolve. Вообще без видеоредактора.
Что такое NotebookLM и при чём тут видео
NotebookLM — это AI-инструмент от Google, который умеет анализировать ваши документы и генерировать на их основе контент. Ключевые возможности, которые нас интересуют:
- Генерация аудио-подкастов — загружаете статью, исследование или заметки, и NotebookLM создаёт аудио-нарратив с естественным голосом
- Генерация слайд-презентаций — на основе того же материала NotebookLM может создать PDF со слайдами
- Генерация готового видео — в некоторых режимах NotebookLM умеет собирать и готовые видео
Иными словами, NotebookLM берёт на себя самую сложную часть — создание контента. Остаётся только собрать это в формат, который YouTube принимает, и подготовить метаданные.
Вот как выглядит результат
Прежде чем углубляться в процесс, вот примеры видео, сделанных по этому воркфлоу:
- 🎬 Анализ Плато: Как отличить надежный оптимум от переобучения — пример работы video-maker: презентация (PDF) + аудио (NotebookLM) склеены в готовое видео с синхронизированными слайдами
- 🎬 Walk-Forward Optimization: The Only Honest Strategy Test — пример работы video-youtube-prepare: NotebookLM сгенерировал готовое видео, а скрипт подготовил для него метаданные (заголовок, описание, теги, таймкоды, субтитры)
В обоих случаях — без видеоредакторов и ручной работы. Всё собирается автоматически.
Два сценария: какой ваш?
В зависимости от того, что вам дал NotebookLM, используется один из двух инструментов:
Сценарий 1: У вас есть аудио + слайды → нужно собрать видео
Это случай, когда NotebookLM сгенерировал вам аудио-нарратив и PDF-презентацию по отдельности, и вам нужно склеить их в видео.
Инструмент: video-maker
Сценарий 2: У вас уже есть готовое видео → нужны метаданные для YouTube
NotebookLM умеет генерировать и готовые видео. Но для YouTube этого мало: нужен заголовок, описание, теги, таймкоды, субтитры. Всё это можно сгенерировать автоматически.
Инструмент: video-youtube-prepare
Давайте разберём оба.
Сценарий 1: Собираем видео из аудио и слайдов
Шаг 1: Генерируем контент в NotebookLM
- Откройте NotebookLM
- Создайте новый ноутбук и загрузите свой материал — статью, заметки, PDF, ссылки
- Попросите NotebookLM сгенерировать аудио-подкаст по вашему материалу
- Попросите сгенерировать слайды-презентацию
- Скачайте аудио (
.m4aили.mp3) и слайды (.pdf)
Шаг 2: Устанавливаем инструменты
# Клонируем репозиторий
git clone https://github.com/suenot/video-maker.git
cd video-maker
# Создаём виртуальное окружение Python
python -m venv venv && source venv/bin/activate
# Устанавливаем зависимости
pip install openai-whisper pillow pytesseract
# Системные зависимости (macOS)
brew install ffmpeg poppler tesseract
Шаг 3: Кладём файлы
mkdir -p input/my-video
cp ~/Downloads/audio.m4a input/my-video/audio_ru.m4a
cp ~/Downloads/slides.pdf input/my-video/slides_ru.pdf
Шаг 4: Запускаем — одна команда
bash scripts/run_pipeline.sh ru
Всё. Серьёзно, одна команда. Пайплайн сам:
- ✅ Конвертирует PDF в картинки — каждый слайд становится PNG
- ✅ Распознаёт текст на каждом слайде через OCR
- ✅ Транскрибирует аудио через Whisper — получает текст с таймкодами
- ✅ Синхронизирует слайды с аудио — сопоставляет текст речи с текстом на слайдах
- ✅ Собирает MP4-видео через FFmpeg
- ✅ Генерирует SRT-субтитры
- ✅ Исследует релевантные YouTube-теги
- ✅ Генерирует метаданные: заголовок, описание, таймкоды
- ✅ Создаёт миниатюру 1280×720
Или можно запускать каждый шаг отдельно, если нужно больше контроля:
python scripts/pdf_to_images.py --pdf input/my-video/slides_ru.pdf --out-dir temp/slides --dpi 200
python scripts/extract_pdf_text.py --images-dir temp/slides --output temp/slides_text.json --lang rus
python scripts/extract_subtitles.py --audio input/my-video/audio_ru.m4a --output temp/subtitles.json --model base --language ru
python scripts/sync_slides.py --subtitles temp/subtitles.json --slides-text temp/slides_text.json --output temp/timeline.json
python scripts/generate_video.py --timeline temp/timeline.json --slides-dir temp/slides --audio input/my-video/audio_ru.m4a --output output/my-video.mp4
Как работает магия синхронизации
Это самая интересная часть. Скрипт не требует от вас ручных меток «покажи слайд 3 на секунде 42». Он сам разбирается.
Алгоритм — жадное прямое сопоставление:
- Whisper даёт пословные таймкоды того, что говорится
- OCR (Tesseract) даёт текст каждого слайда
- Скрипт проходит по сегментам транскрипции и оценивает каждый относительно текущего и нескольких следующих слайдов, используя пересечение слов и биграммное сопоставление
- Переключение на следующий слайд происходит, только когда тот набирает значительно больше очков и текущий слайд показывался достаточно долго
Слайды никогда не возвращаются назад. Просто, но удивительно хорошо работает для образовательного контента, где спикер следует порядку слайдов.
Что получаем на выходе
output/
├── my-video.mp4 # Готовое видео
├── my-video.srt # Субтитры для загрузки на YouTube
├── my-video_metadata.json # Метаданные (машинный формат)
├── my-video_metadata.txt # Метаданные (копируете в YouTube Studio)
└── my-video_thumbnail.png # Миниатюра
Файл _metadata.txt — это готовый текст, который вы просто копируете в YouTube Studio: заголовок, описание с таймкодами глав, теги.
Сценарий 2: Готовим метаданные для готового видео
Если NotebookLM уже сгенерировал готовое видео — или вы записали его любым другим способом — вам всё равно нужны метаданные для YouTube. Это второй инструмент.
Ключевая идея: у вас уже есть блог-статья для каждого видео. В статье есть заголовок, описание, теги и заголовки разделов. Инструмент переиспользует всё это для автоматической генерации метаданных.
Установка и запуск
git clone https://github.com/suenot/video-youtube-prepare.git
cd video-youtube-prepare
pip install openai-whisper
python scripts/prepare_metadata.py \
--video input/my-video.mp4 \
--slug my-article-slug \
--output-dir output/my-article-slug \
--whisper-model base
Инструмент:
- Извлекает аудио из видео
- Транскрибирует речь через Whisper
- Генерирует SRT-субтитры
- Если есть блог-статья — сопоставляет заголовки разделов с речью, строит таймкоды глав
- Извлекает теги из содержимого статьи
- Собирает всё в готовые метаданные на EN и RU
Про теги
YouTube-теги должны быть тематическими фразами (2–4 слова), а не отдельными словами. Инструмент строит их из:
- Заголовков разделов вашей статьи, разбитых по естественным разделителям
- Ключевых фраз из описания (2–3 слова)
- Frontmatter-тегов и их попарных комбинаций
- Брендовых тегов
Никаких внешних API — всё берётся из вашего контента. Теги, извлечённые из статьи, часто попадают точнее вручную подобранных, потому что используют ту же терминологию, что и целевая аудитория.
Полный воркфлоу: от идеи до YouTube за 30 минут
| Шаг | Что делаете | Время |
|---|---|---|
| 1 | Загружаете материал в NotebookLM | 2 мин |
| 2 | Генерируете аудио и слайды | 5 мин |
| 3 | Скачиваете файлы и кладёте в input/ | 1 мин |
| 4 | Запускаете run_pipeline.sh | 10–15 мин (ждёте) |
| 5 | Открываете YouTube Studio, загружаете видео | 2 мин |
| 6 | Копируете метаданные из .txt файла | 2 мин |
| 7 | Загружаете субтитры и миниатюру | 1 мин |
Итого: ~30 минут, из которых 15 — ожидание скрипта. Раньше то же самое занимало 2+ часа ручной работы.
Технические детали
Кодирование видео
На маке с Apple Silicon используется аппаратно-ускоренный HEVC через VideoToolbox — быстро и маленькие файлы. YouTube всё равно перекодирует, так что меньше файл = быстрее загрузка.
| Кодек | Скорость | Когда использовать |
|---|---|---|
hevc_videotoolbox | Быстро (GPU) | По умолчанию. Лучший баланс |
h264_videotoolbox | Очень быстро (GPU) | Максимальная совместимость |
libx264 | Медленно (CPU) | Для Linux или когда нет GPU |
Видео кодируется в 1920×1080 при 1 fps — слайды статичны, движения нет. YouTube это нормально обрабатывает, а заодно это снимает проблемы с OOM при concat demuxer.
Модели Whisper
| Модель | Скорость | Точность | Когда использовать |
|---|---|---|---|
tiny | Мгновенно | Средняя | Для тестов |
base | Быстро | Хорошая | По умолчанию |
small | Средне | Высокая | Для важных видео |
medium | Медленно | Очень высокая | Для сложного аудио |
large | Очень медленно | Максимальная | Когда каждое слово важно |
Двуязычность
Оба инструмента работают с русским и английским из коробки. Флаг языка (ru / en) передаётся при запуске, метаданные генерируются отдельно для каждого языка.
Зависимости
Оба инструмента требуют: Python 3.9+, FFmpeg (brew install ffmpeg), OpenAI Whisper (pip install openai-whisper).
video-maker дополнительно: Poppler (brew install poppler), Tesseract (brew install tesseract), Pillow + pytesseract (pip install pillow pytesseract).
Бонус: агентный скилл для Claude Code
Если вы пользуетесь Claude Code, в репозитории video-maker есть файл .claude/skills/youtube-video-publishing.md. Это агентный скилл, который обучает Claude Code всему воркфлоу.
Открываете проект в Claude Code — и агент понимает весь пайплайн: какие кодеки использовать, как структурировать описание, как фильтровать OCR, какие поля заполнять для YouTube Education.
Скилл покрывает:
- Правила заголовков — размещение ключевых слов, лимит видимости 70 символов, без кликбейта
- Шаблон описания — SEO-хук в первых 150 символах, таймкоды из заголовков слайдов, ссылка на статью, Telegram CTA
- Пайплайн тегов — YouTube Suggest API + анализ конкурентов + intent-фразы, только тематические фразы из 2–4 слов
- Правила кодирования — почему
hevc_videotoolboxна 1 fps, когда откатываться наlibx264 - Фильтрация OCR — gate по доле букв, детекция фрагментов, объединение ALL CAPS строк
- YouTube Education — автогенерация Category, Type, Level, Problems
Можно сказать «сгенерируй видео из этих файлов» — и агент сделает всё правильно.
Что ещё есть: другие open-source инструменты для видео
Мои инструменты решают конкретную задачу: слайды + нарратив → YouTube. Но экосистема видеоавтоматизации шире. Вот два проекта, которые стоит знать:
video-use: монтаж видео через Claude Code
video-use — это open-source скилл, который позволяет монтировать видео прямо через Claude Code (или другого агента с доступом к терминалу).
Как это работает: вы кидаете сырые видеофайлы в папку, открываете Claude Code и говорите «смонтируй из этого видео для запуска продукта». Агент сам:
- Вырезает слова-паразиты (
umm,uh, фальстарты) и паузы между дублями - Делает автоматическую цветокоррекцию
- Накладывает плавные аудио-фейды на каждом стыке (30 мс), чтобы не было щелчков
- Вшивает субтитры в вашем стиле — по умолчанию UPPERCASE по 2 слова
- Генерирует анимационные оверлеи через HyperFrames, Remotion, Manim или PIL
- Самопроверяет рендер на каждом стыке перед показом результата
Ключевая идея: LLM никогда не «смотрит» видео. Он читает его — через транскрипцию от ElevenLabs Scribe (пословные таймкоды + диаризация спикеров) и визуальные композиты (filmstrip + waveform) по запросу. Вместо 30 000 кадров × 1 500 токенов = 45M токенов шума — 12 КБ текста и несколько PNG.
Это принципиально другой подход, чем мой video-maker. Мой пайплайн заточен под образовательные видео со слайдами. video-use — универсальный монтажёр для любого контента: talking heads, монтажи, туториалы, интервью.
OpenShorts: полная платформа для коротких видео
OpenShorts — это self-hosted платформа (Docker), которая объединяет три инструмента:
-
Clip Generator — автоматически нарезает длинные видео (подкасты, вебинары, стримы) на вирусные 9:16 шортсы для TikTok, Instagram Reels и YouTube Shorts. Использует Google Gemini для поиска «вирусных моментов», face tracking через MediaPipe + YOLOv8, auto-субтитры через faster-whisper.
-
AI Shorts — генерирует маркетинговые видео с AI-актёрами. Вы описываете продукт или вставляете URL — платформа генерирует скрипт, AI-актёра (Flux 2 Pro), озвучку (ElevenLabs), lip-sync (Hailuo + VEED), b-roll и финальную сборку. Стоимость: от $0.65 за видео.
-
YouTube Studio — AI-генерация миниатюр, 10 вариантов вирусных заголовков, автоописания с таймкодами, прямая публикация на YouTube.
Плюс auto-publishing одним кликом на TikTok, Instagram и YouTube одновременно, с возможностью запланировать время публикации.
В отличие от платных аналогов (Opus Clip, CapCut, Vizard, Klap, Descript), OpenShorts полностью бесплатный, open source, без водяных знаков и лимитов на загрузку. Вы платите только за AI API (Gemini, fal.ai, ElevenLabs), и у большинства из них есть бесплатные тарифы.
Ограничения
Несколько вещей, которые стоит знать:
- Синхронизация зависит от текста на слайдах. Графические слайды без текста синхронизируются хуже. Лучше всего работает с образовательными слайдами, где есть заголовки и тезисы.
- Один спикер. Пайплайн рассчитан на непрерывный нарратив одного голоса.
- macOS по умолчанию. Аппаратное ускорение HEVC работает на Apple Silicon. На Linux используйте
libx264. - NotebookLM иногда удивляет. Качество генерации зависит от входного материала. Чем структурированнее ваши заметки — тем лучше результат.
Хотите попробовать?
Все инструменты — open source:
- 🔧 video-maker — собирает видео из аудио + PDF
- 🔧 video-youtube-prepare — генерирует метаданные для YouTube
- 🎬 video-use — монтаж видео через Claude Code
- 🎬 OpenShorts — полная платформа для шортсов и AI-видео
Важно:
video-makerиvideo-youtube-prepare— это не готовые коробочные продукты, а шаблоны-заготовки. Они работают из коробки для базового сценария, но задуманы так, чтобы вы донастроили их под свои цели — любым AI-агентом (Claude Code, Codex, Cursor и т.д.). Форкните, адаптируйте под свой бренд, стиль описаний и формат контента.
Используйте NotebookLM для создания контента, а скрипты — для автоматической сборки. Это самый быстрый путь от идеи до YouTube, который я нашёл.