Монтаж видео кодом: пайплайн из Deepgram, FFmpeg и Remotion

16 мин. чтения
BYBIT EARN
Крипта лежит?
Bybit Earn: процент капает каждый день
Открыть Earn

Коротко (TL;DR)

Монтаж видео можно вести не мышкой на таймлайне, а кодом: Claude Code (на моделях уровня Claude Sonnet 5) выступает оркестратором пайплайна, где Deepgram делает транскрипт, FFmpeg режет и склеивает, а Remotion собирает титры и графику. Ключ ко всему — работать не с кадрами, а с текстом. Это не «ИИ смонтирует за вас», а инженерный подход к повторяемому монтажу: подкасты, обучающие ролики, нарезки — там, где важна воспроизводимость, а не художественный замысел.

Что важно понять сразу:

  • Архитектура «текст-первый». Агент не смотрит видео покадрово (это неподъёмно по токенам), а работает с транскриптом и таймкодами. На них строятся все решения — что вырезать, где титр, как склеить.
  • Три слоя, три инструмента. Deepgram — распознавание речи с таймкодами и разделением спикеров. FFmpeg — нарезка, склейка, кодирование. Remotion — программная генерация видео на React (титры, композиции).
  • Себестоимость считаема. Deepgram и Remotion имеют официальные тарифы; разберём цифры на одну дату. FFmpeg бесплатен, но у него есть юридические нюансы, о которых молчат туториалы.
  • Два системных риска, которые никто не сводит вместе: лицензионный порог Remotion (бесплатно только для команд до 3 человек) и патентный вопрос H.264 при коммерческом использовании FFmpeg.

Уровень — продвинутый: нужен комфорт с терминалом, Node.js и базовым FFmpeg. Что понадобится: Claude Code, ключ Deepgram, установленные FFmpeg и Node.js 18+.

Суть: почему монтаж идёт через текст, а не через кадры

Главная идея, без которой пайплайн не имеет смысла. Видео для языковой модели — это стена данных: час видео при 30 кадрах в секунду — это 108 000 кадров. Если скармливать агенту кадры, объём мгновенно уходит в сотни миллионов токенов — за один проход это невозможно. А текстовый транскрипт того же часа с таймкодами занимает порядка десятка килобайт.

BYBIT COPY TRADINGКопитрейдинг на BybitОткрытая статистика трейдеров, старт с $10, отключение в один клик.Выбрать трейдера

Отсюда — программный видеомонтаж без таймлайна строится на транскрипте как первичной поверхности. Агент видит не картинку, а текст: «на 02:14 начинается длинная пауза», «здесь спикер оговорился и повторил фразу», «с 05:30 по 06:10 — ответ на вопрос». Все монтажные решения принимаются на уровне текста и таймкодов, а FFmpeg уже исполняет их над реальными пикселями. Это тот же приём, что и в браузерных агентах, которые читают структуру страницы, а не смотрят на скриншот, — работать с текстовым представлением, а не с сырыми данными.

Слой 1 — Deepgram: транскрипт, таймкоды, спикеры

Первый шаг — превратить речь в текст с привязкой ко времени. Deepgram отдаёт транскрипт с таймкодами на уровне слов и умеет диаризацию — разделение по спикерам (кто когда говорит). Это и есть сырьё для всех дальнейших решений: по таймкодам слов агент точно знает, где резать, а по спикерам — где чей фрагмент.

Диаризация особенно важна для интервью и подкастов с несколькими участниками: агент может собрать нарезку реплик одного спикера, подписать каждого своим титром или вырезать перебивки. Без разметки спикеров всё это пришлось бы размечать вручную. Параметр диаризации в API можно закрепить на конкретной версии модели, чтобы результат был воспроизводим от прогона к прогону, а не «плавал» при обновлении сервиса.

Экономика (на 12 июля 2026, по официальному прайсингу): потоковое распознавание моделью Nova-3 — около $0,29 за час моноязычного аудио и $0,35 за час мультиязычного; для пакетной (batch/pre-recorded) обработки той же модели ставка выше — около $0,46/час, так что сверяйте актуальную цену под свой режим и модель. На старте есть $200 бесплатного кредита — по цене Nova это примерно 43 000 минут (более 700 часов) транскрипции, без срока сгорания. Для пет-проекта и обучения этого хватает с огромным запасом.

