Коротко
Файл SRT (SubRip Subtitle, розширення
.srt) — це звичайний текстовий файл із субтитрами: пронумеровані блоки, кожен із часом початку й завершення у форматігодини:хвилини:секунди,мілісекундита текстом для показу. Він не містить ні відео, ні звуку, відкривається в будь-якому текстовому редакторі й приймається майже всіма плеєрами та відеоплатформами. Його можна написати вручну, згенерувати зі звичайного тексту або експортувати з транскрипту, а потім перевірити валідатором перед завантаженням.
Якщо ви коли-небудь вмикали субтитри у відеоплеєрі, цілком імовірно, що працював файл SRT. Це один із найстаріших форматів субтитрів, що досі в щоденному вжитку, і один із найпростіших файлових форматів узагалі, а тому він усюди.
Ця сторінка охоплює весь формат в одному місці: що всередині файлу, точні правила для кожної частини з першоджерелами, як створити й виправити файл та чим він відрізняється від WebVTT.
Як виглядає файл SRT зсередини?
Файл SRT — це список реплік (cue), і кожна репліка має однакові чотири частини: порядковий номер, рядок часу, один-два рядки тексту й порожній рядок. Відкрийте будь-який файл .srt у Блокноті чи TextEdit — і побачите блоки на кшталт цих:
1
00:00:01,600 --> 00:00:04,200
Ласкаво просимо назад на канал.
2
00:00:04,400 --> 00:00:07,900
Сьогодні ми розбираємо, як
насправді працюють файли субтитрів.
3
00:00:08,100 --> 00:00:10,000
<i>(двері зачиняються)</i>Читаючи зверху вниз, друга репліка каже: показати ці два рядки з 4,4-ї по 7,9-ту секунду відео. Тут немає ні заголовків, ні розділу стилів, ні двійкових даних, тому файл лишається малим і витримує відкриття, редагування й збереження майже будь-якою програмою.
Які правила формату SRT?
Найближче до довідника для SubRip — описи, які ведуть архіви та контейнерні формати. Опис формату Бібліотеки Конгресу подає таймкод як години:хвилини:секунди,мілісекунди, записаний 00:00:00,000, зі стрілкою --> між початком і кінцем, а документація Matroska щодо субтитрів описує той самий чотиричастинний блок.
| Частина | Правило | Приклад |
|---|---|---|
| Порядковий номер | Ціле число в окремому рядку, що починається з 1 і зростає | 2 |
| Рядок часу | Початок і кінець як години:хвилини:секунди,мілісекунди, розділені --> з пробілом з кожного боку | 00:00:04,400 --> 00:00:07,900 |
| Роздільник мілісекунд | Кома, а не крапка; крапка належить WebVTT | ,400 |
| Текст | Один або кілька рядків, що показуються разом; перенесення рядка у файлі — це перенесення рядка на екрані | Сьогодні ми розбираємо, як |
| Порожній рядок | Завершує репліку; наступний номер починає наступну | (порожній рядок) |
| Форматування | Прості теги на кшталт <i>, <b> і <u>, які враховують багато плеєрів, а інші ігнорують | <i>(двері зачиняються)</i> |
Дві дрібниці ламають більше файлів, ніж усе інше разом узяте. Перша — кома: рядок часу з крапками, 00:00:04.400, — це звичка WebVTT, і деякі інструменти відмовляються від неї в SRT. Друга — порожній рядок: репліка без порожнього рядка зливається з наступною, і плеєр або об’єднує їх, або відкидає одну.
Кодування
Зберігайте файли SRT в UTF-8. Воно охоплює всі писемності, від латинських літер з акцентами до арабської, китайської та емодзі, і саме його очікують сучасні плеєри. Файли зі старіших інструментів для Windows іноді мають регіональне застаріле кодування, через що українські літери перетворюються на знаки питання чи ланцюжки дивних символів. Повторне збереження файла в UTF-8 у текстовому редакторі це виправляє. Деякі програми також додають невидиму позначку порядку байтів на початок файлу UTF-8; більшість плеєрів її ігнорують, але якщо суворий інструмент відхиляє першу репліку, перше, що варто спробувати, — зберегти в UTF-8 без цієї позначки.
Довжина рядка — це правило читання, а не формату
Сам формат не обмежує довжину рядка; це роблять настанови зі стилю. Опис Бібліотеки Конгресу згадує ліміт у 32 символи на рядок, BBC Subtitle Guidelines встановлюють 37 символів для мовлення, а Netflix English (USA) Timed Text Style Guide дозволяє 42 символи на рядок і щонайбільше два рядки. Плеєр усе одно покаже довший рядок, зазвичай переносячи його, тож ліміт стосується того, чи встигнуть люди прочитати субтитр, а це міряє перевірка швидкості читання в нашому валідаторі SRT за тією настановою, яку ви оберете.
Для чого використовують файли SRT?
- Відеоплатформи: завантажте SRT разом із відео, і глядачі отримають субтитри, які можна ввімкнути.
- Плеєри для ПК і телевізорів: VLC та багато інших плеєрів завантажують SRT, що лежить поруч із відеофайлом під тією самою назвою.
- Переклад: перекладачі замінюють текстові рядки й не чіпають таймінг, отримуючи по одному SRT на кожну мову.
- Монтажне програмне забезпечення: поширені відеоредактори імпортують SRT як доріжку субтитрів.
- Доступність: субтитри для глухих і слабочуючих глядачів, з описами звуків у дужках та іменами мовців, вміщуються в текстові рядки звичайного SRT.
Як створити файл SRT?
З відео автоматично
Для відео на YouTube вставте посилання в інструмент транскрипту YouTube і натисніть SRT на сторінці транскрипту: таймінг береться з власних субтитрів відео. Для ваших власних записів і файлів застосунок SozAI транскрибує звук 99 мовами та експортує субтитри.
З тексту, який у вас уже є
Якщо у вас є сценарій чи транскрипт у вигляді звичайного тексту, безкоштовний генератор TXT у SRT перетворює кожен абзац на репліку й надає їй тривалість за довжиною, зі швидкістю 150 слів за хвилину, не коротшу за 2 секунди й не довшу за 8. Спершу розбийте довгі абзаци: репліка з понад 20 слів упирається в ліміт 8 секунд і виходить надто швидкою для читання. Він працює у вашому браузері, і нічого не завантажується.
Вручну
Для короткого ролика написати SRT у текстовому редакторі цілком розумно: дотримуйтеся чотиричастинного блоку, збережіть як subtitles.srt в UTF-8 — і готово. Для відео довше за хвилину-дві таймування вручну стає виснажливим, і один із двох способів вище швидший.
Чому мій файл SRT не працює?
| Проблема | Звична причина | Виправлення |
|---|---|---|
| Субтитри взагалі не показуються | Неправильне розширення, неправильне кодування або пошкоджений рядок часу | Пропустіть файл через валідатор SRT, який назве зламаний блок |
| Субтитри випереджають або запізнюються на однакову величину | У відео є вступ чи монтажна склейка, про які файл не знає | Зсуньте всі таймкоди одразу інструментом зсуву часу субтитрів |
| Субтитри дедалі більше розходяться з відео під час відтворення | Файл розраховано на іншу частоту кадрів, наприклад 23,976 проти 25 | Дивіться чому субтитри розсинхронізуються |
| Літери з діакритикою виглядають спотворено | Збережено в застарілому кодуванні | Збережіть повторно в UTF-8 |
| Платформа відхиляє файл | Вона очікує WebVTT | Конвертуйте за допомогою конвертера VTT і SRT |
Чим SRT відрізняється від WebVTT і кадрового таймкоду?
WebVTT (.vtt) — це формат W3C, який використовують відеоплеєри HTML5. Специфікація W3C WebVTT записує мілісекунди після крапки з трьома цифрами й робить години необов’язковими, а файл починається з рядка-заголовка WEBVTT; вона також додає позиціонування й стилізацію, яких у SRT немає. Таймінг — це той самий момент, записаний інакше, тож перетворення одного на інше — справа розділових знаків і заголовків, докладніше про що в VTT проти SRT.
Відеоредактори рахують час у кадрах, а не в мілісекундах, як таймкод SMPTE, HH:MM:SS:FF. SRT зберігає реальний час, тож коли субтитри роблять із таймкоду монтажу, результат визначає частота кадрів: за 29,97 кадра за секунду година таймкоду non-drop у реальному часі на 3,6 секунди довша, ніж каже позначка. Наш конвертер таймкодів перетворює таймкод SMPTE, зокрема drop-frame, на мітки часу SRT і навпаки.
Якщо вам потрібні лише слова без жодного таймінгу, інструмент «Субтитри в текст» прибирає номери й таймкоди з SRT чи VTT і залишає читабельні абзаци.

