| name | golova-ekran |
| description | Автомонтаж говорящей головы с записью экрана. Синхронизирует телефон и скринкаст по звуку, режет тишину по амплитуде, находит повторы и оговорки посегментной расшифровкой, собирает кадр (экран + голова), рисует инфографику, ставит вставки из своих видео, выравнивает громкость и делает обложку. Всё локально, без подписок и облаков. Использовать, когда просят смонтировать урок, разбор, подкаст или говорящую голову, убрать паузы и тишину, вырезать оговорки и фальстарты, собрать композит «экран + лицо», добавить инфографику в ролик. Триггеры: «смонтируй ролик», «убери паузы», «нарежь тишину», «автомонтаж», «голова и экран», «убери оговорки», «собери урок». |
Автомонтаж «голова + экран»
Ты монтируешь говорящую голову. На входе — сырые дубли, на выходе мастер и обложка.
Всё считают локальные скрипты (ffmpeg + python), нейросеть нужна ровно в двух местах:
расшифровать сегменты и решить, что из найденного резать.
Скрипты лежат в scripts/ рядом с этим файлом. Запускать только через montage.py.
Железные правила
- Тишину ищем по амплитуде, не по расшифровке. Whisper врёт про паузы: показывает
разрыв там, где его нет, и наоборот.
- Проход по повторам и оговоркам делается СРАЗУ после резки тишины и ДО раскладок,
вставок и любой сборки кадра. Если чистить речь потом, каждая вырезанная фраза
сдвигает всю карту таймкодов, и работу приходится переделывать.
- Список того, что режешь, показывай человеку до резки — дословно, с таймкодами
и обеими версиями фразы. Исключение: человек явно сказал «режь сам, не показывай».
- Ничего не выдумывай в цифрах. Сдвиг, длительности, громкость — только из вывода
скриптов. Если совпадение при синхронизации слабое, скажи об этом, а не помалкивай.
- Звук берём с дорожки головы (обычно телефон): микрофон там чище, чем у захвата экрана.
Порядок работы
0. Проверить машину
python3 scripts/montage.py check
Чего-то нет — скажи человеку одной строкой, что поставить, и не начинай.
1. Разобраться в материале
python3 scripts/montage.py scan --dir "путь к папке"
Печатает все видео: размер кадра, fps, длину, есть ли звук. Пары подбирай по длине:
у головы и экрана она отличается на секунды. Голова — та дорожка, где звук чище.
Спроси человека, если непонятно: какие файлы — один дубль, а какие разные; о чём ролик;
куда он пойдёт (YouTube, лендинг, курс).
2. Разведка и черновик конфига
python3 scripts/montage.py probe --pair ГОЛОВА ЭКРАН --pair ГОЛОВА2 ЭКРАН2
Считает сдвиг экрана в трёх точках, ищет окна показа с экрана, рисует контактные листы
и пишет черновик project.py.
- Совпадение ≥ 0.6 — можно верить. Меньше — скажи человеку и предложи проверить глазами.
- Расхождение между началом и концом > 40 мс — у дорожек разный ход часов, одной
константой не обойтись.
- Окна показа — самое важное, что находит probe. Подробности в
references/02-cutting.md, читать обязательно.
Посмотри контактные листы work/probe/*_screen.jpg своими глазами и впиши в crop
рабочее окно — без Finder-а, чужих панелей и вкладок. Кроп только с чётными сторонами.
3. Резка тишины
python3 scripts/montage.py segments
4. Расшифровка каждого сегмента ОТДЕЛЬНЫМ клипом
python3 scripts/montage.py transcribe
Нужен поднятый whisper-server — скрипт скажет команду, если его нет.
Дальше прочитай work/transcript.txt целиком и заполни в project.py:
DROP — номера мусора и мычаний. Огрызки без речи скрипт пометит сам по громкости,
тебе остаются оборванные заходы («Я говорю о…», голое «и», висящее «Поэтому…»).
TRIM — адресные вырезы по таймкодам исходника, когда повтор сидит внутри длинного
сегмента и номером его не выкинуть.
BW — одна оговорка, которую ОСТАВЛЯЕМ нарочно, если человек хочет живой пример:
кадр обесцветится и получит плашку.
MODES — раскладка по времени исходника каждого дубля.
PANELS, INSERTS, COVER — по желанию.
Как отличать настоящий фальстарт от разрезанного слова — references/02-cutting.md.
Оттуда же отрезвляющая цифра: из 8 автоматических кандидатов настоящим был один.
5. Собрать
python3 scripts/montage.py design # маски, тени, инфографика
python3 scripts/montage.py inserts # клипы вставок (если есть)
python3 scripts/montage.py cut # резка обеих дорожек кадр в кадр
python3 scripts/montage.py zoom # наезд за курсором на записи экрана
python3 scripts/montage.py build # сборка кадра
python3 scripts/montage.py final # звук и мастер
python3 scripts/montage.py cover # обложка, если задан COVER
zoom печатает каждый найденный наезд: время, до какого z доехали, куда смотрит
центр. Прочитай этот список — он читается за десять секунд и сразу показывает,
если камера уехала не туда. Подробности и настройки — references/06-zoom.md.
Или одной командой: python3 scripts/montage.py all.
Правишь один блок — montage.py build 5: пересоберётся только пятый, остальные возьмутся
готовыми. Это секунды против минут.
6. Проверить глазами, а не на веру
- Вытащи 8–12 кадров из мастера по всей длине и посмотри их. Раскладки, подписи,
ничего ли не наехало.
- Где стоит наезд — вытащи по кадру на его начало и конец. Ищешь одно: не уехал ли
за рамку тот кусок экрана, ради которого сцену и снимали. Уехал — гаси блок
через
ZOOM['skip'].
- Проверь, что
final показал расхождение картинки и звука меньше 50 мс.
- Если в кадре чужие лица, имена, домены или переписка — спроси человека, замазывать ли,
и не выкладывай, пока не ответил.
- Отчитайся цифрами: было/стало, сколько сегментов, что вырезано, громкость мастера.
Раскладки
| Режим | Что в кадре | Когда |
|---|
A | экран карточкой слева + голова колонкой справа | рабочая лошадка, 60–70 % ролика |
B | экран крупно + голова маленькой карточкой | когда на экране надо читать мелкое |
D | инфографика на месте экрана + та же голова | хук, финал, объяснения без картинки |
C | голова во весь кадр на своей размытой копии | если записи экрана нет вовсе |
Не меняй раскладку чаще, чем раз в 15–20 секунд: зритель начнёт следить за монтажом,
а не за смыслом. За читаемость экрана внутри раскладки отвечает наезд, а не переход
в B: в A коробка мелкая, и наезд там нужнее и сильнее (потолок 1,62 против 1,32).
Справочники
references/01-geometry.md — числа кадра, кропы, как это считается
references/02-cutting.md — тишина, окна показа с экрана, повторы и фальстарты
references/03-audio.md — громкость, лимитер, синхронизация
references/04-design.md — инфографика, вставки, обложка
references/05-troubleshooting.md — что делать, когда не сходится
references/06-zoom.md — наезд за курсором: как ищется действие, потолки, настройки
Чего скилл не делает
Не чистит мычания «э / эм / нуу» — для этого нужен отдельный проход по пословному
транскрипту. Не делает динамичный клиповый монтаж с motion-графикой: это спокойный
монтаж обучающего ролика. Не заменяет человека в решении, что резать.