Коротко
Что агент делает с записью эфира после занятия?
Обычный день обучения у меня заканчивается одной фразой агенту. Вот как я сам описывал это группе:
«Я агенту говорю: всё, видео сам знаешь где, иди выкладывай. Он идёт, забирает видео, сам выкладывает вам в личный кабинет и всё открывает. То есть я ничего руками не делаю».
Это сокращённая версия. Между фразой и открытым уроком стоят проверка записи и моё решение по её результатам, о них ниже.
Под «сам знаешь где» стоит конкретика. В памяти агента записано, в какую папку пишется видео, на какой видеохостинг его заливать, в какой урок кабинета ставить ссылку и что проверять перед публикацией. Я не повторяю это каждый раз, поэтому и хватает одной фразы.
Один реальный прогон для масштаба. Пять файлов записи за день, с 10:05 до 14:05. На выходе одно видео длиной три часа шестнадцать минут. Агент работал около сорока минут, руками я не делал ничего.
Собрать куски
Найти все файлы записи за день, расставить по времени, проверить, что ни один не оборван.
Склеить и срезать пустое
Время до старта, минуты без звука, окна программы записи на стыках.
Проверить экран
Раскадровать запись и найти всё, что нельзя показывать. Размыть или вырезать, проверить результат по кадрам.
Выложить черновиком
Залить на видеохостинг, дождаться обработки, поставить ссылку в урок, урок не публиковать.
Опубликовать по команде
После моего «выкладывай» открыть урок ученикам и проверить, что страница отвечает.
Почему запись приходит кусками?
Записываю я локально, в OBS на своём ноутбуке. Облачная запись платформы видеосвязи бывает удобной, но файл на своём диске надёжнее: он не зависит от того, обработает ли его платформа и когда. На перерыве запись останавливаю: смотреть перерыв никому не нужно. Отсюда и куски.
Есть и вторая причина, менее приятная. Однажды OBS у меня начал подвисать во время записи, а подвисшая запись - это риск потерять кусок эфира.
Я попросил агента разобраться. Он разобрал системные ошибки и нашёл причину: ноутбук пытался уйти в спящий режим. Совет был простой - поставить утилиту, которая не даёт ноутбуку уснуть, пока идёт эфир.
Ещё одна страховка - формат файла. В справке OBS прямо рекомендуют писать в MKV: если запись остановилась некорректно, такой файл не портится целиком. У mp4 такой гарантии нет: при обрыве он может не открыться вовсе. Перевести MKV в mp4 OBS умеет сам, это называется ремукс.
Склейка, паузы и стыки: что режет агент
В том прогоне агент срезал одиннадцать минут до старта, две минуты без звука и окна OBS, которые попадали в кадр, когда я останавливал и запускал запись. Это и есть вся «режиссура» записи обучения.
Был и нестандартный случай. В одном куске весь экран занимало окно самой программы записи, а звук был рабочий: я как раз объяснял важное. Агент не стал вырезать кусок: оставил звук и подложил под него стоп-кадр из следующей записи. Зритель слышит объяснение и видит экран, а не окно программы.
Технически склейка простая. Если все куски записаны с одинаковыми настройками, их можно соединить без перекодирования, это описано в документации ffmpeg. Перекодирование нужно там, где меняют саму картинку, например размывают участок.
Короткие ролики для соцсетей монтируются по другим правилам: там режут каждую паузу и работают на удержание. Это я разбирал в материале про монтаж коротких роликов нейросетью.
Если из записи потом нужны короткие вертикальные ролики, это уже отдельная задача - нарезка. Как сервисы автонарезки собирают Reels из длинного видео, я разбирал в посте канала.
Как проверить запись на то, что нельзя показывать?
Вот цифра, ради которой стоит прочитать этот раздел. Агент нарезал кадр каждые 15 секунд по всей записи и просмотрел их. Нашлось девять участков, которые нельзя выкладывать. Почти все - не те моменты, когда я специально что-то показывал, а секунды, пока я переключал окна.
Оговорка про шаг. Кадр раз в 15 секунд ловит то, что висело на экране дольше шага; то, что мелькнуло быстрее, он может не поймать. Девять найденных участков не доказывают, что других нет, поэтому итог просматривает человек, а для записей с особенно чувствительным экраном шаг стоит делать чаще.
| Что мелькнуло на экране | Почему нельзя выкладывать |
|---|---|
| Рабочая админка с карточками сделок | имена и контакты клиентов |
| Мессенджер | чужие имена и переписка |
| Календарь в программе видеосвязи | встречи и участники |
| Файловый менеджер | названия папок и файлов клиентов |
| История чатов с нейросетями | темы чужих задач |
| Подсказки браузера | название чужой презентации |
Все такие участки агент размыл.
Глазами по началу и концу записи такое не находится. Ты помнишь, что показывал, но не помнишь, что мелькнуло между. Размытие агент потом проверил по кадрам: заблюренный участок, который съехал на полсекунды, хуже, чем никакой.
Перед выкладкой я ещё и вырезаю фрагменты, где звучат персональные данные и рабочие документы участников. Это решение человека: агент находит и предлагает, а что убрать, решаю я.
Видео в личном кабинете смотрят только ученики, но это всё равно люди, которым чужие данные никто не разрешал показывать. Закон «О персональных данных» в статье 7 обязывает не раскрывать их третьим лицам без согласия человека, если иное не предусмотрено федеральным законом. Ученики для этих людей третьи лица, поэтому закрытый кабинет вопроса не снимает. Проверять запись нужно так, как будто она публичная.
Правило в памяти агента: в моём случае он остановил выкладку сам
В тот раз я попросил агента склеить пять кусков и проверить паузы и склейки. Про персональные данные не сказал ни слова. Агент сам вернулся с ответом: в нескольких местах на экране видны персональные данные, так выкладывать нельзя, давай решать, вырезать или размыть. Я сказал размыть, и он сделал.
Он заметил это потому, что правило лежит в его втором мозге. У меня есть сервисы по подписке, для них соблюдение 152-ФЗ - не формальность, и агент знает это как постоянное условие работы. Он применяет его к любому материалу, который уходит наружу, а не только к тому, о котором я вспомнил.
Это главный практический вывод всей истории. Тогда же я сказал группе: важно, чтобы агент ставил себе как правило то, как вы работаете и что для вас важно. Тогда он напомнит об этом даже тогда, когда вы забыли и не сказали. Как вообще устроены отношения агента с чувствительными данными компании, я разбирал в материале про документы компании и нейросети.
Как выложить видео в кабинет и не сломать урок?
Записи обучения у меня лежат на видеохостинге Kinescope, а в уроке кабинета стоит ссылка на видео. Агент заливает файл скриптом, ждёт статуса «готово» и только потом вставляет ссылку. Если поставить ссылку раньше, ученик может открыть урок и увидеть пустой плеер.
Урок сначала встаёт черновиком. Ученики его не видят, а я могу открыть и посмотреть, что получилось. Публикация - после моего «выкладывай». Это одно решение, но я оставляю его за собой: видео уходит к людям, и вернуть показанное нельзя.
Перед правкой урока агент сохраняет резервную копию того, что было, а после публикации проверяет, что кабинет отвечает. Отчёт «готово» без такой проверки я не принимаю. Почему агенту нельзя верить на слово, я разбирал в статье про то, как агент отчитался «готово», а результата нет.
Когда делать расшифровку: до монтажа или после?
Расшифровку записи я делаю локально, на ноутбуке, моделью Whisper, файл никуда не уходит. Об этом подходе подробно в материале про расшифровку записи без облака.
Важна последовательность. В расшифровке у меня два таймкода на каждой строке: время дня и время в смонтированном видео. Первый нужен, чтобы сверить с моими заметками. Второй - чтобы в разборе занятия написать «смотри с такой-то минуты», и ученик попал ровно туда.
Если вырезка случилась уже после расшифровки, таймкоды разбора перестают совпадать с видео в кабинете. Я один раз так и сделал: убрал из записи несколько фрагментов, когда разбор был уже готов.
Пришлось записать в шапку разбора поправку: после первой вырезки таймкоды раньше примерно на три минуты, к концу на семь. Работает, но неудобно. Проще не путать порядок.
Что делать с расшифровкой дальше, отдельная история. Из записи рабочей встречи вынимают решения и задачи, об этом материал про то, как запись встречи превращается в задачи.
Что ломается и как это ловить?
Три поломки, которые я видел сам.
Ноутбук уходит в сон. Программа записи подвисает, и запись рискует оборваться. Лечится утилитой, которая не даёт ноутбуку уснуть.
Скрипт запустили дважды. В одном прогоне агент перезапустил кодирование, пока прежний процесс ещё работал. Два процесса писали в один файл, и готовые куски испортились: видео не открывалось, ffmpeg ругался на отсутствие служебного блока moov. Пришлось перекодировать. Правило теперь простое: не запускать кодирование повторно, пока жив прежний процесс.
Окно программы записи в кадре. На стыках в кадр попадает окно OBS: я нажимаю «стоп» и «старт» на том же экране, который транслирую. Агент находит эти секунды по кадрам и срезает.
Общий принцип такой же, как с любой работой агента без присмотра. Проверяется не отчёт, а файл: какая длительность, есть ли звук на стыках, открывается ли видео с начала и с середины. Как ставить такие проверки для задач, которые агент делает сам по расписанию, я разбирал в материале про автозадачи.
Частые вопросы
Частые вопросы
Главный вывод
Самое неожиданное в этой работе - не склейка. Склейка простая. Неожиданно то, сколько лишнего мелькает на экране за три часа и как легко это пропустить глазами.
Практический шаг: возьми последнюю запись своего эфира и попроси агента раскадровать её и найти то, что на ней нельзя показывать посторонним. Сравни с тем, что ты помнишь сам.
Как думаешь, в твоих записях больше риска в том, что ты показываешь специально, или в том, что мелькает между окнами?
Источники
- Standard Recording Output Guide - формат записи, MKV и ремукс в mp4, справка OBS Studio
- FFmpeg Formats Documentation - демуксер concat: склейка файлов с одинаковыми потоками и кодеками
- Kinescope - видеохостинг для бизнеса и обучения
- Федеральный закон «О персональных данных» от 27.07.2006 N 152-ФЗ, КонсультантПлюс
- Whisper - открытая модель распознавания речи, репозиторий на GitHub
