Библиотека · Студия контента: дизайн, озвучка, видео, соцсети

Видеомонтаж через Claude Code — FFmpeg, DaVinci Resolve MCP, Remotion

Строитель65 минОбновлено: октябрь 2026
53 из 105 в библиотеке

Время: ~25 мин теории + 40 мин практики


Суть урока

Монтаж видео без монтажёра — звучит как фантастика. Но Claude Code умеет управлять FFmpeg (эф-эф-эм-пег — инструмент для работы с видео и аудио) командами, работать с DaVinci Resolve через MCP (эм-си-пи — Model Context Protocol), генерировать программные видео через Remotion. Для YouTube-канала, рекламных роликов, обучающих материалов — это меняет весь производственный процесс.

🎨 Образ: без Claude Code — монтаж как ручная сборка мебели по инструкции IKEA. С Claude Code и FFmpeg — как 3D-принтер: ты говоришь что хочешь, он делает. Без самостоятельной сборки.


Ключевые концепции

  • FFmpeg — командный инструмент для видео/аудио (бесплатный, мощный, везде)
  • DaVinci Resolve MCP — управление профессиональным редактором через Claude
  • Remotion — программное создание видео через React/JavaScript
  • Pipe-based монтаж — последовательная обработка через команды (пайплайн — цепочка шагов)
  • Batch processing — массовая обработка видеофайлов (батч-обработка)

Теория

FFmpeg + Claude: автоматический монтаж

FFmpeg — самый мощный бесплатный инструмент для видео. Проблема: тысячи флагов которые невозможно запомнить. Claude Code знает их все.

🎨 Образ: FFmpeg — как пульт управления от атомной электростанции. Тысячи кнопок, каждая важна. Claude Code — как опытный оператор, который знает что нажать. Ты говоришь результат — он нажимает кнопки.

Установка FFmpeg:

bash
# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt install ffmpeg

# Проверка
ffmpeg -version

Базовые операции (проси Claude Code):

bash
# Конвертация форматов
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.mp4

YouTube Pipeline: от записи до публикации

🎨 Образ: раньше YouTube видео — как ручная пицца. Каждый шаг руками: тесто, соус, начинка, духовка. Claude Code + FFmpeg — как пиццерия с конвейером. Положил тесто — получил готовую пиццу на выходе.

bash
#!/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.

🎨 Образ: DaVinci Resolve MCP — как голосовое управление профессиональной студией монтажа. Раньше нужен был монтажёр знающий тысячи функций. Теперь ты говоришь "добавь цветокоррекцию, убери фоновый шум, добавь intro" — Claude переводит это в действия в Resolve.

Установка MCP (на октябрь 2026):

bash
# Быстрый старт через 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
python
# Пример работы с 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).

🎨 Образ: Remotion — как анимационная студия, где дизайнер описывает анимацию кодом. Не "нарисуй стрелку влево" а <Arrow direction="left" duration={30} />. Это программирование видео.

Установка:

bash
npx create-video@latest
cd my-video
npm start  # Открывает превью в браузере

Простой пример — анимированный заголовок:

tsx
// 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",
      }}
    />
  );
};
tsx
// 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:

bash
# Рендер одного видео
npx remotion render TitleCard output.mp4

# Рендер с параметрами (для динамического контента)
npx remotion render TitleCard output.mp4 \
  --props='{"title":"Следующая тема","subtitle":"Финальный модуль"}'

# Параллельный рендер (быстрее)
npx remotion render TitleCard output.mp4 --concurrency=4

Batch-обработка: 100 видео за раз

🎨 Образ: batch-обработка — как конвейер на заводе. Не "обработай одно видео", а "поставь 100 видео в очередь и обработай все пока я сплю".

bash
#!/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 ответит точной командой с объяснением каждого флага.


Практика

  1. Установи FFmpeg: brew install ffmpeg
  2. Возьми любое видео → попроси Claude Code написать команду для конвертации в 1080p YouTube формат
  3. Создай скрипт который нарезает видео на минутные клипы
  4. Установи Remotion: npx create-video@latest → создай animated title card
  5. (продвинуто) Установи 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 и управление рисками

Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс