Автоматическая генерация субтитров к видео на основе Whisper large-v3

Видеоархив растёт быстрее, чем команда успевает его расшифровывать, и субтитры выходят с задержкой. Мы настраиваем автоматическую генерацию субтитров под ключ: от разбора архива до передачи готовых файлов по единым правилам разметки. Время на подготовку выпуска сокращается в разы, а качество перестаёт зависеть от того, кто именно сидел за вычиткой.
Часто задаваемые вопросы

Почему автоматическая генерация субтитров ломается на реальных видео

Автоматическая генерация субтитров уверенно работает на демо-записи в тихой комнате и разваливается на первом же реальном материале. В дорожке — музыка, шум вентиляции, эхо конференц-зала, микрофоны с разной громкостью у участников. Модель распознавания речи, включая актуальную ветку Whisper, выдаёт текст там, где человек слышит одно слово, и даёт ошибки распознавания там, где запись объективно чистая: два голоса перекрываются на полуслове, и на выходе получается слитая реплика, приписанная не тому говорящему.

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

Третий класс — объём. Субтитры для архива видео нужны не на один ролик: это десятки часов лекций, вебинаров и записей встреч. Ручная расшифровка записей силами редактора даёт приемлемое качество, но упирается в человеко-часы — на час записи уходит несколько часов работы, и архив растёт быстрее, чем его успевают разбирать. Когда очередь измеряется месяцами, задача тихо перестаёт двигаться.

Разбираем, как это закрывается: где чинить входной звук, где подключать словарь и разделение голосов, а где строить контур пакетной обработки архива.

Эффект от внедрения: скорость, единый стандарт, охват

Расшифровка на Whisper идёт быстрее реального времени: часовой выпуск превращается в готовую дорожку за минуты, а не за смену редактора. Точность распознавания речи на студийном звуке достаточна для публикации без правок, а на интервью с шумом и акцентами остаётся вычитка — но точечная, по подсвеченным фрагментам, а не по всему тексту подряд.

На пилотном каталоге разрыв по этапам выглядит так:

Метрика До внедрения После
Выпуск дорожки на часовое видео 6-8 часов ручной работы 5-10 минут машинного прохода
Доля записей без правок редактора около трети три четверти каталога
Формат дорожек у каждого монтажёра свой тайминг и разбивка единый шаблон субтитров и тайм-кодов
Охват видеокаталога только новые релизы архив целиком, включая старые записи
Ручная вычитка сплошная по каждому ролику выборочная по спорным фрагментам

Единый формат дорожек снимает целый класс ошибок ручного ввода: расхождения в тайм-кодах, потерянные реплики, разъезжающуюся пунктуацию. Когда разметка выравнена по всему каталогу, поиск по субтитрам, авто-перевод и нарезка вертикальных версий начинают работать на всём архиве, а не только на последних публикациях. Именно на этом эффекте держится смысл автоматической генерации субтитров: расшифровка перестаёт быть узким местом выпуска.

Способы получить субтитры: пакетно, потоково, смешанно

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

Пакетная обработка ставит файлы в очередь и отдаёт готовые дорожки пачкой, потоковая расшифровка отдаёт текст вслед за речью, а между ними лежат два компромиссных сценария. Ниже — чем они отличаются на практике.

Вариант Когда подходит Ограничения
Пакетная обработка видео Обработка архива записей: сотни файлов, результат нужен к сроку, а не минута в минуту Субтитры появляются только после прохождения очереди — для эфира не годится
Потоковая расшифровка Субтитры для вебинаров и трансляций: текст идёт вслед за речью Задержка в несколько секунд, ниже устойчивость к шуму, музыке и перекрывающимся голосам
Гибридный режим Эфир с последующей ручной доработкой: черновик автоматом, правка редактором Нужен человек в процессе, иначе качество остаётся черновым
Выборочная расшифровка Нужны только ключевые фрагменты длинной записи Требует заранее заданных границ — по таймкодам или по распознанной речи

Выбор режима — это всегда размен между задержкой и точностью: потоковый контур ошибается на именах и терминах чаще, чем пакетный, зато отдаёт текст сразу. На практике контуры комбинируют: эфир идёт потоково, а запись после эфира прогоняется пакетно на модели распознавания речи и заменяет черновую дорожку. Разберём, как это собирается в один процесс.

Как строится внедрение: от аудита архива до передачи

Внедрение расшифровки начинается не с запуска модели, а с инвентаризации архива: хронометраж фонда, языки и акценты, доля перекрывающейся речи и музыки, качество звуковых дорожек, наличие готовых текстов и монтажных листов. От этих вводных зависит и профиль обработки, и объём ручной вычитки — поэтому аудит архива видео идёт первым этапом, а не выясняется на первой же партии.

  1. Аудит архива видео и требований. Раскладываем фонд по категориям и качеству звука, отмечаем, где нужна ручная вычитка. Здесь же согласуем форматы: встроенные субтитры, отдельные файлы, разметка говорящих.
  2. Схема обработки. Определяем нарезку по тишине, порядок каналов при многодорожечной записи, поведение системы на музыке и нераспознанных фрагментах.
  3. Настройка под типы записей. Для интервью, вебинаров, лекций и съёмок на улице задаём свои профили сегментации: единые настройки дают разное качество на разных жанрах.
  4. Словарь терминов проекта. Имена, аббревиатуры, названия продуктов, профессиональная лексика. Это самый быстрый способ поднять точность без переобучения модели.
  5. Контрольная выборка записей. Замеряем долю верных слов, корректность меток времени, длину строк. Спорные случаи разбираем до настройки, а не после сдачи.
  6. Регламент приёмки дорожек. Фиксируем измеримые критерии: допустимая доля ошибок по категории, длина строки, скорость смены, паузы. По нему вы принимаете работу покомпонентно.
  7. Передача. Отдаём конфигурации, словари и инструкции, показываем, как запускать обработку новых записей своими силами.

После передачи остаётся рабочий контур и понятный регламент приёмки — новые материалы проходят автоматическую генерацию субтитров тем же путём, без нашего участия.

Словари, конфигурации и правила разметки на выходе

Автоматическая генерация субтитров на базе Whisper из актуальной ветки заканчивается не только готовыми файлами, но и набором артефактов, по которым ваша команда сама прогоняет новые записи. Конфигурации, словари и правила разметки лежат в репозитории проекта, поэтому следующий материал расшифровывается на тех же настройках — без нас.

  • Профили конфигураций под типовые сценарии. Отдельные наборы параметров для интервью, лекций с презентацией и записей с несколькими говорящими: длина строки, пауза до новой дорожки, поведение при перекрытии речи.
  • Словарь терминов проекта. Названия продуктов, аббревиатуры, имена спикеров и варианты их написания. Подключается до генерации, поэтому доля ошибок на узкой лексике падает без ручной вычитки.
  • Правила разметки дорожек и разбиения по времени. Границы реплик привязаны к смысловым группам, а не к числу символов: минимальная длительность надписи, перенос между строками, разрыв на паузе.
  • Документация по расшифровке. Форматы выгрузки — SRT и VTT, кодировка, нумерация дорожек, сопоставление голосов со спикерами, хранение исходников.
  • Инструкция для редактора. Что править обязательно, какие расхождения допустимы, как отмечать спорные места и обновлять словарь, чтобы правка работала на следующих запусках.
  • Порядок приёмки результата. Контрольная выборка, норма по доле слов с расхождениями, точки остановки приёмки до устранения замечаний.
  • Регламент повторного запуска. Как обновить профиль или словарь и перегенерировать субтитры, не пересобирая видеоряд.

Кейс: от ручной вычитки к потоковой расшифровке архива

Медиатека пришла с архивом примерно на 900 часов: интервью, лекции, записи конференций. Расшифровку вели вручную — один редактор слушал и набирал текст, второй вычитывал термины и написание имён. На одну дорожку уходило шесть–восемь часов, поэтому субтитры выпускали выборочно: примерно к каждой третьей записи.

Как устроили обработку

Файлы попадают в очередь, Whisper в крупной конфигурации модели отдаёт текст с метками времени, а слой нормализации приводит числа, аббревиатуры и написание имён к словарю проекта. Длинные сегменты режутся по паузам, чтобы строка не занимала половину экрана. Дальше автопроверка сверяет длину текста со звуком, ищет пустые интервалы и спорную лексику — редактор открывает только помеченные места, а не дорожку целиком.

Что получилось

Доля дорожек, опубликованных без правок, выросла с 31% до 86%. Время выпуска одной дорожки сократилось с шести часов до 35 минут: субтитры выходят вместе с публикацией видео, а не через неделю. Архив разобрали за три недели, дальше поток идёт непрерывно — новые записи получают расшифровку в день загрузки.

Расшифровка лежит рядом с видео как текстовый слой, поэтому поиск по медиатеке работает по репликам, а не только по названиям файлов.

