Субтитры для Reels и TikTok: из видеофайла в SRT

Перетащите аудио или видео или нажмите, чтобы выбратьMP3 · WAV · M4A · OGG · MP4 · до 30 минут
Пример результата – так выглядит готовая расшифровка
00:47РусскийСпикеры: 2
00:00Спикер 1

Давай коротко по срокам. Мы успеваем к пятнице или переносим на следующую неделю?

00:07Спикер 2

К пятнице успеваем, если макеты придут завтра. Если позже, то реалистичнее вторник, и это я ещё не закладываю правки после ревью.

00:18Спикер 1

Понял. Тогда я тереблю дизайн сегодня, а ты пока начинаешь с той части, которая от макетов не зависит.

00:25Спикер 2

Договорились. И ещё момент: на прошлой неделе мы забыли записать решение по интеграции, потом полчаса вспоминали. Давай в этот раз зафиксируем сразу.

AI-саммари

Фрагмент рабочего созвона: обсуждают сроки по задаче и договариваются, кто отвечает за следующий шаг.

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

Сразу оговорим рамку: ссылку на ролик мы не принимаем, только файл, поэтому видео сначала скачивают или экспортируют из монтажной программы. Дальше всё измеряется в секундах и знаках. Блок субтитров держится на экране две-три секунды, значит на минутной вертикалке их набирается 20–30, и каждый придётся прочитать глазами.

Зачем субтитры в соцсетях, если площадка рисует их сама

Первая причина это зритель без звука: метро, очередь к врачу, открытый офис, поздний вечер дома с выключенной колонкой. Лента листается молча, и ролик без подписей мысль не доносит. Субтитры в тикток и субтитры в reels нужны прежде всего ради такого зрителя, а вместе с ним ради тех, кто плохо слышит и читает текст вместо аудио. У доступности есть и формальная планка: в WCAG 2.1 (W3C, 2018) подписи к записанному видео это критерий 1.2.2 уровня A, самого базового из трёх, а для прямых трансляций критерий 1.2.4 уровня AA.

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

Третья причина в переиспользовании. Один вертикальный исходник 9:16 обычно уходит сразу на несколько площадок: Reels, TikTok, Shorts, ВК. Подписи, нарисованные редактором площадки, наружу не выходят, поэтому на каждой платформе работа начинается заново. Один вычитанный файл этот повтор снимает.

Три вида субтитров и чем они отличаются на практике

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

Вшитые субтитры (hard-sub) выжигаются прямо в кадр при экспорте из монтажной программы. Тайминг при этом ложится на сетку кадров, и точнее одного кадра его не выставить: при 30 кадрах в секунду это 33 миллисекунды, при 25 кадрах 40. Обратная сторона серьёзнее: текст становится частью картинки, обычно видеопотока H.264 внутри mp4, поэтому опечатка в фамилии спикера, замеченная после публикации, лечится только пересборкой, повторным экспортом и перезаливом, а вместе с перезаливом обнуляется вся набранная роликом статистика.

Файл SRT или VTT ведёт себя иначе. Внутри это обычный текст: номер блока со счётом от единицы, строка вида 00:00:01,240 --> 00:00:03,900, реплика, пустая строка. Дробная часть в SRT отделяется запятой и пишется тремя знаками, до миллисекунд, а часы в тайм-коде обязательны даже в сорокасекундном ролике; сам формат пришёл из программы SubRip и собственной спецификации оформления не имеет, поэтому шрифты и цвета в нём не живут. У VTT первая строка файла всегда WEBVTT, дробная часть отделяется точкой, формат описан в W3C и подключается к HTML5-плееру через элемент track. Различия двух форматов разобраны отдельно: субтитры SRT и VTT.

ВидКогда подходитГде ломаетсяЧто на выходе
Автоподписи площадкисторис и проходные роликиимена, бренды, термины; наружу не выгружаетсяподписи внутри приложения, файла нет
Вшитые (hard-sub)нужен свой шрифт, обводка, точное место в кадреопечатка равна пересборке и перезаливу; текст не выключитьmp4 с текстом в пикселях
Файл SRT или VTTисходник идёт на несколько площадокмобильные редакторы файл не импортируют.srt или .vtt рядом с видео плюс текст для описания

Как сделать субтитры для Reels и TikTok из видеофайла

Шагов четыре: экспорт, загрузка, SRT, правка. По-настоящему времени просит только последний. Если файл тяжёлый, звуковую дорожку проще вытащить отдельно: в mp4 обычно лежит видео H.264 и звук AAC, и дорожка снимается без перекодирования, ключами -vn -c:a copy в ffmpeg. Разница в весе показательна: вертикалка 1080×1920 на битрейте 10 Мбит/с забирает около 75 МБ в минуту, а та же минута звука в AAC на 128 кбит/с не дотягивает до мегабайта. Картинка распознаванию не нужна, движок работает по звуку.

  • Экспортируйте ролик или отдельную звуковую дорожку. Если музыка лежит поверх голоса, выгружайте вариант до сведения: так распознавание точнее.
  • Загрузите файл в генератор субтитров и выберите SRT. VTT берите, если ролик поедет ещё и в HTML5-плеер на сайте.
  • Прочитайте расшифровку глазами, поправьте имена и термины, разрежьте длинные реплики.
  • Импортируйте SRT в монтажную программу и настройте шрифт, положение и тайминг под вертикальный кадр.

На правке помогают отраслевые нормы. Timed Text Style Guide, по которому Netflix принимает субтитры, ограничивает блок двумя строками, держит длительность одного блока в коридоре от 5/6 секунды до 7 секунд и задаёт скорость чтения 17 знаков в секунду для взрослой аудитории и 13 знаков для детской; BBC Subtitle Guidelines режут строку по 37 знакам. Пересчитайте на короткое видео: блок в две с половиной секунды вмещает около 42 знаков, то есть одну короткую фразу. Правило «одна мысль на кадр» растёт из этой арифметики.

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

Куда публикуетеБерёт готовый файл субтитровЧто делатьЧто видит зритель
Reels и TikTok, мобильный редакторнет, только свои автоподписившить текст при экспорте, залить готовый mp4текст в пикселях, выключить нельзя
YouTube, веб-студияда, .srt, .sbv и .vttзагрузить файл субтитров к видео отдельнопереключаемые субтитры
Свой сайт, HTML5-плеерда, .vtt через элемент trackположить .vtt рядом с видеопереключаемые субтитры
Монтажная программада, импорт .srtоформить строку и экспортироватьзаготовка под hard-sub

Ошибки, из-за которых субтитры портят ролик

Самая частая ошибка это текст, уехавший под интерфейс. Кадр 1080×1920 обжимают элементы приложения: внизу описание, ник и кнопки, справа колонка иконок. На мониторе в монтажной программе кадр собран идеально, а на телефоне цена или название продукта лежит ровно под кнопкой подписки. Держите строку в средней трети кадра по высоте, это полоса примерно от 640-го до 1280-го пикселя, и проверяйте готовый ролик с телефона до публикации, а не после неё.

Вторая ошибка растёт из самой природы расшифровки. Она дословная, поэтому все «ну» и «э-э» из живой речи попадут в SRT: они были произнесены. Для интервью дословность это достоинство, для сорокасекундной вертикалки шум, который снимается на правке. Тайм-коды к тому же абсолютные, они считаются от начала файла: отрежете первые две секунды видео, и поедут сразу все блоки, сдвигать придётся всю дорожку.

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

  • Музыка громче голоса. Трек забивает речь и роняет точность у любого движка. Расшифровывайте дорожку до сведения.
  • Двое говорят одновременно. Для диалогов включайте диаризацию: реплики разъедутся по спикерам.
  • Склейка посреди слова. Монтаж рубит окончания, и на стыке кадров теряется хвост фразы; оставляйте на склейках немного воздуха.
  • Иноязычные вставки. Расшифровка идёт на языке речи: английская фраза в русском ролике останется английской, перевода нет.
  • Кодировка не та. Русский .srt, сохранённый в Windows-1251, откроется в плеере кракозябрами, держите файлы в UTF-8; лишний BOM в начале файла иногда ломает первый блок. При переносе SRT в VTT добавьте первую строку WEBVTT и замените в тайм-кодах запятую точкой.

Что сделать с ближайшим роликом

Если субтитры в reels вы сейчас ставите редактором площадки, начните с одной проверки. Экспортируйте последний ролик в mp4, прогоните через расшифровку и сравните полученный SRT с тем, что выдал встроенный редактор. Смотреть стоит на имена, названия продуктов и профессиональные термины: именно на них автоподписи ошибаются заметнее всего.

Наши цифры под эту задачу такие: принимаем файл, из видео mp4, mov, mkv и webm, на выходе srt и vtt с тайм-кодами. Обработка занимает 1–2% длительности записи, тариф от 0,29 ₽/мин, десяток минутных вертикалок это около 2,9 ₽. Проверить на своём голосе можно бесплатно, через Telegram-бот @VoicePalatineBot: до 100 транскрибаций в день.

Дальше рутина одного вечера: экспорт ролика, загрузка файла, получение SRT, вычитка с сохранением в UTF-8, разрезка блоков до двух строк по 37–42 знака, шрифт и положение под вертикальный кадр. После этого один файл субтитров ложится и в Reels, и в TikTok, и в Shorts, а текст из него уходит в описание и в пост.