Как проверить и отредактировать субтитры SRT
Машинные субтитры никогда не бывают верными на 100%, поэтому перед публикацией их нужно вычитать. SRT это обычный текст; если знать формат и типичные ошибки, 10-минутное видео вычитывается быстро. Если вам нужен не файл субтитров, а обычный текстовый транскрипт без временных меток (видео в текст), способ описан в конце.
Формат SRT состоит из четырёх строк
Каждый блок это номер, временная метка, текст и пустая строка:
1 00:00:00,060 --> 00:00:02,900 I want to have a chat with you today. 今天我想和大家聊一聊, 2 00:00:02,900 --> 00:00:05,300 How can a small team spend very little money? 一个小团队怎样用很少的钱
- Временная метка записывается как
hh:mm:ss,mmm --> hh:mm:ss,mmm; обратите внимание на запятую перед миллисекундами. - Двуязычный блок это просто текстовая часть из двух или более строк.
- Между блоками должна быть одна пустая строка.
Чем редактировать
- Текстовый редактор: чтобы исправить пару опечаток, хватит TextEdit в macOS (с сохранением как обычный текст) или любого редактора кода.
- Программа для монтажа: импортируйте SRT, поправьте по картинке, затем экспортируйте. Удобно, если заодно нужно настроить оформление.
- Специальный редактор субтитров: если блоков много или нужно сильно менять тайминг, например открытый Aegisub.
Twinsubs пока только создаёт файлы и не имеет встроенного редактора. Так сделано намеренно: вычитку лучше оставить инструменту, который вы уже знаете.
При сохранении сохраните два условия: кодировка остаётся UTF-8, а расширение остаётся .srt. Если TextEdit по умолчанию сохраняет как форматированный текст, сначала переключите его на обычный текст, иначе в файл попадут данные форматирования.
Пять видов ошибок в машинных субтитрах
- Имена собственныеИмена людей, названия компаний, продуктов и терминов. Распознавание может записать похожее по звучанию слово, а перевод может передать его буквально. Проверяйте их в первую очередь.
- Числа и единицы измеренияГоды, суммы, проценты. Одна неверно расслышанная цифра меняет смысл, поэтому сверяйте с видео.
- Созвучные слова и пропущенные фразыТам, где музыка перекрывает голос, половина фразы может пропасть или смениться похожим по звучанию словом.
- Места разрывовБлок, который обрывается посреди предложения, читается плохо. Объедините или разделите блоки, чтобы это исправить.
- Пересекающиеся или слишком короткие интервалыДва блока, интервалы которых пересекаются, или блок, показанный меньше секунды, так что зритель не успевает прочитать. Некоторые редакторы отказываются импортировать пересечения.
Порядок вычитки, который экономит время
- Сначала найдите имена собственныеПоиском и заменой по всему файлу исправьте сразу все неверные написания одного и того же слова.
- Потом пробегите числаСмотрите только блоки с цифрами и сверяйте их с видео.
- В конце посмотрите целикомЗагрузите субтитры в проигрыватель вроде IINA, включите с начала и останавливайтесь только там, где текст читается плохо.
Длинное видео не нужно слушать слово за словом. При таком порядке большинство ошибок находится на первых двух шагах.
В двуязычном файле: какая строка неверна?
В каждом блоке двуязычного SRT две строки: на целевом языке и на исходном. Если что-то читается плохо, сначала проверьте исходную строку:
- Исходная строка уже неверна: распознавание расслышало не то. Исправьте исходную строку, затем соответствующую строку перевода.
- Исходная строка верна, а перевод неуклюж: проблема перевода. Исправьте только строку перевода.
- Обе строки верны, но смысл нарушен: обычно разрыв разрезал одну мысль надвое. Объедините два соседних блока или сдвиньте границу.
Превращение SRT в обычный текст (видео в транскрипт)
Вам нужны не субтитры, а транскрипт без номеров и временных меток, например для заметок по интервью или конспекта курса. Для видео Twinsubs создаёт только SRT, поэтому способ такой: сначала получите SRT, а затем уберите строки с номерами и временными метками. Выберите любой из двух путей:
Способ первый: одна команда в Терминале (встроенные инструменты macOS)
Сначала выберите файл: если нужен только один язык, возьмите файл на одном языке (например, Interview.en.srt); в двуязычном остаются оба языка. Затем выполните в Терминале такую команду (замените имя файла своим, а если в нём есть пробелы, возьмите его в кавычки):
tr -d '\r' < Interview.en.srt | grep -vE '^[0-9]+$|-->' | sed '/^$/d' > Interview.txt
Она делает три вещи: убирает окончания строк Windows, удаляет строки, состоящие только из цифр, и строки с --> (временные метки), и удаляет пустые строки. Результат сохраняется как Interview.txt, исходный SRT остаётся нетронутым.
Обратите внимание: строка субтитров, состоящая только из цифр (например, строка, где написано только «2024»), тоже удаляется как номер блока. После преобразования просмотрите места, где встречаются числа.
Способ второй: замена по регулярному выражению в текстовом редакторе
- Резервная копия: сначала скопируйте SRT и работайте с копией.
- Удалите строки с временными метками: в редакторе с поддержкой регулярных выражений (VS Code, Sublime Text и т. п.) найдите
^\d\d:\d\d:\d\d,\d\d\d --> .*\nи замените пустым значением. - Удалите строки с номерами: найдите
^\d+\nи замените пустым значением. - Удалите лишние пустые строки: найдите
\n{2,}и замените на\n.
Каждая строка результата это один блок, а не абзац. Чтобы получить связные абзацы, потом склейте соседние строки. Если нужно знать, в каком месте видео что-то сказано, оставьте SRT и не преобразуйте.
У перевода в реальном времени свой путь: после встречи можно сохранить сеанс перевода в текстовый файл; см. двуязычные субтитры для встреч.
Субтитры носят справочный характер: перед публикацией вычитайте их. См. Условия использования, раздел 3.
Вопросы и ответы
Можно ли превратить SRT в обычный текстовый транскрипт?
Да. SRT это обычный текст: уберите строки с номерами и временными метками, и останется транскрипт. В разделе о превращении SRT в обычный текст приведены команда для Терминала и способ для текстового редактора.
Можно ли оставить в двуязычном SRT только один язык?
Проще всего взять файл на одном языке, который Twinsubs создаёт рядом (например, .en.srt): в нём только целевой язык. Если у вас есть только двуязычный файл, воспользуйтесь в редакторе поиском и заменой, чтобы построчно удалить один из двух языков.
SRT открывается с кракозябрами. Что делать?
Скорее всего, дело в кодировке. Откройте или сохраните файл в текстовом редакторе как UTF-8. Twinsubs записывает UTF-8.
Весь файл субтитров идёт раньше или позже речи.
Сначала убедитесь, что субтитры именно от этого видео. Если весь файл действительно сдвинут, сдвиньте его целиком в специальном редакторе субтитров (например, функцией сдвига времени в Aegisub), а не правьте метки блок за блоком.
Что значит пересечение по времени?
Следующий блок начинается раньше, чем заканчивается предыдущий. Некоторые редакторы отказываются импортировать такие файлы; сдвиньте конец раннего блока так, чтобы он был до начала следующего.
Обновлено: 2026-10-23. Вернуться на главную страницу Twinsubs