Важная оговорка про точность. Deepgram публикует показатели ошибки распознавания (WER около 5,26% на записи и 6,84% в реальном времени, по данным вендора на 12 июля 2026), но это внутренние бенчмарки самого производителя — независимых замеров по идентичной методике нет. Относитесь к ним как к заявлению производителя, а не к нейтральному факту: на вашем аудио (акцент, шум, термины) результат может отличаться.

Слой 2 — FFmpeg: вырезать паузы и склеить без швов

Дальше агент превращает решения из транскрипта в реальные операции над видео через FFmpeg. Две задачи, которые встречаются в любом таком пайплайне.

Автоматически вырезать паузы. По таймкодам агент строит список фрагментов «оставить» и командует FFmpeg вырезать тишину и оговорки. Тонкость, к которой независимо пришли несколько проектов: на каждом стыке сегментов нужен короткий аудио-фейд, иначе на склейках слышны щелчки. Конкретно — фильтр вида afade=t=in:st=0:d=0.03 и такой же на выход: 30-миллисекундные фейды на каждой границе убирают артефакты.

Bybit · Rewards Hubдо $30,100Внеси депозит, торгуй 14 дней — и забери награды в Rewards HubЗабрать бонус →

Склеить без перекодирования. Наивная склейка через полное перекодирование медленная и теряет качество. Правильный приём — конкатенация на уровне потока (transport stream, -c copy), без пережатия. Разница на практике огромна: в одном задокументированном пайплайне пересборка главы упала с 15+ минут до 30 секунд после перехода на потоковую склейку вместо полного перекодирования. Для итеративной работы (а агент итеративен) это критично.

Слой 3 — Remotion: титры и графика на React

Там, где нужны не просто нарезки, а титры, субтитры, интро и моушн-графика, вступает Remotion — создание видео кодом: вы описываете кадры React-компонентами, а Remotion рендерит их в видео. Для агента это идеально — он и так пишет код, а значит, может генерировать титры и анимации как обычные компоненты, подставляя тексты из транскрипта.

Отдельная частая задача — субтитры. Их можно выжигать двумя путями: простые статичные — прямо в FFmpeg (фильтр subtitles), а стилизованные, анимированные, с подсветкой активного слова — в Remotion, где каждый субтитр это компонент, которому агент передаёт текст и тайминг из транскрипта Deepgram. Второй путь дороже по коду, но даёт тот самый «залипательный» вид коротких роликов, где слова появляются в такт речи. Выбор — по задаче: обучающему видео хватит FFmpeg-субтитров, а вертикальной нарезке для соцсетей лучше подходит Remotion.

Отдельно приятно, что Remotion официально документирует запуск через Claude Code (а также Codex и OpenCode): создаёте проект командой npx create-video --yes --blank my-video, открываете в соседнем терминале claude — и дальше просите агента собрать нужные композиции. По данным одного стороннего репозитория-куратора, демо-запуск набрал 6 млн+ просмотров и 25 000+ установок за первую неделю (январь 2026) — цифры не с официального сайта, поэтому подаю их как ориентир популярности, а не как проверенный факт.

Сборка пошагово: жёсткие правила и творческая свобода

Ключевой архитектурный приём при сборке любого агентного пайплайна — разделить «жёсткие правила» и «творческую свободу». Что не обсуждается (формат вывода, папки, кодеки, длительность фейдов, лимиты) — фиксируем жёстко в инструкции. Что можно отдать агенту (какие именно паузы считать лишними, как формулировать титр) — оставляем ему. Без этого разделения агент либо своевольничает там, где нельзя, либо тупит там, где мог бы решить сам.

Практический критерий подключения инструментов: CLI с синхронным доступом к файлам агент дёргает локально; API с сессиями (как Deepgram) удобнее подключать через MCP. Это избавляет агента от выдумывания параметров и даёт ему сверяться с живой документацией — тот же принцип, что снимает возню с интеграциями в других агентных сценариях.

И обязательный элемент — цикл самопроверки с жёстким лимитом итераций. Агент рендерит черновик, проверяет результат (длительность, наличие титров, отсутствие щелчков) и правит — но не бесконечно: 3 попытки, после чего честный отчёт «вот что не сошлось». Без лимита агент может крутиться в цикле, сжигая токены и время.

