Главная → Блог → Как расшифровать запись встречи и получить готовые заметки
Как расшифровать запись встречи и получить готовые заметки
Запись совещания — это папка, которую никто не открывает. Все помнят, что решение принято, никто не помнит какое, а пересматривать сорок минут ради одной фразы не станет ни один человек. Расшифровка превращает запись в текст, по которому можно искать, цитировать и собирать протокол за секунды.
Что меняет текстовая версия встречи
Четыре вещи, которых запись сама по себе не даёт:
- Поиск по всем встречам сразу. Один запрос находит все обсуждения, где упоминался клиент, срок или статья бюджета.
- Заметки, которые действительно написаны. Решения и задачи вытаскиваются из текста, а не зависят от того, успел ли кто-то печатать во время разговора.
- Контекст для тех, кто не пришёл. Чтение расшифровки занимает впятеро меньше времени, чем просмотр записи.
- Долговечный след. Текст переживает переезды между платформами, видеоархивы — обычно нет.
Где лежит сама запись
До всякого кода найдите файл. Каждая платформа хранит его по-своему:
| Платформа | Где искать | Что получите |
|---|---|---|
| Zoom | Папка локальных записей или облачные записи в веб-кабинете | mp4 и отдельная звуковая дорожка m4a |
| Microsoft Teams | OneDrive или SharePoint, ссылка в чате встречи | mp4 |
| Google Meet | Папка Meet Recordings на Диске | mp4 |
Локальные записи Zoom — самый удобный случай: файл только со звуком уже лежит рядом, конвертировать ничего не нужно.
Шаг 1. Извлеките звук и уменьшите файл
Час видеовстречи — это гигабайты, тот же час речи в mp3 — около 25 МБ. На совещании звучит речь и почти ничего больше, поэтому моно на скромном битрейте не теряет ничего важного:
ffmpeg -i meeting.mp4 -vn -ac 1 -ar 16000 -b:a 48k meeting.mp3
Моно 16 кГц — ровно то, с чем модель работает внутри. Файл становится настолько компактным, что двухчасовая встреча укладывается в пару запросов.
Шаг 2. Расшифруйте с таймкодами
Для встреч запрашивайте verbose_json, а не обычный текст: в сегментах есть время начала и конца, и именно оно позволяет вернуться к нужному месту записи.
from openai import OpenAI
client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="ваш ключ")
with open("meeting.mp3", "rb") as f:
r = client.audio.transcriptions.create(
model="whisper-1", file=f,
response_format="verbose_json",
prompt="Продуктовый синк: роадмап, релиз третьего квартала, переезд на Kubernetes",
)
for s in r.segments:
print(f"[{int(s.start)//60:02d}:{int(s.start)%60:02d}] {s.text.strip()}")
В prompt кладут внутренний словарь компании: названия проектов, аббревиатуры, фамилии. На совещаниях полно терминов, которых общая модель никогда не слышала, и одна строка подсказки снимает большую часть таких ошибок.
Шаг 3. Превратите расшифровку в протокол
Сама расшифровка — сырьё. Полезный результат — короткая сводка с решениями и ответственными, а это работа для языковой модели: на вход текст, на выходе структурированные заметки.
notes = llm(f"""Ниже расшифровка встречи. Верни:
1) сводку из пяти пунктов,
2) принятые решения,
3) задачи в формате «ответственный — задача — срок».
Опирайся только на текст, ничего не додумывай.
{transcript}""")
Результату можно доверять при двух условиях: явно потребовать «только то, что есть в тексте» и сохранить таймкоды, чтобы любое утверждение можно было проверить по записи.
Кто что сказал
Честный ответ: одна сведённая дорожка не возвращается с метками говорящих. Два рабочих обхода:
- Раздельные дорожки. Zoom умеет записывать каждого участника в свой звуковой файл. Расшифруйте их по очереди — получите точное разделение по людям без всяких ухищрений.
- Перекличка в начале. Если в первую минуту все называют себя, и модель, и читатель дальше ориентируются заметно лучше.
Для протокола точная атрибуция обычно важна меньше самих решений — не стройте сложную схему до того, как убедитесь, что она нужна.
Длинные встречи и расходы
Оплата идёт за минуты аудио, поэтому рычага два: не расшифровывать лишнее и не отправлять тишину.
# режем длинную встречу на получасовые куски
ffmpeg -i meeting.mp3 -f segment -segment_time 1800 -c copy part%03d.mp3
Регулярные статусы обычно стоит расшифровывать целиком, а двухчасовые воркшопы — только тот фрагмент, где принималось решение. Рабочее правило: месяц расшифровывайте всё, посмотрите, что люди на самом деле ищут, и сузьте охват.
Попробуйте на своих записях. Регистрация занимает минуту, бесплатных минут хватает, чтобы оценить качество.
Получить ключ бесплатноЧастые вопросы
Можно ли отправить файл mp4 напрямую?
Практичнее сначала извлечь звуковую дорожку через ffmpeg. Видео в десятки раз больше, а картинка при распознавании не используется — вы заплатите только временем загрузки.
Сколько обрабатывается часовая встреча?
Несколько минут: распознавание идёт быстрее реального времени, а разрезанную на части запись можно отправить параллельно.
Будет ли в расшифровке видно, кто говорит?
По одной сведённой дорожке — нет. Запишите участников в отдельные файлы и расшифруйте их по очереди: так разделение получится точным.
Как добиться правильного написания внутренних терминов?
Передайте их в параметре prompt: названия проектов, аббревиатуры и фамилии, перечисленные одной строкой, заметно улучшают их распознавание.
Где хранятся записи после обработки?
Записи и расшифровки лежат не дольше суток, чтобы вы успели забрать результат в кабинете, затем удаляются автоматически.
Читайте также
- Автоматические субтитры SRT и VTT из видео и вебинаров — Как получить готовые субтитры с таймкодами из записи вебинара или ролика: извлечение звука, форматы SRT и VTT, примеры кода и разбор частых проблем.
- Как расшифровать запись звонка в текст — Пошаговое руководство: как перевести аудиозапись телефонного разговора в текст через API за несколько минут. Примеры кода на Python и C#, разбор ошибок.
- Как повысить точность распознавания речи: восемь рабочих приёмов — Восемь изменений, которые действительно двигают качество расшифровки: подготовка звука, подсказка языка, параметр prompt, нарезка по паузам, форматы и замер ошибок.