Суть урока
Монтаж видео без монтажёра — звучит как фантастика. Но Claude Code умеет управлять FFmpeg (эф-эф-эм-пег — инструмент для работы с видео и аудио) командами, работать с DaVinci Resolve через MCP (эм-си-пи — Model Context Protocol), генерировать программные видео через Remotion. Для YouTube-канала, рекламных роликов, обучающих материалов — это меняет весь производственный процесс.
Ключевые концепции
- FFmpeg — командный инструмент для видео/аудио (бесплатный, мощный, везде)
- DaVinci Resolve MCP — управление профессиональным редактором через Claude
- Remotion — программное создание видео через React/JavaScript
- Pipe-based монтаж — последовательная обработка через команды (пайплайн — цепочка шагов)
- Batch processing — массовая обработка видеофайлов (батч-обработка)
Теория
FFmpeg + Claude: автоматический монтаж
FFmpeg — самый мощный бесплатный инструмент для видео. Проблема: тысячи флагов которые невозможно запомнить. Claude Code знает их все.
Установка FFmpeg:
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Проверка
ffmpeg -versionБазовые операции (проси Claude Code):
# Конвертация форматов
ffmpeg -i input.mov -c:v libx264 -crf 23 output.mp4
# Обрезка по времени
ffmpeg -i input.mp4 -ss 00:00:30 -to 00:02:00 -c copy clip.mp4
# Изменение размера
ffmpeg -i input.mp4 -vf "scale=1920:1080" output.mp4
# Сжатие для YouTube
ffmpeg -i raw.mp4 -c:v libx264 -preset slow -crf 18 \
-c:a aac -b:a 320k youtube-ready.mp4
# Склейка нескольких видео
cat > list.txt << EOF
file 'clip1.mp4'
file 'clip2.mp4'
file 'clip3.mp4'
EOF
ffmpeg -f concat -safe 0 -i list.txt -c copy merged.mp4
# Добавить субтитры
ffmpeg -i video.mp4 -i subtitles.srt -c copy -c:s mov_text with-subs.mp4
# Извлечь аудиодорожку
ffmpeg -i video.mp4 -vn -acodec copy audio.m4a
# Добавить фоновую музыку (уменьшить громкость оригинала)
ffmpeg -i video.mp4 -i music.mp3 \
-filter_complex "[0:a]volume=1.0[orig];[1:a]volume=0.3[bg];[orig][bg]amix=inputs=2" \
-c:v copy output.mp4YouTube Pipeline: от записи до публикации
#!/usr/bin/env bash
# youtube-pipeline.sh — полный pipeline от raw видео до YouTube
set -euo pipefail
INPUT_FILE="$1"
VIDEO_TITLE="$2"
OUTPUT_DIR="./youtube-ready"
mkdir -p "$OUTPUT_DIR"
echo "🎬 Обрабатываю: $INPUT_FILE"
# Шаг 1: Транскрибация аудио через Whisper
# API принимает файлы до 25 МБ, поэтому сначала извлекаем лёгкую аудиодорожку
# (для очень длинных записей режь аудио на части)
echo "📝 Транскрибирую..."
ffmpeg -i "$INPUT_FILE" -vn -ac 1 -ar 16000 -b:a 48k "$OUTPUT_DIR/audio.mp3" -y -loglevel error
# whisper-1 умеет отдавать готовые субтитры (srt); для обычного текста OpenAI рекомендует более новые модели
curl -s -X POST "https://api.openai.com/v1/audio/transcriptions" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F file="@$OUTPUT_DIR/audio.mp3" \
-F model="whisper-1" \
-F language="ru" \
-F response_format="srt" \
--output "$OUTPUT_DIR/subtitles.srt"
# Шаг 2: Оптимизация для YouTube через Claude
echo "🤖 Генерирую метаданные..."
DESCRIPTION=$(cat "$OUTPUT_DIR/subtitles.srt" | claude -p "
На основе этой транскрибации напиши:
1. Описание для YouTube (300-500 слов, с таймкодами)
2. 15-20 хэштегов для нашей ниши
3. Теги через запятую (20-30 тегов)
Тема видео: $VIDEO_TITLE
")
# Шаг 3: Конвертация в YouTube-оптимальный формат
echo "📹 Конвертирую видео..."
ffmpeg -i "$INPUT_FILE" \
-c:v libx264 -preset slow -crf 18 \
-c:a aac -b:a 320k \
-vf "scale=1920:1080" \
"$OUTPUT_DIR/${VIDEO_TITLE// /_}.mp4" \
-y
# Шаг 4: Сжимаем thumbnail из первого кадра + середины
ffmpeg -i "$INPUT_FILE" -ss 00:00:05 -vframes 1 "$OUTPUT_DIR/thumbnail-start.jpg"
ffmpeg -i "$INPUT_FILE" -ss $(ffprobe -v error -show_entries format=duration -of csv=p=0 "$INPUT_FILE" | awk '{print int($1/2)}') \
-vframes 1 "$OUTPUT_DIR/thumbnail-middle.jpg"
# Шаг 5: Сохраняем описание
echo "$DESCRIPTION" > "$OUTPUT_DIR/description.txt"
echo "✅ Готово! Файлы в $OUTPUT_DIR/"
echo "Видео: ${VIDEO_TITLE// /_}.mp4"
echo "Субтитры: subtitles.srt"
echo "Описание: description.txt"
echo "Миниатюры: thumbnail-start.jpg, thumbnail-middle.jpg"DaVinci Resolve MCP: профессиональный монтаж через Claude
DaVinci Resolve — профессиональный видеоредактор (бесплатная версия очень мощная). Для него есть MCP сервер, который позволяет управлять редактором через Claude Code.
Установка MCP (на октябрь 2026):
# Быстрый старт через npm-лаунчер
npx davinci-resolve-mcp setup
# Или из исходников (нужен Python 3.10+)
git clone https://github.com/samuelgursky/davinci-resolve-mcp.git
cd davinci-resolve-mcp
python install.pyУстановщик сам добавляет нужные записи в конфиг MCP-клиента. Требуется DaVinci Resolve версии 18.5 или новее. Внешнее управление через официальный Scripting API полностью работает в версии Studio; в бесплатной версии внешние скрипты ограничены, и доступ идёт через меню Workspace → Scripts внутри Resolve (условия смотри в README репозитория).
Что умеет DaVinci Resolve MCP:
- Создание новых проектов и таймлайнов
- Импорт клипов из медиа пула
- Добавление клипов на таймлайн
- Применение цветокоррекции (LUT, Primary)
- Настройка аудио (громкость, шумодав)
- Рендеринг в нужный формат
- Управление маркерами и cut points
# Пример работы с DaVinci Resolve через Claude
# После подключения MCP, Claude может выполнять:
"""
Создай новый проект с названием "YouTube_EP15"
Импортируй все mp4 файлы из папки ~/raw-footage/
Добавь их на таймлайн в алфавитном порядке
Примени Rec.709 цветовое пространство
Уменьши громкость до -12 LUFS
Зарендери в H.264 1080p для YouTube
"""Важно: DaVinci Resolve MCP работает через Lua/Python API (эй-пи-ай — интерфейс программирования) Resolve. DaVinci Resolve должен быть запущен на той же машине.
Remotion: программное создание видео
Remotion — библиотека для создания видео через React. Написал JSX компонент → получил MP4. У Remotion есть Agent Skills и плагины для работы с coding-агентами. Лицензия на октябрь 2026: бесплатно для частных лиц и команд до 3 человек, для компаний от 4 человек нужна платная лицензия (условия на remotion.dev).
Установка:
npx create-video@latest
cd my-video
npm start # Открывает превью в браузереПростой пример — анимированный заголовок:
// src/Root.tsx
import { Composition } from 'remotion';
import { TitleCard } from './TitleCard';
export const RemotionRoot = () => {
return (
<Composition
id="TitleCard"
component={TitleCard}
durationInFrames={150} // 5 секунд при 30fps
fps={30}
width={1920}
height={1080}
defaultProps={{
title: "Как работают AI-агенты",
subtitle: "Курс по Claude Code",
}}
/>
);
};// src/TitleCard.tsx
import { AbsoluteFill, spring, useCurrentFrame, useVideoConfig, interpolate } from 'remotion';
interface Props {
title: string;
subtitle: string;
}
export const TitleCard = ({ title, subtitle }: Props) => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
// Анимация появления (spring — физичный bounce)
const titleOpacity = spring({
frame,
fps,
config: { damping: 200 },
});
// Слайд снизу вверх
const titleY = interpolate(frame, [0, 20], [50, 0], {
extrapolateRight: 'clamp',
});
const subtitleOpacity = spring({
frame: frame - 15, // Запаздывает на 0.5 сек
fps,
config: { damping: 200 },
});
return (
<AbsoluteFill
style={{
background: 'linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%)',
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center',
}}
>
<h1
style={{
color: 'white',
fontSize: 80,
fontWeight: 'bold',
opacity: titleOpacity,
transform: `translateY(${titleY}px)`,
textAlign: 'center',
}}
>
{title}
</h1>
<p
style={{
color: '#64b5f6',
fontSize: 40,
opacity: subtitleOpacity,
marginTop: 20,
}}
>
{subtitle}
</p>
</AbsoluteFill>
);
};Рендеринг в MP4:
# Рендер одного видео
npx remotion render TitleCard output.mp4
# Рендер с параметрами (для динамического контента)
npx remotion render TitleCard output.mp4 \
--props='{"title":"Следующая тема","subtitle":"Финальный модуль"}'
# Параллельный рендер (быстрее)
npx remotion render TitleCard output.mp4 --concurrency=4Batch-обработка: 100 видео за раз
#!/usr/bin/env bash
# batch-process.sh — массовая обработка видеофайлов
INPUT_DIR="./raw"
OUTPUT_DIR="./processed"
mkdir -p "$OUTPUT_DIR"
# Счётчик
TOTAL=$(find "$INPUT_DIR" -name "*.mp4" | wc -l)
CURRENT=0
find "$INPUT_DIR" -name "*.mp4" | while read -r file; do
CURRENT=$((CURRENT + 1))
FILENAME=$(basename "$file" .mp4)
echo "[$CURRENT/$TOTAL] Обрабатываю: $FILENAME"
# Конвертируем для социальных сетей (несколько форматов)
# YouTube (16:9, 1080p)
ffmpeg -i "$file" \
-c:v libx264 -preset fast -crf 22 \
-c:a aac -b:a 192k \
-vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080" \
"$OUTPUT_DIR/${FILENAME}_youtube.mp4" \
-y -loglevel error
# Instagram Reels/TikTok (9:16, 1080x1920)
ffmpeg -i "$file" \
-c:v libx264 -preset fast -crf 22 \
-c:a aac -b:a 192k \
-vf "scale=1080:1920:force_original_aspect_ratio=increase,crop=1080:1920" \
"$OUTPUT_DIR/${FILENAME}_vertical.mp4" \
-y -loglevel error
# Thumbnail (кадр на 5-й секунде)
ffmpeg -i "$file" \
-ss 5 -vframes 1 \
-vf "scale=1280:720" \
"$OUTPUT_DIR/${FILENAME}_thumb.jpg" \
-y -loglevel error
echo " ✅ Готово: YouTube + Vertical + Thumbnail"
done
echo "✅ Batch обработка завершена: $TOTAL видео"Claude Code для написания FFmpeg команд
Самый простой workflow — просто просить Claude написать нужную команду:
Мне нужно: - Взять video.mp4 (4 часа, 4K) - Вырезать кусок с 01:15:30 по 01:45:00 - Уменьшить до 1080p - Добавить субтитры из subs.srt - Сохранить в clip.mp4 Напиши FFmpeg команду.
Claude Code ответит точной командой с объяснением каждого флага.
Практика
- Установи FFmpeg:
brew install ffmpeg - Возьми любое видео → попроси Claude Code написать команду для конвертации в 1080p YouTube формат
- Создай скрипт который нарезает видео на минутные клипы
- Установи Remotion:
npx create-video@latest→ создай animated title card - (продвинуто) Установи DaVinci Resolve + DaVinci Resolve MCP, попробуй управление через Claude
Инструменты и ресурсы
- FFmpeg — официальный сайт, документация всех флагов
- DaVinci Resolve MCP — GitHub репозиторий (инструкция по установке и ограничения бесплатной версии Resolve)
- DaVinci Resolve — скачать бесплатно
- Remotion — программное создание видео через React; лицензия: remotion.dev/docs/license
Ключевые выводы
FFmpeg + Claude Code = командный монтаж. Не знаешь флаги — Claude знает. Говоришь что нужно — получаешь готовую команду.
Remotion = программное видео. Анимированные презентации, данные в движении, брендированный контент — без навыков моушн-дизайна, через React.
DaVinci Resolve MCP для тех кто уже использует Resolve. Claude управляет профессиональным редактором через MCP — цветокоррекция, монтаж, рендер через текстовые команды.
Следующий урок
→ Алгоритмический трейдинг с Claude Code — Alpaca MCP и управление рисками
Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс