← Все разборы

Монтаж видео нейросетью: как ИИ-агент чистит запись эфира

Коротко: запись эфира — это наполовину ожидание, «вы меня слышите?» и паузы, а на экране мелькают номер карты, почта и ключи. Наш бесплатный скилл /webinar для Claude Code и Codex делит запись на «чистые» куски и «мусор» по смыслу речи, находит на экране секреты и замазывает их, а склеивает итог из оригинала в полном качестве. Решения о том, что выкинуть, остаются за человеком. На первом живом эфире из 39 минут записи вышло 20 минут чистого видео.

Результат работы скилла — полный эфир на нашем YouTube-канале «Сергей Дроздов · ИИ и вайбкодинг». Там разборы ИИ-агентов, чат GPT и Codex на живых примерах.

Подписаться на YouTubeПодписаться в Telegram

Почему монтаж эфира нельзя отдать «вырезалке тишины»

Живой урок или вебинар — примерно половина содержания. Остальное: ожидание участников, проверка звука, переподключения, «тут я помолчу, потом вырежешь», разговор с оператором, три минуты тишины, пока что-то устанавливается.

Автоматическое удаление пауз здесь не помогает: оно выкидывает дыхание из хорошей речи и оставляет весь болтливый мусор. Мусор в эфире узнаётся по смыслу, а не по громкости. Поэтому разметку делает ИИ-агент, который читает расшифровку целиком, а не детектор тишины.

Вторая проблема хуже и в расшифровке её не видно: что на экране. Урок про оплату подписки показывает ввод номера карты. Урок на живом компьютере показывает почту, переписку и IP-адрес. Голос об этом молчит.

Как нейросеть монтирует запись: 6 шагов

  1. Расшифровка с таймингом каждого слова. Речь распознаётся в облаке (русская модель GigaAM), для 40 минут записи — около 2 минут.
  2. Лента и разметка. Скрипт собирает читаемую ленту: фразы с таймкодами и длинные паузы отдельными строками. Агент читает её целиком и размечает куски: «чистое» или «мусор», с заметкой, почему.
  3. Черновики на просмотр. Каждый кусок — отдельный лёгкий файл 001_ЧИСТ_вступление_00-18_01-00.mp4. Границы сами встают в паузы между словами, поэтому кусок не начинается посреди слова.
  4. Человек смотрит — сначала мусор (не выкинули ли полезное), потом чистое. Статус меняется переименованием файла в проводнике: ЧИСТ ↔ МУСОР. Никаких JSON и таблиц.
  5. Проверка экрана. Кадры каждого чистого куска одной картинкой и распознавание текста на кадре каждую секунду: номера карт, сроки, почты, IP, ключи и токены. Найденное превращается в готовые прямоугольники для замазки.
  6. Склейка из оригинала — в полном качестве, с замазкой, мягкими стыками звука и по желанию ускорением на 5–8 %: зритель этого не замечает, а ролик короче.

По желанию — седьмой шаг: писк слов в готовом ролике. Тон 1 кГц на громкости 0.035 закрывает слово и не режет уши (0.2 и 0.07 мы забраковали как громкие), видео при этом не перекодируется.

Цифры с первого живого эфира

ЧтоРезультат
Запись39 мин 27 с, 1920×1080, ноутбук i7-8565U
Расшифровка с таймингом слов2 195 слов за 1 мин 50 с
Речи в записи16,4 мин из 39,5
Разметка62 куска: 32 чистых (21,2 мин), 30 мусорных (18,3 мин)
Итог при ускорении на 6 %20 мин 03 с
Проверка склейкиповторная расшифровка итога: 97 % совпадения слов, ни одной фразы, обрезанной на стыке
Найдено на экране, в речи — ни слованомер карты со сроком и CVC, личная переписка, список чатов, почта автора, домашний IP

После ещё одного прохода вместе с автором и ускорения на 8 % опубликованный эфир занимает 18 минут — вот он:

Главное: расшифровка не видит экран

Это самый дорогой урок проекта. Три кадра на кусок ловят то, что висит на экране долго: открытый чат, почтовый ящик. Но терминал, который печатает ключи подписки, держит их на экране 2–3 секунды — и так три раза за минуту. Такие вспышки находит только распознавание текста на кадре каждую секунду.

Мы проверили это на своей же записи: на отрезке в 80 секунд незамазанная версия дала 4 находки — адрес сервера и ключ подписки, каждый мелькал по 2–3 секунды. Замазанная версия того же отрезка — 0 находок. На 80 секунд видео ушло 22 секунды.

Как замазать номер карты на видео

Обычное размытие (boxblur) на узком поле оставляет цифры читаемыми: его сила ограничена размером области. Надёжнее сжать область в 20 раз и растянуть обратно — от цифр остаётся цветное пятно при любом размере поля. Замазка ставится на весь кусок или только на нужные секунды.

Секрет на экране — повод замазать, а не вырезать: в уроке про оплату ввод карты и есть суть шага.

Грабли, на которые мы наступили

Как поставить скилл /webinar в Claude Code или Codex

  1. Скачайте код с GitHub и положите папку webinar:
    • Claude Code — в ~/.claude/skills/webinar/ (Windows: C:\Users\<имя>\.claude\skills\webinar\);
    • Codex — в ~/.agents/skills/webinar/ (Windows: C:\Users\<имя>\.agents\skills\webinar\). Папку именно копируйте: по ярлыку-ссылке Codex находит скиллы не всегда.
  2. Нужны Python 3.9+ и ffmpeg. Проверка: ffmpeg -version.
  3. Токен распознавания речи — в Telegram-боте @stereo_dictator_bot командой /app. Скопируйте .env.example в .env и вставьте токен.
  4. Перезапустите агента и попросите: «почисти запись эфира stream.mp4». В Codex скилл можно вызвать и явно — $webinar или через меню /skills. Агент сам пройдёт шаги и остановится, когда нужно ваше решение.

Распознавание текста на экране работает на Windows — движок уже встроен в систему, ставить ничего не нужно. На macOS и Linux остаётся проверка кадрами глазами.

Скилл /webinar на GitHub

Чего скилл не делает специально

Хотите собирать такие инструменты сами

Скилл /webinar написан вайбкодингом: задачу ставили ИИ-агенту словами, а он писал и проверял код. Этому мы учим с нуля:

Частые вопросы

Может ли нейросеть смонтировать запись вебинара?
Может, если разделить работу: нейросеть расшифровывает речь с таймингом каждого слова, ИИ-агент по смыслу размечает куски на «чистые» и «мусор», а человек просматривает разметку и переименовывает файлы. Склейка идёт из оригинала в полном качестве. Из 39 минут записи так вышло 20 минут чистого видео.
Почему нельзя просто вырезать тишину?
В записи эфира мусор узнаётся по смыслу, а не по громкости: «вы меня слышите?», «тут я помолчу, потом вырежешь», разговор с оператором. Автоматическое удаление пауз выкидывает дыхание из хорошей речи и оставляет весь болтливый мусор.
Как замазать номер карты на видео?
Найти, где и когда номер на экране, и закрыть этот прямоугольник на нужные секунды. Надёжнее всего сжать область в 20 раз и растянуть обратно: обычное размытие на узком поле оставляет цифры читаемыми. Скилл /webinar находит такие места сам — распознаёт текст на кадре каждую секунду и выдаёт координаты для замазки.
Что такое скилл для Claude Code и Codex?
Папка с инструкцией SKILL.md и скриптами, которую ИИ-агент подхватывает сам, когда задача подходит. Формат у Claude Code и Codex один: скилл /webinar кладётся в ~/.claude/skills/webinar/ для Claude Code или в ~/.agents/skills/webinar/ для Codex, дальше достаточно попросить агента почистить запись эфира.
Сколько стоит скилл /webinar?
Сам скилл бесплатный, код открыт на GitHub под лицензией MIT. Для расшифровки речи нужен токен распознавания — его выдаёт Telegram-бот @stereo_dictator_bot по команде /app. Для монтажа нужны Python 3.9+ и ffmpeg.

Если пригодилось — подпишитесь: выходят разборы ИИ-агентов и новые бесплатные скиллы.

Подписаться на YouTubeПодписаться в Telegram