Себестоимость пайплайна

Считаем на одну дату (12 июля 2026), чтобы понимать порядок цифр:

КомпонентМодель оплатыПорядок цены
Deepgram (транскрипт)за час аудио~$0,29–0,46/час; старт — $200 кредита (~700 ч)
FFmpeg (нарезка/склейка)open-source$0 за софт (см. риски по патентам)
Remotion (рендер/титры)по лицензии/тарифубесплатно ≤3 человек; дальше от $25/мес за место

Ориентир: для соло-разработчика на обучении и пет-проектах реальные расходы держатся около стоимости транскрипции (центы за ролик), пока команда мала и проект некоммерческий. Как только это становится продуктом или командой 4+, включаются лицензии — см. ниже.

Где ломается

  • Слишком «умный» агент без жёстких правил. Отдаёте ему кодеки и формат вывода на усмотрение — получаете несовместимые файлы. Лечится разделением hard rules / свободы.
  • Бесконечный self-eval. Без лимита итераций агент правит вечно. Лечится жёстким «3 попытки → отчёт».
  • Жёстко закодированный CLI вместо диалога. Есть задокументированный кейс, где диалоговый подход с Claude Code обыграл заранее написанный жёсткий CLI-инструмент: под каждое видео нужны разные решения, и негибкий скрипт ломался там, где агент в диалоге справлялся. Вывод, экономящий недели: не пытайтесь заранее закодировать все случаи — дайте агенту рамки и свободу внутри них.
  • Щелчки на склейках. Забыли аудио-фейды на стыках — слышны артефакты. Лечится 30-мс afade на каждой границе.
  • Self-eval не ловит смысловые ошибки. Цикл самопроверки проверяет техническое: длительность, наличие титров, чистые склейки. Но он не заметит, что вырезана не та реплика или оборвана мысль — смысловую осмысленность монтажа проверяет человек, а не агент. Не полагайтесь на «зелёный» отчёт как на гарантию хорошего ролика.

Риски: лицензии и патенты (обязательно)

Это часть, которую хайповые туториалы пропускают, а она YMYL — касается денег и юридической ответственности.

  • Лицензия Remotion. Free License покрывает физлиц и команды до 3 человек. Четыре и больше — нужна платная Company License (тарифы: Automators — $0,01 за рендер при минимуме $100/мес; Creators — $25/мес за место; Enterprise — от $500/мес, на 11 июля 2026). Для соло — бесплатно; для агентства — считайте заранее.
  • Патент H.264 и FFmpeg. FFmpeg по умолчанию под LGPL v2.1+, но при сборке с --enable-gpl (например, с кодировщиком libx264) весь бинарник подпадает под GPL v2+. Отдельно и важнее: кодек H.264 покрыт патентным пулом (Via Licensing Alliance), и свободная лицензия FFmpeg НЕ снимает патентную обязанность при коммерческом распространении вашего продукта на его основе. Для личного локального использования это не проблема; для SaaS/приложения, которое вы продаёте, — вопрос к юристу.
  • Бенчмарки Deepgram — от вендора. Точность WER заявлена самим производителем; на вашем материале проверяйте фактически, не закладывайте маркетинговую цифру в критичные решения.
  • Приватность аудио. Транскрипция уходит во внешний сервис (Deepgram). Для чувствительного контента это надо учитывать — что именно вы отправляете и куда.

YMYL-вывод: как пет-проект и обучение — пайплайн дешёвый и полностью рабочий. Как коммерческий продукт — сначала закройте лицензию Remotion и патентный вопрос H.264, потом масштабируйте.

Как выглядит один проход целиком

