Русский

Как конвертировать субтитры SRT в WebVTT

Загрузите файл в Subtitle Toolkit — формат определяется автоматически — и загрузите его в другом формате. Тайминги сохраняются внутри в целых миллисекундах, поэтому преобразование является точным, а двустороннее преобразование не накапливает дрейф.

Переименование файла не работает. Файл WebVTT должен начинаться с буквальной строки WEBVTT и перед миллисекундами должна стоять точка, а не запятая. Браузер, которому передан переименованный SRT, обычно вообще ничего не отображает, без объяснения причин.

Три различия, которые на самом деле портят воспроизведение

Во-первых, заголовок. Файл WebVTT начинается со слова WEBVTT в первой строке. SRT не имеет заголовка и начинается с первого сигнала. Эта единственная пропущенная строка является наиболее распространенной причиной того, что преобразованный файл не работает в браузере.

Во-вторых, разделитель миллисекунд. SRT записывает 00:00:01,500 через запятую; WebVTT записывает 00:00:01.500 с точкой. Игрок, ожидающий одного и получивший другое, обычно отклоняет кий.

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

Есть более мелкие различия, которые имеют значение реже. WebVTT позволяет опускать компонент часов, поэтому 01:30.000 означает девяносто секунд. Он также поддерживает настройки сигнала после метки времени, например line:90% align:center.

Что выдерживает преобразование, а что нет

  • Тайминги выдерживают ровно, в обе стороны. Оба формата выражают целые миллисекунды.
  • Разрывы строк внутри реплики сохраняются. Они имеют значение для читаемости и сохраняются.
  • Настройки сигналов, такие как линия и выравнивание, сохраняются в VTT и удаляются при переходе к SRT, поскольку SRT не имеет возможности их выразить.
  • Блоки WebVTT STYLE и REGION пропускаются, а не преобразуются по той же причине.
  • Номера меток при экспорте перенумеровываются последовательно с 1, что устраняет пробелы и дубликаты, которые накапливаются в отредактированных вручную файлах.

Проверка происходит при загрузке

Каждый файл проверяется при загрузке, и результаты отображаются над предварительным просмотром. В каждом сообщении указывается конкретный номер сигнала, поскольку фраза «этот файл недействителен» бесполезна в файле с девятьюстами сигналами.

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

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

Удаление форматирования пока вы там

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

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

Рабочий пример: титры для видеоэлемента HTML5.

У вас есть episode-01.srt от службы транскрипции, и вам нужны субтитры к видео на веб-странице. На странице используется элемент отслеживания, для которого требуется WebVTT.

Файл SRT начинается так:

1 / 00:00:02,000 --> 00:00:04,500 / Добро пожаловать обратно на шоу.

  1. Загрузите episode-01.srt в набор инструментов для субтитров. Формат определен; появится счетчик сигналов и любые сообщения проверки.
  2. Исправьте все, что указано как ошибка. Предупреждения о наложениях заслуживают внимания, но они редко блокируют воспроизведение.
  3. Скачать как VTT.

Результат: Файл, начинающийся со строки WEBVTT, за которой следуют реплики, временные метки которых имеют вид 00:00:02.000 --> 00:00:04.500 с точками. Нумерация реплик изменена с 1, текст и его внутренние переносы строк не изменяются, а тайминги идентичны миллисекундам.

Откройте инструмент

Преобразование субтитров с помощью Subtitle Toolkit

Анализирует и переписывает в вашем браузере, что важно для подписей, находящихся под запретом. Он не транскрибирует и не переводит.

Что это не распространяется

  • Только SRT и WebVTT. ASS и SSA, TTML, SAMI и встроенные форматы субтитров широковещательной передачи не читаются и не записываются.
  • Позиционирование метки сохраняется только для вывода VTT; экспорт в SRT удаляет его.
  • Блоки STYLE и REGION пропускаются, а не преобразуются.
  • Этот инструмент преобразует уже имеющиеся у вас файлы субтитров. Он не расшифровывает аудио и не переводит.
  • Номера вызовов всегда перенумеровываются при экспорте, поэтому файл, нумерация которого была намеренно несмежной, потеряет ее.