Чем отличается потоковая расшифровка от пакетной?

Потоковая расшифровка режет звук на короткие окна и отдаёт текст по мере поступления: задержка расшифровки измеряется секундами, но модель видит только ограниченный контекст. На стыках сегментов рвётся пунктуация, теряются имена и термины, а перекрывающаяся речь двух говорящих схлопывается в одну реплику. Скорость здесь оплачена качеством: текст годится для чтения, но не для публикации без правки.

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

Каждая схема ломается на своём: поток не тянет интервью с перебиванием и титры поверх речи, пакет бесполезен для эфира, где субтитры нужны в момент разговора. Поэтому режим выбирают не по длине файла, а по требованию к моменту появления текста.

Гибридный режим обработки снимает это противоречие: в потоке идёт черновая дорожка с задержкой в секунды, а после публикации запись прогоняется пакетно — с горячими словами и словарём терминов — и финальный текст подменяет черновик по таймкодам, без смены ссылки и настроек плеера. Режим подбираем по типу контента: прямой эфир — поток, архив курса или интервью — пакет, событие с записью — гибрид.

Технические сомнения: качество, языки, доступы

Большая часть вопросов к автоматической генерации субтитров — не про саму модель распознавания речи Whisper, а про то, как она ведёт себя на реальном архиве. Ниже — сомнения, которые обычно всплывают до старта: качество распознавания речи, поддержка языков, доступ к видеозаписям.

Как система справляется с шумом и перекрытием голосов?

Перекрытие речи и фоновый шум — главный источник ошибок распознавания. Многоканальные записи разводим по дорожкам, на смешанном звуке включаем разделение по говорящим, чтобы реплики двух людей не склеивались в одну строку. Сильно зашумлённые участки помечаем флагом: редактор вычитывает не весь файл, а только спорные фрагменты.

Что делать со смешанными языками в одной записи?

Язык определяется по фрагменту, а не по файлу целиком, поэтому короткие вставки на другом языке распознаются в своей языковой ветке. Имена, аббревиатуры и отраслевые термины уходят в словарь замен, который собираем из вашего глоссария — на них приходится основная доля правок.

Нужен ли вам доступ к исходным видеозаписям?

Обрабатываемся копию архива на нашем контуре либо разворачиваем всё внутри вашего периметра — тогда исходники не покидают инфраструктуру. Нужны права на чтение видео и запись субтитров, выдаём их отдельной сервисной учётной записью с ограниченным сроком.

У нас частично размеченный архив — это поможет или помешает?

Поможет. Если часть записей уже имеет субтитры, используем их как эталон: сверяем с авторазметкой, считаем долю совпадений и настраиваем правила форматирования. Десятой части размеченного архива обычно достаточно, чтобы подтянуть качество на остальных записях.

Что происходит после правок редактора?

Правки хранятся отдельным слоем поверх машинного. После изменения глоссария или настроек перегенерируем только затронутые участки, а не весь архив; история версий и тайминги сохраняются, откат — одна операция.

Обсудим задачу: вернёмся с оценкой и планом

Чтобы оценка проекта расшифровки была точной, а не «плюс-минус порядок», нам нужен минимум вводных. Ниже — что прислать для старта обсуждения: этого хватает, чтобы посчитать ресурсы и предложить план внедрения.

  • Объём и типы записей: сколько часов в месяц, форматы контейнеров, сколько дорожек в каждой записи.
  • Примеры сложных фрагментов: 3-5 кусков, где речь перекрывается, много терминов, имён или фонового шума.
  • Требования к дорожкам: какая дорожка основная, как отделять голос от музыки, нужен ли микс и дубляж.
  • Языки: основной язык, вставки на других языках, нужна ли разметка языка на лету.
  • Требования к разметке: формат файла субтитров, длина строки, число знаков в секунду, стили, нужны ли метки говорящих.
  • Ограничения по доступам: где хранятся записи, можно ли выгружать их наружу, кто и как смотрит результат.
  • Критерии приёмки: как считать качество (доля ошибок) и кто проводит вычитку.

В ответ мы возвращаемся не общими словами: оценкой проекта расшифровки по объёму, черновиком плана внедрения и требованиями к дорожкам под ваш материал. Модель семейства Whisper в актуальной ветке закрывает основную часть работы, но точность держится на подготовке аудио — поэтому примеры сложных фрагментов важнее всего.

Опишите задачу — вернёмся с оценкой и планом.

Направления AI-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1142