Конвертер VTT в TXT
Или вставьте текст субтитров
Что меняет эта конвертация
4 пункта теряются или требуют решения
- Тайминг
весь таймлайн (целевой формат вообще не хранит тайминг)
- Оформление
всё оформление (жирный, курсив, цвет, обводка, тень)
- Переносы строк
переносы строк (многострочные реплики будут соединены в одну строку)
- Содержимое формата
содержимое, которое исходный формат хранит вне реплик (блоки не-реплик, текст заголовка, настройки реплик, закомментированные события): целевому формату его некуда деть
Этот список выведен из матрицы возможностей этих двух форматов, а не из загруженного файла. Конкретный файл может потерять больше, если использует возможности, которые формат допускает, а матрица не моделирует.
Перевод VTT в TXT меняет не содержание, а способ записи: VTT — веб-формат субтитров с обязательной строкой WEBVTT в начале файла, TXT — чистый текст без времени, разметки и оформления. VTT записывает интервал (00:00:01.000 → 00:00:03.500), а TXT не хранит времени: от каждой реплики останется только текст. Порядок реплик и текст при этом сохраняются полностью.
Сайт перечисляет потери до запуска — вся шкала времени, оформление, жёсткие переносы строк, служебные блоки VTT; VTT записывает и начало, и конец каждой реплики, а TXT не хранит таймкодов вообще: от шкалы останется только текст.
Обработка идёт на вашем устройстве, без регистрации и без передачи файлов: пакет из нескольких серий обрабатывается по очереди.
Примеры
Обычный файл VTT, переведённый в TXT
Вход
WEBVTT
intro
00:00:01.000 --> 00:00:04.000
Hello there.
00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.
Выход
Hello there.
Second line with italics.
Сравните две стороны: VTT хранит интервалы (00:00:01.000 → 00:00:03.500), а TXT оставляет только текст, причём каждая строка выходит отдельно.
Тот же перевод на неаккуратном файле VTT
Вход
a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.
Выход
No header, two lines before the timecode.
Второй файл проверяет граничные случаи. VTT читает его без падения, а TXT записывается заново, поэтому часть дефектов исчезает, но пропущенные блоки не возвращаются.
Частые вопросы
Сохранится ли точность таймкода VTT в файле TXT?
VTT записывает интервал (00:00:01.000 → 00:00:03.500), а TXT не хранит времени: от каждой реплики останется только текст. Порядок реплик и текст при этом сохраняются полностью.
Что именно теряется при конвертации VTT в TXT?
VTT записывает и начало, и конец каждой реплики, а TXT не хранит таймкодов вообще: от шкалы останется только текст. VTT хранит базовое оформление: жирный, курсив, подчёркивание и классы, а TXT умеет только чистый текст: шрифт, цвет, обводка, тень и начертание исчезнут. VTT различает жёсткие переносы строк, а TXT пишет каждую строку отдельно, поэтому границы многострочной реплики теряются. VTT хранит вне реплик блоки NOTE, STYLE и REGION и настройки align: и position:, а в TXT для них нет места. Это полный список потерь для пары VTT → TXT; сайт показывает его до запуска.
Что происходит с блоками NOTE и STYLE из VTT при переводе в TXT?
VTT хранит вне реплик блоки NOTE, STYLE и REGION и настройки вроде align: и position:. В TXT для них нет места, поэтому они теряются; остаются текст, интервалы и базовое начертание, если TXT его поддерживает.
Сохранятся ли переносы строк и порядок реплик при переводе VTT в TXT?
VTT различает жёсткий перенос внутри реплики, а TXT — нет: каждая строка текста выходит отдельной строкой, поэтому границы многострочной реплики теряются, а общий порядок строк сохраняется.
В какой кодировке сохраняется TXT и какое у него расширение при переводе из VTT?
Файл TXT записывается в UTF-8 без BOM с переводами строк LF и расширением .txt; при чтении VTT сайт сам определяет BOM и стиль переводов строк и нормализует их. Кириллица и другие алфавиты сохраняются без замены символов.
Куда исчезает таймкод VTT при сохранении в TXT?
TXT — это чистый текст без отметок времени, поэтому начало и конец каждой реплики VTT не записываются. Каждая строка текста выходит отдельной строкой, а границы реплик определяются только абзацами.