В референсе нет ни одного элемента, требующего видео-генерации — это плоский коллаж из статики + типографика + код-анимация. Ровно территория Remotion: каждый кадр — детерминированная функция от времени, правки точечные, стиль лочится в коде. Ниже — 34-секундный пилот, повторяющий 5 ключевых молекул референса: собран за одну сессию, 0 ₸ на генерации (public domain ассеты + SVG-карта из GeoJSON + один прогон rembg локально).
Структура: фото-морф в карту → карта-экспансия (3 волны завоеваний + бейджи + таймлайн) → chapter card → статуя-диалог (влёт с весом, баббл, красный маркер, музейная плашка) → толпа-инстансинг (40 фигур из 1 вырезки) → типографическая карточка RES·PVBLICA.




Arzamas «Древний Рим за 20 минут» · 21 мин · 20 094 713 просмотров · канал 1.67 млн подписчиков. Главное открытие разбора: «дорогая плавность» — это не сложные эффекты, а дисциплина системы. Весь ролик собран из ~9 повторяющихся сцен-паттернов и ~12 приёмов движения, с жёстким постоянным «хромом». Монтаж внутри сцены отсутствует — элементы наслаиваются по ритму дикторского текста.
Контактный лист 0:00–2:00: карта → титул → статуя-нарратор → карта с шагающими фигурками → мозаика (Ken Burns) → галерея монет.
Контактный лист 2:00–4:00: артефакт-зумы → chapter card → толпы патрициев/плебеев (инстансинг!) → типографическая карточка RES·PUBLICA → камень LEX → бабблы.
Лого канала (верх-лево) + таймлайн-лента истории внизу — прогресс по эпохам с бейджами дат. Зритель в любой момент знает «где мы во времени». Это удержание: лента = ощущение движения к финалу.
| Слой | Что в нём |
|---|---|
| 1 · Фон | карта (беж-суша / бледно-голубое море) · чёрный · полнокадровый артефакт (фреска, мозаика, барельеф, картина) с медленным Ken Burns |
| 2 · Акторы | вырезки статуй/скульптур как персонажи (пурпурная тога = император), толпы-инстансы, здания, монеты |
| 3 · Оверлеи | спич-бабблы, музейные плашки-подписи, красные маркер-стрелки/обводки/кресты, счётчики, линейки |
| 4 · Хром | лого + таймлайн с бейджами дат |
| Молекула | Что происходит | В пилоте |
|---|---|---|
| Карта-экспансия | территория заливается «органическими» волнами, города-точки, бейджи, фигурки/корабли ходят по карте | ✅ |
| Статуя-диалог | вырезка влетает, баббл, плашка, микро-движения марионетки | ✅ |
| Толпа-инстансинг | одна фигура размножается в ряды (легион, сенат, плебс), цветом кодируются группы | ✅ |
| Артефакт-зум | полнокадровый артефакт + Ken Burns + красный маркер «смотри сюда» | — (тривиально, тот же Ken Burns) |
| Типографическая карточка | RES·PUBLICA / LEX / SPQR — крупный смысловой текст-момент | ✅ |
| Инфографика-счёт | линейка-шкала рядом со статуей, счётчики титулов, галерея монет-портретов | частично (линейка в chapter card) |
| Комик-бит | фигура падает (убийство Цезаря), красный крест, шутка в баббле | — |
| Chapter card | чёрный кадр: медальон + номер части + заголовок + линейка эпох | ✅ |
| Фото-морф | живое фото ↔ карта через круговую маску | ✅ |
| Глагол | Реализация |
|---|---|
| fade / fade-up | interpolate(opacity) + сдвиг 10-20px, Easing.bezier(0.16,1,0.3,1) |
| slide-in «с весом» | прилёт из-за кадра, bezier(0.85,0,0.15,1) — уже залоченный моушн-язык модуля |
| pop (овершут) | bezier(0.34,1.56,0.64,1) для бабблов/бейджей |
| Ken Burns | scale+translate по statice, editorial bezier(0.45,0,0.55,1) |
| органическая заливка | SVG-эллипсы под feGaussianBlur + clipPath по контуру суши |
| круговая маска-морф | clip-path: circle(r px at x y), r: 2300→10 |
| crash-zoom | scale 1.16→1.0 + blur 7→0 за 0.7с |
| стаггер-инстансинг | map по рядам/колонкам, delay = f(ряд, |колонка−центр|), джиттер = детерминированный hash (не Math.random — сломает рендер) |
| draw-on | strokeDasharray/strokeDashoffset (линейки, стрелки, обводки) |
| puppet-микродвижение | синус-«дыхание» ±0.35°, наклон/подпрыг/падение через rotate с origin в ногах |
| типографический акцент | letter-spacing + масштаб 0.96→1 |
| hard cut → chapter card | смена Sequence без перехода — канон стиля: резкость между сценами, плавность внутри |
Твоя интуиция из брифа верна и теперь формализована: между сценарием и сборкой стоит режиссёрский слой с посекундной партитурой, из которой компилируется машиночитаемое ТЗ на каждый шот.
BIT-07 | 01:24.0–01:31.5 (7.5с) РЕПЛИКА: «Карфаген должен быть разрушен — повторял Катон в конце каждой речи» СЦЕНА: statue-dialogue (продолжение SHOT-05, чёрный фон) СОБЫТИЯ: +0.0с статуя Катона влетает справа (slide-in HEAVY, 1.0с) + SFX whoosh +1.6с [на слове «разрушен»] баббл-поп «Carthago delenda est!» + SFX pop +3.0с красная маркер-обводка жеста (draw-on 0.7с) + SFX scribble +5.2с плашка «Катон Старший, 234–149 до н.э.» (fade-up) ЗВУК: музыка -18dB c дакингом под голос ХРОМ: таймлайн 146 до н.э., прогресс 0.55
Ключевое правило: событие привязывается к слову озвучки, а не к абсолютной секунде (word-level alignment из VTT уже есть в монтаж-модуле). Перезаписали озвучку — тайминги пересчитались сами.
{
"shot": "SHOT-05", "molecule": "statue-dialogue", "duration_s": 7.5,
"chrome": { "timeline": { "progress": 0.55, "label": "146 до н.э." } },
"layers": [
{ "id": "cato", "asset": "cutouts/cato.png", "pos": [1160,150], "h": 800,
"enter": { "verb": "slide-in", "from": "right", "dur_s": 1.0, "ease": "HEAVY" },
"idle": "breathe" },
{ "id": "bubble1", "kind": "speech-bubble", "text": "Carthago delenda est!",
"enter": { "verb": "pop", "at_word": "разрушен" }, "sfx": "pop-soft" },
{ "id": "mark1", "kind": "red-circle", "target": [1090,235],
"enter": { "verb": "draw-on", "at_s": 3.0, "dur_s": 0.7 } }
]
}
Новый ролик = новые контракты + ассеты. Код молекул переиспользуется — это и есть завод, а не разовый монтаж. Правка «баббл на 0.4с раньше» = правка одного числа, ре-рендер одного шота.
VO (мастер-ритм, к нему цепляются события) → музыка (петля с дакингом, смена трека = смена главы) → SFX (pop, whoosh, scribble, штамп — одноразово собрать библиотеку CC0 с freesound). В референсе звук устроен именно так: игривая оркестровая петля + точечные акценты на событиях.
| Вопрос | Ответ |
|---|---|
| Лимит хронометража шота | Технического нет — Remotion рендерит композицию хоть на час. Рабочая единица 5–20 с: параллельный рендер + локальные правки. 20-минутный ролик = ~70-90 шотов. |
| «Раскадровка не типичная, а посекундная» | Да — это партитура (стадия 1). События по слоям, битам и словам. Классическая картинка-раскадровка становится побочным артефактом (стилл первого кадра шота). |
| Переходы | Канон стиля: резкие склейки между сценами, плавность внутри сцены. Спец-переходы — молекулы (фото-морф, chapter card). Библиотека @remotion/transitions есть, но злоупотреблять — путь в PowerPoint. |
| Почему не PowerPoint-дешёвка | Дисциплина: один набор easing-кривых с «весом» (никакого linear), события по слову озвучки, постоянный хром, идл-жизнь статики (дыхание), детерминированный джиттер. Всё это — код, значит лочится и не дрейфует. |
sandbox/yt-remotion/src/arzamas-pilot/ (7 файлов) · дизайн-док — sandbox/remotion-lab/PIPELINE-DESIGN.md · референс-разбор — sandbox/remotion-lab/reference/ (видео, 11 контактных листов, 4 моушн-разбора) · рендер — sandbox/yt-remotion/out/arzamas-pilot.mp4