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



- Расшифровать речь в текст. Тут нейросеть давно точнее ручной работы
- Расставить тайминги. Каждое слово получает начало и конец с точностью до сотых
- Собрать файл титров. Из таймкодов получается SRT для ютуба или ASS для вшитых субтитров
Что остаётся человеку: вычитка и решение, как титры выглядят.
Зачем субтитры вообще нужны в цифрах
Аргумент про "звук выключен" знают все, но полезнее посмотреть на свои же цифры.
Я разобрал 14 своих роликов по статистике. Удержание было от 5 до 20 секунд, то есть люди смотрели. При этом на просмотры удержание почти не влияло: все четырнадцать собрали по 100-170 показов и остановились там.
Вывод, который я забрал: титры нужны, но охват они не поднимают. Без них ролик в ленте теряет тех, кто листает без звука. С ними он получает шанс, дальше решает содержание.
Отдельная польза, о которой забывают: расшифровка это готовый текст. Из часовой записи получается материал на несколько постов, и переписывать ничего не надо, только править.
Чем расшифровывать русскую речь
Рабочих вариантов на русском немного, и все они выросли из одной модели.
| Инструмент | Что даёт | Кому подойдёт |
|---|---|---|
| faster-whisper | расшифровка с таймкодом на каждое слово, работает на процессоре | основной вариант, ставится одной командой |
| stable-ts | выравнивает готовый текст по звуку | когда текст уже написан, а нужны точные границы |
| WhisperX | расшифровка плюс разметка говорящих | интервью на два голоса, но разметка требует видеокарты и у меня не запустилась |
| Онлайн-сервисы | расшифровка без установки | когда нужен разовый файл, но текст уходит на чужой сервер |
Я работаю на faster-whisper. Замеры ниже сняты на модели small: на обычном ноутбуке без видеокарты минута речи расшифровывается примерно за пять секунд. Модель large-v3-turbo точнее на именах и терминах, но идёт заметно дольше.
Почему нельзя ставить тайминги на глаз
Это моя главная ошибка первых роликов.
Смотришь видео, записываешь, что на седьмой секунде начинается фраза, ставишь её в файл. Дальше текст плывёт: где-то на полсекунды, где-то на три.
А зритель этого не прощает. Субтитр, который приходит позже слова, выглядит как ошибка, даже если человек не понимает почему.
Правильно так: расшифровка отдаёт границы каждого слова, титры собираются из них. Тогда текст появляется ровно с голосом.
Есть отдельный случай, когда текст уже написан заранее. Например, вы озвучили готовый сценарий. Тогда достаточно выравнивания: подаёте текст и звук, получаете точные тайминги. Полный прогон тут лишний. В stable-ts это отдельный режим, и он точнее, чем расшифровывать заново.
Караоке-титры, где слово подсвечивается
Формат, который держит внимание в вертикальных роликах: на экране два-три слова, текущее подсвечено цветом.
Собирается он из тех же пословных таймкодов. Слова группируются по два или три, каждой группе задаётся своё окно, внутри окна подсветка переходит от слова к слову.
Что я подобрал на своих роликах:
- Два слова в группе для быстрой речи, три для спокойной
- Шрифт крупный, с жирной обводкой, иначе на светлом кадре текст пропадает
- Титры внизу, но выше интерфейса приложения, иначе их перекроет кнопками
- Подсветка цветом, а не увеличением, иначе строка прыгает
Что модель слышит неправильно
Вычитка обязательна, и это не формальность.
На русском расшифровка ошибается предсказуемо:
- "внести" превращается в "мнести"
- "в воронках" становится "баронах"
- английские названия пишутся кириллицей на слух
- имена и термины из вашей ниши модель не знает и подставляет похожее по звуку
А правило простое: прочитать расшифровку целиком перед сборкой. На ролике в минуту это тридцать секунд работы, на часовой записи около двадцати минут.
Отдельно про длинные видео. Модель иногда зацикливается и повторяет одну фразу несколько раз подряд. Такое место видно сразу, если пробежать текст глазами.
Как выглядит весь путь
Порядок, который у меня собран в одну команду.
- Достаём звук из видео и переводим в моно с частотой 16 килогерц
- Прогоняем расшифровку с пословными таймкодами
- Читаем текст и правим ослышки
- Собираем файл титров: SRT для площадок, ASS для вшитых
- Накладываем титры последними в цепочке фильтров, после всех кропов и цветокора
Последний пункт важен: если наложить титры раньше, а потом кадрировать, текст обрежется вместе с кадром.
Как это собрано у меня
Всё описанное выше я свёл в одну команду, чтобы не повторять шаги руками.
На вход идёт запись разговора, на выходе получается вертикальный ролик с титрами. Внутри цепочка: расшифровка с пословными таймкодами, вырезание пауз длиннее полусекунды, зумы по границам слов, поиск лица для кадрирования, титры по два слова, музыка с приглушением под голос.
Двадцать семь секунд готового ролика собираются за тридцать одну секунду работы. Замер снят на модели small.
Что при этом важно на самой записи:
- Лицо крупно по центру, тогда вертикаль обрезается без потерь
- Паузы в секунду-две между мыслями, по ним идёт нарезка
- Оговорился, повторяешь фразу заново, не останавливая запись
- Вставку называешь голосом, "тут покажу экран", и она подставится по таймкоду
Запись беру локальным файлом, а не из облака. Облачная версия отдаёт 360p, после растяжки в вертикаль это мыло.
Можно ли сделать субтитры бесплатно
Да, и это основной путь. Расшифровка на своей машине не стоит ничего: модель скачивается один раз и дальше работает без интернета.
Платить есть смысл в двух случаях. Когда нужен разовый файл и не хочется ничего ставить, тогда проще открыть онлайн-сервис. И когда важна точность на именах и терминах: платные расшифровки ошибаются реже на редких словах.
Скрытая цена бесплатного варианта это время на первую настройку. У меня на неё ушёл вечер, дальше всё идёт одной командой.
Вшивать или отдавать файлом
Два разных сценария, и путать их не стоит.
Файлом отдают на ютуб и в подкаст-платформы: площадка сама покажет титры, а поисковик прочитает текст. Это плюс к тому, что ролик находят.
Вшивают в вертикальные ролики для соцсетей: там субтитры включены у единиц, и без них звук в ленте никто не услышит.
На вшитых титрах есть подвох: изменить их потом нельзя, только пересобирать ролик. Поэтому сначала вычитка, потом сборка.
Нужна ли видеокарта для субтитров
Короткий ответ: нет. Расшифровка идёт на процессоре, и это работает даже на ноутбуке со встроенной графикой.
Видеокарта нужна в двух случаях. Первый: разметка говорящих, когда надо понять, где в записи один голос, а где второй. Второй: длинные записи, где хочется получить час расшифровки не за пять минут, а за одну.
У меня видеокарты нет, поэтому разметку говорящих я не использую вообще. На роликах с одним человеком в кадре она и не нужна.
Сколько это занимает по времени
Замеры на моей машине, обычный ноутбук со встроенной графикой.
- Ролик на минуту: расшифровка секунд пять, вычитка полминуты, сборка мгновенно
- Ролик на 15 минут: расшифровка около минуты, вычитка минут пять
- Часовая запись: расшифровка минут пять, вычитка минут двадцать
Дольше всего идёт чтение глазами, машина справляется быстро. Именно поэтому длинные записи я расшифровываю целиком, а титры собираю только для нарезанных кусков.
Частые вопросы
Какая нейросеть делает субтитры на русском лучше всех?
Whisper и его быстрые сборки вроде faster-whisper. Русский они понимают хорошо, ошибаются предсказуемо и дают тайминги на каждое слово.
Можно сделать субтитры бесплатно?
Да. Расшифровка на своей машине бесплатна и не требует видеокарты. Платить приходится только за время на установку.
Нужна ли мощная видеокарта?
Нет. Расшифровка идёт на процессоре. Видеокарта нужна только для разметки говорящих и ускорения на длинных записях.
Как сделать субтитры с подсветкой слова?
Взять пословные таймкоды из расшифровки, сгруппировать слова по два-три и задать подсветку внутри группы. Формат ASS это умеет из коробки.
Обязательно ли вычитывать расшифровку?
Да. Модель путает похожие по звуку слова, а на длинных записях иногда повторяет фразу. Минута чтения экономит переделку ролика.
Собираете контент через нейросети?
В канале показываю на своих задачах: как ведётся сайт, как пишутся тексты и как собираются ролики, с командами и цифрами.
Разбираю там же промахи, чтобы вы не повторяли мои.
Читать каналИ загляните в справочник признаков машинного текста.
