Формат субтитрів VTT
Що може виразити цей формат
- Оформлення тексту
- Жирний і курсив
- Позиціювання на екрані
- Ні
- Караоке-таймінг
- Ні
- Переноси рядків у репліці
- Так
- Таймлайн
- Початок і кінець для кожної репліки
- Роздільність часу
- 1 мс
- Час зберігається як номери кадрів
- Ні
- Текст справа наліво
- Так
Приклади
Типовий файл VTT, і що з нього читається
Файл
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>.
Що він містить
2 cues, 2 lines of text
00:00:01.000 → 00:00:04.000
Hello there.
00:00:04.500 → 00:00:08.000
Second line with italics. [italic ×1]
[settings align:start position:10%]
Outside the cues:
header "WEBVTT"Права колонка — не перетворений файл, а те, що сайт читає з лівої колонки й з чого починається будь-яке перетворення цього файлу.
Неохайний файл VTT, і що з нього все одно читається
Файл
WEBVTT - boundary sample
NOTE a comment
spanning two lines
STYLE
::cue { color: red }
REGION
id:fred
width:40%
00:01.000 --> 00:03.000
Hours-less timecode with <b>bold</b> and <v Roger>a voice tag.
00:05.000 --> 00:04.000
End before start.
NOTE between cues
00:07.000 --> 00:09.000
entities stay literal.
00:10.000 --> oops
Unreadable end time.
NOTE trailing
Що він містить
3 cues, 3 lines of text
00:00:01.000 → 00:00:03.000
Hours-less timecode with bold and <v Roger>a voice tag. [bold ×1]
00:00:05.000 → 00:00:05.001
End before start.
00:00:07.000 → 00:00:09.000
entities stay literal.
Outside the cues:
header "WEBVTT - boundary sample"
blocks NOTE ×3, STYLE, REGION
Reported while reading — repaired or skipped, never silently:
1 × blocks that were neither a cue nor a NOTE/STYLE/REGION block (they were skipped)
1 × cues whose end time was not after their start time (they were given a 1ms duration)Справжні файли приходять із BOM, переводами рядків Windows, зайвим рядком перед часом або часом, який взагалі не читається. Ніщо з цього не валить обробку: нерозпізнане потрапляє у звіт, а не зникає мовчки.
Конвертувати WebVTT (VTT) в інший формат
Кожен із них працює повністю у вашому браузері. Позначки кажуть, чого коштує цей напрямок, ще до того, як ви його відкриєте.
- Точність
- Дані формату
- Оформлення
- Дані формату
- Таймінг
- Оформлення
- Точність
- Дані формату
- Оформлення
- Частота кадрів
- Дані формату
- Оформлення
- Дані формату
- Оформлення
- Дані формату
- Точність
- Дані формату
- Таймінг
- Оформлення
- Переноси рядків
- Дані формату
Конвертація в цей формат
- SubRip (SRT) → WebVTT (VTT)
- Advanced SubStation Alpha (ASS) → WebVTT (VTT)
- SubStation Alpha (SSA) → WebVTT (VTT)
- YouTube SBV → WebVTT (VTT)
- SAMI (SMI) → WebVTT (VTT)
- LRC Lyrics → WebVTT (VTT)
- MicroDVD → WebVTT (VTT)
- TTML (Timed Text) → WebVTT (VTT)
- SubtitleMatrix JSON → WebVTT (VTT)
- Plain Text (TXT) → WebVTT (VTT)
- CSV Spreadsheet → WebVTT (VTT)
WebVTT (VTT) — один із дванадцяти форматів субтитрів, з якими працює цей сайт, і ця сторінка — його довідник: що формат уміє зберегти, чого не вміє і в який формат його переписати.
WebVTT — вебформат: обов’язковий рядок WEBVTT на початку, базове оформлення <b>, <i> і <u> та налаштування репліки. Час записано як 00:00:01.250, а блоки NOTE, STYLE і REGION живуть поза репліками.
Таблиця вище — це весь перелік можливостей, без прихованих рядків. Якщо рядок каже «ні», саме це й зникне під час конвертації з VTT, і кожна сторінка перетворення нижче попереджає про це до того, як ви відкриєте файл.
Усі ці перетворення виконуються у вашому браузері. Файли нікуди не надсилаються, обліковий запис не потрібен — це важливо для матеріалів під NDA, медичних записів і матеріалів до ефіру, які ще не вийшли.
Часті запитання
Що таке файл VTT?
WebVTT — вебформат: обов’язковий рядок WEBVTT на початку, базове оформлення <b>, <i> і <u> та налаштування репліки. Час записано як 00:00:01.250, а блоки NOTE, STYLE і REGION живуть поза репліками. Файли VTT читають браузери, HTML5-відео, YouTube і сучасні плеєри.
Чи зберігає VTT оформлення?
У VTT — базове оформлення: <b>, <i>, <u>, <c> і CSS-класи через ::cue. Це стосується саме оформлення; позиціювання й караоке — окремі виміри, і кожен із них треба перевіряти окремо.
Чи має кожна репліка VTT і початок, і кінець?
Так, у кожної репліки VTT є і початок, і кінець; початок записано як 00:00:01.250, кінець — окремим таким самим записом. Тому під час конвертації в інший формат тривалість не доведеться виводити з сусідніх реплік.
У які формати VTT можна конвертувати без втрат?
Жоден: VTT не містить чогось такого, що інший формат зберіг би без доповнень. Кожен перехід додає або генерує час, або втрачає частину моделі, і кожна сторінка перетворення називає свою втрату окремо.
Що VTT зберігає поза репліками?
Блоки NOTE, STYLE, REGION і налаштування після часу — усе це поза реплікою. Ці дані не є субтитрами в строгому сенсі, але без них файл втрачає частину змісту: саме тому під час конвертації вони потрапляють у список втрат, а не зникають мовчки.