Как конвертировать субтитры 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 / Добро пожаловать обратно на шоу.
- Загрузите episode-01.srt в набор инструментов для субтитров. Формат определен; появится счетчик сигналов и любые сообщения проверки.
- Исправьте все, что указано как ошибка. Предупреждения о наложениях заслуживают внимания, но они редко блокируют воспроизведение.
- Скачать как VTT.
Результат: Файл, начинающийся со строки WEBVTT, за которой следуют реплики, временные метки которых имеют вид 00:00:02.000 --> 00:00:04.500 с точками. Нумерация реплик изменена с 1, текст и его внутренние переносы строк не изменяются, а тайминги идентичны миллисекундам.
Откройте инструмент
Преобразование субтитров с помощью Subtitle Toolkit
Анализирует и переписывает в вашем браузере, что важно для подписей, находящихся под запретом. Он не транскрибирует и не переводит.
Что это не распространяется
- Только SRT и WebVTT. ASS и SSA, TTML, SAMI и встроенные форматы субтитров широковещательной передачи не читаются и не записываются.
- Позиционирование метки сохраняется только для вывода VTT; экспорт в SRT удаляет его.
- Блоки STYLE и REGION пропускаются, а не преобразуются.
- Этот инструмент преобразует уже имеющиеся у вас файлы субтитров. Он не расшифровывает аудио и не переводит.
- Номера вызовов всегда перенумеровываются при экспорте, поэтому файл, нумерация которого была намеренно несмежной, потеряет ее.