Соберём слои в сквозной пример — обработка часового подкаста в чистый ролик с субтитрами и титрами.

  1. Транскрипт. Отдаёте аудио в Deepgram, получаете JSON с текстом, таймкодами на уровне слов и метками спикеров. Это единственный «тяжёлый» по деньгам шаг — и всё равно центы.
  2. Решения на тексте. Просите Claude Code пройти по транскрипту и составить список фрагментов: вырезать паузы длиннее секунды, убрать явные оговорки и повторы, отметить, где вставить титр с темой блока. Агент работает с текстом — быстро и дёшево.
  3. Нарезка. По списку агент командует FFmpeg вырезать лишнее, ставя 30-мс аудио-фейды на каждом стыке, чтобы не было щелчков. Здесь важно жёстко задать формат и кодеки — это «hard rule», не отдаём на усмотрение.
  4. Склейка. Фрагменты собираются потоковой конкатенацией (-c copy), без перекодирования — секунды вместо минут. Это позволяет переделывать нарезку сколько угодно раз.
  5. Титры и субтитры. Remotion-компоненты берут текст из того же транскрипта: субтитры генерируются автоматически по таймкодам, а титры блоков — по меткам, которые агент проставил на втором шаге.
  6. Самопроверка. Агент рендерит черновик и сверяет: длительность в пределах ожидаемой, титры на месте, склейки чистые. Не сошлось — до трёх попыток правок, потом отчёт вам.

На выходе — воспроизводимый ролик, собранный без единого движения на таймлайне. Поменяли правило «резать паузы от 0,8 секунды» — весь пайплайн пересобирается той же командой. Именно эта воспроизводимость и отличает ии агента для монтажа видео от ручной работы в редакторе: не быстрее один раз, а одинаково каждый раз.

FAQ

Это заменит видеоредактор вроде Premiere? Нет, и не должно. Программный монтаж силён на повторяемых задачах (подкасты, обучалки, нарезки по шаблону), где важна воспроизводимость. Художественный монтаж с тонкой ручной работой остаётся за таймлайном.

Обязательно ли использовать все три инструмента? Нет. Нужны только субтитры — хватит Deepgram + FFmpeg. Нужны красивые титры и графика — добавляете Remotion. Пайплайн модульный, берите слои под задачу.

Почему агент не «смотрит» видео сам? Потому что это неподъёмно по токенам: час видео — это ~108 000 кадров. Агент работает с транскриптом и таймкодами (десяток килобайт), а не с картинкой. Это и делает подход реалистичным.

Сколько это реально стоит для одного ролика? Для соло-разработчика — в основном стоимость транскрипции (центы за ролик на Deepgram), плюс бесплатные FFmpeg и Remotion, пока вы один. Реальные деньги начинаются с командной лицензии Remotion (4+ человек) и коммерческого масштаба.

Можно ли доверять заявленной точности распознавания? Заявленные Deepgram цифры WER — внутренние бенчмарки вендора без независимой проверки. На вашем аудио (шум, акцент, термины) результат может быть другим — тестируйте на своём материале.

С чего начать, если хочется попробовать? С одного слоя: возьмите короткий ролик, получите транскрипт в Deepgram, попросите Claude Code вырезать паузы через FFmpeg с фейдами на стыках. Убедитесь, что склейка без перекодирования быстрая, и только потом добавляйте Remotion. Так вы поймёте архитектуру на маленькой задаче, прежде чем строить полный пайплайн, — и сразу увидите, где агенту нужны жёсткие правила, а где он справляется сам.

Курс «Claude Code с нуля до продакшена» · модуль «Прикладные проекты». Полная программа и два маршрута обучения — на странице курса.

Предыдущий урок: БД и оплата: Supabase + Stripe

BYBIT · СПОТ И ФЬЮЧЕРСЫ
Крипта с нуля
Комиссия 0,1%, торги 24/7, старт с $10
Открыть счёт
Поделиться
Связаться:
Крипто- и data-аналитик, инженер-программист (факультет компьютерных наук ХНУРЭ). В IT с 2008 года: администрировал корпоративный мониторинг в «Vodafone Украина», семь лет разрабатывал и продвигал веб-проекты, пять лет руководил маркетингом на метриках — конверсия, CTR, ROI, LTV.Криптовалютными рынками занимаюсь с 2021 года: ончейн-метрики, токеномика, макроэкономические индикаторы. Разработал собственную data-driven модель анализа рынка на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математическая статистика и EDA; сбор и сверку данных автоматизирую AI-агентами.Принцип — «Don't trust, verify»: каждая цифра проверена по первоисточнику, ключевые — минимум по двум независимым; прогнозы — только сценарии с условиями. Тезис без данных не публикуется.