Перейти до основного вмісту
SubtitleMatrix

Вилучити все форматування

Текст і оформленняВилучення розмітки й тегів
Або вставте текст субтитрів

Параметри

Одне поле, сім виборів, і кожен вибір має власну сторінку. Курсив, жирний, підкреслення й колір вилучають один різновид діапазону й лишають решту оформлення рядка. «Усе» вилучає кожен діапазон, який моделює інструмент — ті чотири плюс караоке-таймінг — і не чіпає нічого іншого в тексті. «HTML» робить те саме й додатково вимітає кутову розмітку, що лишилася в тексті, бо інструмент її не моделює, як-от теги мовця VTT <v Bob> і <c.className>. «ASS» робить те саме для блоків перекриття, очищаючи коди {...}, не розпізнані під час розбору, як-от {\fad(500,500)}. Ця сторінка заповнює поле вибором, який називає її заголовок, і не пропонує інших.

У якій частоті кадрів пораховано таймінги. На сторінках форматів це те, що потрібно MicroDVD, бо він зберігає час як номери кадрів. На сторінках частоти кадрів це частота, за якою файл синхронізували — версія, для якої робили субтитри, — а друге поле сторінки приймає частоту відео, з яким ви будете їх використовувати. 23,976, 24, 25, 29,97, 30, 50, 59,94 і 60 — найпоширеніші. Помилка зміщує весь таймлайн, а на сторінках частоти кадрів — на відношення, а не на фіксовану величину.

Ця сторінка прибирає кожен діапазон оформлення, який несе файл субтитрів — курсив, жирний, підкреслення, колір і караоке-таймінг — і лишає слова, переноси рядків і таймкоди точно як були. Це прогін для випадку, коли оформлення дісталося файлові в спадок, а не було обране, і ви хочете повернути простий текст із таймінгом.

П’ять видів прибирають разом, бо це одне рішення. Караоке-таймінг уключено навмисно: діапазон караоке — не текст, а інструкція таймінгу для кожного символу, і файл, із якого знято наголоси, але лишено караоке-таймінг, зберіг найменш переносну частину свого оформлення. Після цього прогону файл каже, що було сказано і коли, і більше нічого.

Дві речі лишаються недоторканими, і обидві варто знати, бо вони виглядають як оформлення. Місце рядка на екрані — властивість усієї події, а не слів у ній, тому позиційований рядок лишається позиційованим; файл, якому треба очистити розміщення, — інший прогін. А тег мовця WebVTT на кшталт «<v Боб>» — взагалі не оформлення: він каже, хто промовив рядок, тож видалити його означало б видалити вміст. Сторінки, що вимітають ці останні дві речі, кажуть про це у своїх назвах.

Чого у файлі немає, за тим не сумують: простий файл SRT без оформлення повертається байт у байт. Нічого не завантажується й ніщо не покидає вкладку браузера, тож файли, які не можна віддавати на сервер — юридичні, медичні, передрелізні, — можна чистити тут.

Приклади

Чотири види оформлення в одному рядку

Вхід

1
00:00:01,000 --> 00:00:02,000
<b>CHAPTER ONE</b>

2
00:00:03,000 --> 00:00:04,000
<i>A voice off screen.</i> The <u>door</u> is <font color="red">open</font>.

Результат

1
00:00:01,000 --> 00:00:02,000
CHAPTER ONE

2
00:00:03,000 --> 00:00:04,000
A voice off screen. The door is open.

Усі чотири види йдуть, а слова лишаються точно такими, як були написані, включно з великими літерами в першій репліці, бо ця сторінка ніколи не чіпає регістру. Лишається текст і таймкоди, і більше нічого, — саме та форма, якої насправді хочуть більшість специфікацій здачі.

Тег мовця й тег класу поруч із курсивом

Вхід

WEBVTT

00:00:01.000 --> 00:00:02.000
<v Bob><i>Hello</i> there.

00:00:03.000 --> 00:00:04.000
<c.yellow>Careful.</c>

Результат

WEBVTT

00:00:01.000 --> 00:00:02.000
<v Bob>Hello there.

00:00:03.000 --> 00:00:04.000
<c.yellow>Careful.</c>

Курсив іде, а «<v Боб>» і «<c.yellow>» лишаються. Тег мовця каже, хто говорить, а тег класу називає групу, до якої текст належить; жоден не є наголосом, і ця сторінка не видаляє вмісту. Вимітання їх — інший прогін із назвою, що про це й каже.

Караоке-таймінг у файлі ASS

Вхід

[Script Info]
Title: karaoke

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\k50}he{\k50}llo {\b1}there{\b0}

Результат

[Script Info]
Title: karaoke

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,hello there

Два караоке-діапазони й пара жирного йдуть, лишаючи склади звичайним текстом. Караоке-таймінг — оформлення, яке найлегше втратити під час конвертації, бо більшість форматів не має куди його подіти, тож файлові, що прямує до одного з них, краще позбутися його тут, де видно, що сталося.

Часті запитання

Які види оформлення прибирає ця сторінка?

П’ять: курсив, жирний, підкреслення, колір і караоке-таймінг. Це вбудовані діапазони, які файл субтитрів може нести над відрізком тексту, і сторінка читає кожен файл за тим форматом, чим він насправді є, тож той самий прогін працює, чи файл записує їх тегами, чи кодами перекриття, чи span-елементами. Іменовані стилі в таблиці стилів до цього списку не входять і не видаляються — сторінка працює з діапазонами над словами.

Чи змінює видалення всього оформлення слова або таймінг?

Ні. Переписується лише розмітка навколо слів, тому символи повертаються байт у байт, кожна репліка зберігає початок і кінець до мілісекунди, а порядок реплік — файловий. Репліка з переносом рядка й далі має цей перенос, бо місце переносу — частина репліки, а не її оформлення.

Чому позиційований рядок після цього прогону лишається на місці?

Бо місце рядка на екрані — властивість усієї події, а не діапазон над її текстом, а ця сторінка прибирає лише діапазони. Центрований субтитр або вивіска в кадрі зберігає розміщення, і зазвичай це саме те, що треба: розміщення часто виконує справжню роботу, а файл, із якого знято наголоси, не обов’язково має бути перекомпонований. Прогін, що очищає й розміщення, — «Прибрати коди ASS».

Чому тег мовця лишився в моєму файлі WebVTT?

Бо тег мовця — це вміст, а не оформлення. «<v Боб>» каже, що говорить саме Боб, і читач, що його втрачає, втрачає частину сказаного файлом, — та сама причина, чому тег класу лишається, адже ім’я, яке він несе, розв’язує таблиця стилів, а не файл. Ця сторінка прибирає наголос, а не інформацію. Якщо ви справді хочете вимести ці теги, це «Прибрати HTML-теги з субтитрів».

Чи чіпає ця сторінка іменовані стилі в таблиці стилів файлу ASS?

Ні. Файл ASS тримає таблицю іменованих стилів, і кожна репліка вказує на один із них, а ця таблиця — інша річ, ніж вбудовані діапазони, які сторінка прибирає. Репліка, чий стиль жирний, і далі виглядає жирною, бо жирність належить стилеві, а не текстові. Чищення таблиці стилів — окрема робота, і ця сторінка її не робить.

Що робити, якщо у файлі взагалі немає оформлення?

Запустіть усе одно — це нічого не коштує, а файл повертається байт у байт, що закриває питання, а не лишає його відкритим. Прості файли SRT — звичайний випадок, і прогін, що повідомляє про відсутність оформлення для видалення, — чесна відповідь на файл, у якому його не було, а не ознака збою. Завантаження все одно створюється.

Споріднені інструменти