Skip to main content
Бесплатно в браузере, ничего не загружается

Конвертируйте SRT в VTT — и VTT обратно в SRT

Откройте файл субтитров, выберите нужный формат и заберите его обратно. Файл читает эта страница, и он не покидает ваш браузер: без загрузки, без аккаунта, без очереди.

Обе стороны · сдвиг тайминга · проверка корректности

Здесь ничего не загружается. Файл разбирается и переписывается внутри этой вкладки, и ни один запрос не покидает браузер.

Конвертировать в

Положительное значение сдвигает субтитры позже, отрицательное — раньше. Округляется до миллисекунды и упирается в начало видео.

Ожидание файла

Справка

SRT и WebVTT рядом

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

Сравнение форматов субтитров SubRip (SRT) и WebVTT поле за полем.
ПараметрSRT (SubRip)WebVTT
Расширение файла.srt.vtt
MIME-типapplication/x-subrip, официально так и не зарегистрирован — некоторые формы загрузки считают SRT обычным текстом.text/vtt, зарегистрирован. Сервер обязан отдавать именно его, иначе браузер не загрузит дорожку.
Первая строкаНомер первой реплики. Заголовка нет, поэтому SRT нельзя опознать по первым байтам файла.WEBVTT, обязательно. Всё, что стоит после него в той же строке, — заголовок, и он игнорируется.
Метка времени00:01:02,500 — запятая перед миллисекундами.00:01:02.500 — точка перед миллисекундами.
Поле часовПишется всегда, даже для отметки в пять секунд: 00:00:05,000.Необязательно. 00:05.000 — корректная отметка в пять секунд.
Метка репликиПорядковый номер над таймингом. Он позиционный, поэтому перенумеровывается при каждом добавлении или удалении реплик.Необязательное имя — любой текст без стрелки. Используется скриптами и стилями, зрителю не показывается.
ПозиционированиеНет. Где субтитр окажется на экране, решает плеер.Настройки реплики после конечной метки времени: align, line, position, size и vertical.
ОформлениеНе описано. Плееры по традиции терпят несколько тегов вроде курсива и жирного, а насчёт остального расходятся.Жирный, курсив, подчёркивание, теги класса и голоса, плюс селектор ::cue в CSS.
КомментарииСинтаксиса комментариев нет.Блоки NOTE, которые плееры пропускают.
Кодировка текстаНе объявлена. Отсюда и берутся кракозябры вместо букв с диакритикой: плеер угадывает и иногда угадывает неверно.UTF-8, требование спецификации.
Чем проигрываетсяНастольными плеерами и большинством форм загрузки, принимающих отдельный файл субтитров.Браузерами, через элемент track в HTML5 — обычная причина конвертировать.

Конвертация переписывает обёртку, а не тайминг: один и тот же момент — это 00:01:02,500 в SRT и 00:01:02.500 в WebVTT. Потери идут только в одну сторону: имена реплик и их настройки существуют в WebVTT, и в SRT им деться некуда, поэтому они отбрасываются, а текст реплик остаётся ровно как написан.

Арифметика

Как читаются метки времени

Метка времени — это счёт миллисекунд

Оба формата хранят абсолютное смещение от первого кадра, а не номер кадра, поэтому здесь ничто не зависит от частоты кадров. Часы, минуты и секунды переводятся и складываются; дробная часть — всегда тысячные, поэтому .5 значит полсекунды, а не пять миллисекунд.

00:01:02,500 = 62 500 мс

Сдвиг — это одна константа, прибавленная к обоим концам

Каждое начало и каждый конец сдвигаются на одну и ту же величину, поэтому длительности не меняются. Смещение округляется до миллисекунды — точнее ни один из форматов не выражает. Отрицательное смещение упирается в ноль: ничто не начинается раньше самого видео, а реплика, целиком уехавшая за ноль, схлопывается в реплику нулевой длины, а не исчезает молча.

62 500 мс − 1,5 с = 61 000 мс

Сдвиг не лечит расхождение

Одно смещение лечит субтитры, которые опаздывают или спешат на одну и ту же величину всё время: обычно это значит, что их таймили по монтажу с другой головой — заставкой, логотипом, обрезанным отсчётом. И это неверное лечение, когда расхождение растёт по ходу фильма. Тогда это ошибка скорости, почти всегда конверсия частоты кадров, и нужен перетайминг.

23.976 → 24 fps ≈ 3,6 с расхождения за час

Самое полезное

Что ищет проверка корректности

Конвертация — простая половина дела. Большинство файлов субтитров, которые ведут себя странно, имеют правильный формат и дефекты, о которых экспортёр не сказал. Всё ниже проверяется на сконвертированном результате, уже после сдвига, поэтому вы читаете то же, что скачаете.

