Как создать SRT-файл: вручную, из видео или из аудио
Как создать SRT-файл: набрать в Блокноте или TextEdit, выставить тайминг в редакторе или сгенерировать по аудио и сохранить в UTF-8, чтобы плееры читали файл.
Чтобы создать SRT-файл, напишите в текстовом редакторе пронумерованные блоки субтитров — номер, тайм-код начала и конца, текст, пустая строка — и сохраните файл в UTF-8 с расширением .srt. Для короткого ролика достаточно набрать всё вручную. Для всего, что длиннее, сгенерируйте файл по аудио и поправьте его.
Дальше — четыре способа создать SRT-файл, ловушки диалога сохранения в Windows и на Mac, как проверить файл перед загрузкой и как сделать по одному файлу на каждый язык.
Что внутри SRT-файла?
SRT-файл — это обычный текст, и весь формат умещается в два блока:
1
00:00:01,200 --> 00:00:04,000
Welcome back to the channel.
2
00:00:04,400 --> 00:00:07,850
Today we're fixing the audio
before anything else.
Четыре правила описывают почти любой рабочий файл:
- Блоки нумеруются с единицы, по порядку. Номер стоит на отдельной строке.
- Тайм-код записывается как часы, минуты, секунды и миллисекунды через запятую.
00:00:04,400— запятая принадлежит SRT, точка — WebVTT. Начало и конец соединяются стрелкой-->с пробелом по обе стороны. - Текст занимает одну или две строки. Для языков на латинице обычный потолок — около 42 символов в строке, а для японского и корейского гораздо меньше; цифры по каждому языку есть в руководстве по скорости чтения.
- Пустая строка завершает блок. Без неё следующий блок сливается с этим.
Почти всё оформление в SRT не сохраняется. Справка YouTube об SRT категорична: поддерживаются только базовые версии формата, разметка стилей не распознаётся, а файл должен быть обычным текстом в UTF-8. Если нужны шрифты, цвета или позиции — это уже другой формат; какой из них что хранит, разбирает статья SRT, VTT и ASS.
Четыре способа создать SRT-файл
- Вручную в текстовом редакторе — бесплатно и годится для короткого ролика, но для длинного медленно.
- В редакторе субтитров — бесплатно, есть волновая форма, чтобы точно выставить тайминг.
- Генерация по аудио — распознавание речи пишет текст и тайм-коды, а вы их поправляете.
- Экспорт из видеоредактора — если субтитры уже есть в Premiere Pro или DaVinci Resolve.
Способ 1: набрать SRT в Блокноте или TextEdit
Подойдёт любой текстовый редактор. Ошибки случаются именно при сохранении.
В Windows, в Блокноте:
- Наберите блоки в формате, показанном выше.
- Выберите Файл → Сохранить как.
- В списке Тип файла выберите Все файлы и назовите файл
subtitles.srt. - В списке Кодировка выберите UTF-8 и сохраните файл.
Если оставить тип «Текстовые документы», Блокнот может сохранить файл как subtitles.srt.txt. Проводник по умолчанию скрывает расширения известных типов файлов, поэтому имя выглядит правильным, а файл всё равно не загружается. Один раз включите показ расширений имён файлов в меню «Вид» Проводника — и эта ошибка навсегда останется на виду.
На Mac, в TextEdit:
- Откройте новый документ и до начала набора выберите Формат → Конвертировать в простой текст. Документ TextEdit по умолчанию — форматированный текст, а файл с форматированным текстом, переименованный в
.srt, полон кодов форматирования, которых не читает ни один плеер. - Наберите блоки.
- Выберите Файл → Сохранить, назовите файл
subtitles.srtи выберите кодировку Unicode (UTF-8). Если TextEdit спросит, какое расширение использовать,.srtили.txt, оставьте.srt. - В Finder проверьте, что имя действительно заканчивается на
.srt. Увидеть это поможет Finder → Настройки → Дополнения → Показывать все расширения имен файлов.
Набирать вручную можно для ролика на 30 секунд или быстрой правки. Для десятиминутного интервью это сотни тайм-кодов, которые приходится списывать с плеера, и именно для этого существуют следующие два способа.
Способ 2: расставить тайминг по волновой форме в Subtitle Edit
Subtitle Edit бесплатен, имеет открытый код, работает в Windows, macOS и Linux и создан именно для такой работы. На странице загрузки Subtitle Edit есть все версии. Откройте видео — звук появится под плеером в виде волновой формы: наберите строку, отметьте по видимой речи, где она начинается и заканчивается, и переходите к следующей. Сохранение в SubRip даёт корректный .srt с нумерацией и запятыми в тайм-кодах, так что правила формата выше перестают быть вашей заботой.
Это по-прежнему ручной тайминг, только гораздо быстрее, чем снимать время по часам плеера. Subtitle Edit умеет и генерировать текст через Whisper из своего меню распознавания речи; эту сторону разбирает сравнение офлайн-генераторов субтитров.
Способ 3: сгенерировать SRT из видео или аудио
Распознавание речи пишет текст и тайм-коды за один проход, и ваша работа сводится к правке, а не к набору. Whisper делает это на вашем компьютере, поэтому ничего не загружается; он работает и с видео, и с аудио. Онлайн-генераторы выполняют ту же работу, но после загрузки файла.
С консольной утилитой Whisper (бесплатно, нужны Python и FFmpeg):
whisper interview.mp4 --model turbo --output_format srt
Команда запишет interview.srt в текущую папку. Если определение языка ошибается, добавьте --language es или код того языка, на котором говорят.
С десктопным приложением: в Sablate перетащите видео- или аудиофайл, транскрибируйте его, поправьте текст в редакторе — он помечает строки, которые читаются слишком быстро, — и выберите Export → Subtitle file (.srt). Бесплатный тариф принимает файлы до 10 минут, три в месяц, с моделями Whisper Fast и Balanced и добавляет в конец каждого экспортированного .srt одну короткую строку «Made with Sablate». Pro — $29 разово: любая длина, все модели, без этой строки.
В любом случае прочитайте файл, прежде чем отдавать его дальше. Автоматическая транскрипция ошибается в предсказуемых местах — имена, числа, пунктуация, — а у Whisper есть ещё две странные привычки: писать в тишине фразу вроде «Thank you for watching» и повторять одну строку много раз. Почему Whisper повторяет строки и выдумывает текст объясняет, как предотвратить и то и другое.
Способ 4: экспортировать из видеоредактора
Если субтитры уже есть в вашем редакторе, экспортируйте их, а не набирайте заново:
- Premiere Pro: если на таймлайне есть дорожка субтитров, выберите File → Export → Captions и укажите SRT. В меню панели Captions тоже есть пункт Export to SRT file.
- DaVinci Resolve: выберите File → Export Subtitle и укажите
.srtили.vttлибо щёлкните правой кнопкой мыши по заголовку дорожки субтитров и выберите Export Subtitle.
Как создать субтитры внутри редактора — отдельный вопрос. Распознавание речи в Premiere входит в подписку; в Resolve оно только в Studio, а путь для бесплатной версии — импортировать .srt, сделанный где-то ещё.
Почему мой SRT-файл не загружается?
Обычно по одной из пяти причин, и все пять видны в текстовом редакторе:
- На самом деле это
subtitles.srt.txt. Windows и macOS по умолчанию скрывают расширения известных типов файлов. Включите показ расширений и переименуйте файл. - Файл сохранён как форматированный текст. В обычном редакторе такой файл начинается не с цифры 1, а с управляющих кодов RTF. Начните заново с документа в обычном тексте.
- Файл не в UTF-8. Буквы с диакритикой превращаются в кракозябры, либо загрузку отклоняют; YouTube требует обычный текст в UTF-8. Пересохраните файл, выбрав UTF-8.
- В тайм-коде стоит точка.
00:00:04.400— синтаксис WebVTT. Одни плееры это прощают, другие пропускают блок или отклоняют файл. - Нет пустой строки. Номер и тайм-код следующего блока читаются как текст субтитра, и этот блок пропадает.
В macOS и Linux проблемы, которых не видно глазом, ловят две команды:
file subtitles.srt
grep -nE "[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}" subtitles.srt
file называет кодировку: UTF-8 или обычный ASCII — это нормально, а всё, где упоминается ISO-8859 или extended-ASCII, нужно пересохранить. Строка с grep печатает каждый тайм-код, записанный с точкой. В Windows Блокнот показывает кодировку в строке состояния. Для переведённого файла сравните ещё и число блоков с оригиналом — однострочная команда для этого есть в руководстве по переводу SRT.
Создание SRT-файлов на нескольких языках
Каждый язык — это отдельный файл с теми же тайм-кодами. Многоязычного SRT не бывает: YouTube принимает одну загрузку на язык, а медиасерверы определяют язык по имени файла. Правило, например, описано в документации Plex:
Interview (2026).mp4
Interview (2026).en.srt
Interview (2026).es.srt
Interview (2026).de.srt
Код перед .srt — это двухбуквенный код ISO 639-1 или трёхбуквенный ISO 639-2/B.
Держите один набор тайм-кодов для всех языков. Исправьте первую транскрипцию, а затем переведите её текст на тех же тайм-кодах, вместо того чтобы генерировать каждый язык по аудио отдельно: раздельные прогоны дают расходящиеся границы реплик, и любую правку синхронизации приходится повторять для каждого языка отдельно. Процесс работы с несколькими языками описывает порядок действий. В Sablate перевод — это слой на исходных тайм-кодах, а экспорт All languages · Subtitles в Pro записывает каждый язык отдельным .srt в одну папку.
Какой способ выбрать?
| Вручную | Subtitle Edit | Whisper CLI | Sablate | Экспорт из редактора | |
|---|---|---|---|---|---|
| Цена | Бесплатно | Бесплатно, с открытым кодом | Бесплатно, с открытым кодом | Бесплатный тариф; Pro — $29 разово | Входит в редактор |
| Сам создаёт тайм-коды | Нет | С движками Whisper | Да | Да | Только если речь распознал редактор |
| Видео остаётся на вашем компьютере | Да | Да | Да | Да | Зависит от редактора |
| Редактор для правки | Ваш текстовый редактор | Да | Нет | Да | Да |
| Другие языки | Набираете сами | Встроенный машинный перевод | Только на английский | Слои перевода на тех же тайм-кодах | Зависит от редактора |
| Платформы | Любые | Windows, Mac, Linux | Windows, Mac, Linux | Windows и Mac | Зависит от редактора |
«Ролик на 20 секунд». Наберите вручную. Пять минут в Блокноте или TextEdit, и четырёх правил выше вам достаточно.
«Я хочу, чтобы каждая реплика была выставлена вручную и точно». Subtitle Edit и его волновая форма.
«У меня часовое интервью». Сгенерируйте файл: командная строка Whisper, если вам в ней комфортно, или Sablate, если нужны редактор и проверка скорости чтения перед экспортом. А затем поправьте.
«Субтитры уже есть в моём редакторе». Экспортируйте их. Не набирайте заново то, что программа уже разметила по времени.
«Мне нужно на пяти языках». Сгенерируйте и поправьте один, затем переведите на тех же тайм-кодах — по одному файлу на язык.
SRT — самый простой формат субтитров, поэтому и ломается он по простым причинам: скрытое расширение, форматированный текст, не та кодировка, точка там, где должна стоять запятая. Если с этим всё в порядке, любой из четырёх способов даёт файл, который прочтёт любая платформа. Если вам проще править готовую транскрипцию, чем набирать её, скачайте Sablate для Windows или Mac и создайте файл из аудио.