Убрать всё оформление из субтитров
Или вставьте текст субтитров
Параметры
Одно поле, семь вариантов, и у каждого варианта своя страница. Курсив, жирный, подчёркивание и цвет удаляют один вид диапазона и оставляют остальное оформление строки. «Всё оформление» удаляет все диапазоны, которые моделирует инструмент, — эти четыре плюс караоке, — не трогая остальной текст. «Всё оформление + угловая разметка» делает то же самое и затем вычищает угловые разметки, оставшиеся в тексте, потому что инструмент их не моделирует: теги говорящего VTT вроде <v Bob> и <c.className>. «Всё оформление + блоки {...}» делает то же для блоков переопределения, очищая коды {...}, не распознанные при разборе, например {\fad(500,500)}. Эта страница заполняет поле вариантом, названным в её заголовке, и других не предлагает.
В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.
Страница удаляет все диапазоны оформления, которые несёт файл субтитров: курсив, жирный, подчёркивание, цвет и караоке-тайминг. Слова, переносы строк и таймкоды остаются ровно такими, какими были. Пять видов удаляются вместе, потому что это одно решение: файл, у которого сняли акценты, но оставили караоке-тайминг, сохранил самую непереносимую часть оформления. Позиция строки на экране не трогается — это свойство события целиком, а не диапазон над текстом, и для неё есть отдельная страница. Разметка вида «<v Bob>» или «<c.yellow>» тоже остаётся: это содержание и имя группы, а не акцент. Файл без оформления возвращается байт в байт.
Примеры
Четыре вида оформления в одной строке
Вход
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 Bob>» и «<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.
Почему тег «<v Bob>» остался в файле WebVTT?
Потому что тег говорящего — это содержание, а не оформление. «<v Bob>» сообщает, что говорит Боб, и зритель, потерявший тег, теряет часть сказанного. По той же причине остаётся тег класса: имя в нём раскрывается таблицей стилей страницы, а не самим файлом. Эта страница удаляет акценты, а не информацию; разметку убирает страница удаления HTML-тегов.
Затрагивает ли страница именованные стили в ASS?
Нет. В ASS есть таблица именованных стилей, и каждый субтитр ссылается на один из них; эта таблица — не то же самое, что встроенные диапазоны, которые удаляет страница. Субтитр, чей стиль жирный, останется жирным, потому что жирность принадлежит стилю, а не тексту. Очистка таблицы стилей — отдельная задача, и эта страница её не делает.
Что будет, если в файле нет оформления?
Запускайте: это ничего не стоит, файл вернётся байт в байт, и вопрос закроется. Обычные SRT-файлы — самый частый случай, а отчёт о том, что удалять было нечего, — честный ответ, а не признак ошибки. Файл с результатом всё равно будет создан.