Наложение реплик
Реплика начинается до того, как закончилась предыдущая. Плееры ведут себя по-разному: одни обрезают раннюю, другие показывают обе строки, третьи выбрасывают одну. Это самый частый дефект файла, правленного вручную, и тот, который чаще всего принимают за баг плеера.
Реплики нулевой длины
Начало и конец в одном и том же моменте, поэтому большинство плееров не показывают ничего. Такие появляются после небрежного сдвига или правки, которая свела одну границу с другой.
Реплики, которые кончаются раньше начала
Недопустимо в обоих форматах. Некоторые плееры перестают читать файл на ошибке, поэтому одна перевёрнутая реплика способна погасить все субтитры после неё. Чините это в первую очередь.
Реплики не по порядку
Реплика начинается раньше, чем та, что стоит выше. WebVTT ждёт реплики в порядке начала, а SRT это подразумевает, поэтому плеер, доверяющий порядку, может не показать ничего после ошибки.
Блоки, которые не удалось прочитать
Сообщаются с номером строки, а не пропускаются молча: неразборчивая строка тайминга или реплика с таймингом, но без текста. И то и другое отбрасывается, поэтому по счёту реплик видно, потерялось ли что-нибудь.

В какую сторону

Какое направление вам действительно нужно

В девяти случаях из десяти ответ диктует то, что будет проигрывать видео, а не предпочтения.

SRT в VTT — для браузера

Элемент track в HTML5 читает только WebVTT. Если субтитров нет на веб-странице, но они работают в любом настольном плеере, первым делом проверьте, не стоит ли за track файл SRT, — а затем, отдаёт ли его сервер как text/vtt.

VTT в SRT — для всего остального

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

Ни то ни другое, если субтитры вжаты в картинку

Субтитры, вжатые в картинку, — часть видео, и отдельный файл им не нужен. Подходит для лент с автозапуском без звука и не подходит везде, где зритель должен иметь возможность их выключить.

Почему это здесь важно

Файл не покидает эту страницу

Файлы субтитров тихо чувствительны. В расшифровке лежит каждое слово интервью, невышедшей серии, сценария под эмбарго, — а обычный способ их сконвертировать состоит в том, чтобы отдать их чужому серверу. Эта страница делает работу в браузере, и это единственная версия такого обещания, которую вы можете проверить сами.

  • Парсер и запись работают в этой вкладке. За кнопкой нет никакого маршрута, и запрос никуда не уходит.
  • Открытие файла читает его через диалог, который браузер уже разрешил; копия нигде больше не создаётся.
  • Файл для скачивания собирается в памяти той же вкладки. Закройте страницу — и не останется ничего.

После загрузки страницы можно отключиться от сети — конвертер продолжит работать. Это самый простой способ проверить заявление о приватности у любого инструмента, включая этот.

ДАЛЬШЕ ФОРМАТА

В редакторе субтитры попадают на картинку

Эта страница чинит формат. Когда реплики выставлены верно, редактор таймлайна — то место, где их вжигают в видео и оформляют под него.

  • Бросьте готовый SRT или VTT на таймлайн — реплики придут уже с таймингом, перенабирать ничего не нужно.
  • Оформите субтитры под монтаж: положение, безопасная зона, начертание и цвет, сверенные с площадкой, куда вы публикуете.
  • Выгрузите всё одним файлом — с вшитыми субтитрами или отдельной дорожкой, как требует площадка.

Конвертировать субтитры здесь бесплатно и без аккаунта. Редактор — часть продукта, в который вы входите.

Как устроен редактор

Вопросы

Перед конвертацией

Конвертер субтитров бесплатный?

Да, без аккаунта, без входа и без водяного знака. Это страница, которая запускает парсер в вашем браузере, поэтому конвертация не стоит нам ничего и брать за неё нечего.

Мой файл субтитров куда-нибудь загружается?

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

Конвертировать в SRT или в WebVTT?

Конвертируйте в WebVTT, если видео будет играть браузер через элемент track в HTML5: этот элемент читает только WebVTT. Конвертируйте в SRT для настольных плееров и форм загрузки, которые просят отдельный файл субтитров. Если адресат ничего не говорит, SRT — более безопасная догадка.

Теряются ли при конвертации стили или позиционирование?

Текст реплик проходит ровно как написан, вместе со встроенными тегами. Перехода в SRT не переживают две вещи, для которых в SRT нет места: имена реплик и настройки выравнивания и позиции. В обратную сторону не теряется ничего, а нумерация SRT заново выставляется с единицы.

Можно поправить субтитры, которые уходят на секунду-другую?

Да. Введите смещение в секундах, и каждая реплика сдвинется на эту величину, в плюс или в минус, с округлением до миллисекунды. Отрицательное смещение упирается в ноль и не уходит за начало видео.

Субтитры расходятся всё сильнее по ходу видео. Поможет ли сдвиг?

Нет, и стоит понимать почему. Если расхождение одинаково в начале и в конце, его лечит одно смещение. Если расхождение растёт, значит часы субтитров идут не с той скоростью, что видео, — обычно это конверсия 23.976 против 24 кадров в секунду, около 3,6 секунды к концу часа. Тут нужен перетайминг, и этот инструмент не притворяется, что умеет его делать.

Субтитры были последним шагом.Сделайте и само видео.

PrismPoster — одна студия для изображений, видео, музыки и таймлайн-редактор, который кладёт субтитры прямо на монтаж. Новый аккаунт получает 50 стартовых кредитов.