Задать минимальную длительность
Или вставьте текст субтитров
Параметры
Длительность — 1000, 1s, 1.5s и 00:00:01,000 подойдут. Это граница между субтитром, который висит достаточно долго, чтобы его прочитали, и тем, который мелькает. Что происходит по другую сторону, зависит от страницы: закрытие промежутков держит короткую реплику на экране дольше, забирая добавленное время из следующего промежутка, чтобы ни одна реплика не накрыла слова следующей (последняя реплика в файле просто удлиняется), а страница проверки перечисляет все реплики короче границы и файл не трогает.
У промежутка между двумя репликами два края: конец более ранней и начало более поздней. Конец двигает конец ранней реплики, поэтому закрытие промежутка удлиняет её, а расширение укорачивает; поздняя реплика сохраняет тайминг с точностью до миллисекунды. Начало двигает начало поздней реплики и оставляет раннюю в покое. Выберите тот, чьему таймингу доверяете больше, — обычно реплику, чей текст произносится последним, потому что реплика не должна появляться раньше, чем звучит её строка.
В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.
Страница не даёт субтитру мелькнуть: вы задаёте минимальную длительность, и каждая реплика короче неё держится на экране дольше. По умолчанию это одна секунда, а значение принимается как 1000, 1s или 00:00:01,000. Дополнительное время берётся из промежутка после реплики, поэтому следующие субтитры не сдвигаются, а сама реплика никогда не заходит на начало следующей: у границы она останавливается и попадает в счётчик невыполненных. При стратегии окончания субтитр задерживается после реплики, при стратегии начала появляется раньше; длина меняется только в выбранную сторону. Текст, стили, позиции и число реплик сохраняются, обработка идёт в браузере без загрузки на сервер.
Примеры
Два субтитра короче секунды
Вход
1
00:00:01,000 --> 00:00:01,300
Quick.
2
00:00:03,000 --> 00:00:03,200
Blink.
3
00:00:05,000 --> 00:00:07,000
A comfortable one.
Выход
1
00:00:01,000 --> 00:00:02,000
Quick.
2
00:00:03,000 --> 00:00:04,000
Blink.
3
00:00:05,000 --> 00:00:07,000
A comfortable one.
Субтитр на 300 мс и субтитр на 200 мс держатся на экране по полной секунде, а третий — уже двухсекундный — не двигается вовсе. Обратите внимание, откуда берётся добавленное время: каждая реплика берёт его из промежутка после себя, поэтому второй субтитр по-прежнему начинается в 3000, и ни одна граница дальше не сдвинулась.
Следующая реплика начинается слишком рано
Вход
1
00:00:01,000 --> 00:00:01,200
Short.
2
00:00:01,500 --> 00:00:03,000
Next.
Выход
1
00:00:01,000 --> 00:00:01,500
Short.
2
00:00:01,500 --> 00:00:03,000
Next.
Чтобы стать секундным, первый субтитр должен был дойти до 2000, но второй начинает говорить в 1500. Поэтому первый останавливается ровно там, где начинается следующий, и получается 500 мс вместо запрошенных 1000. Закрыть слова следующей реплики было бы худшей ошибкой, чем короткий субтитр, поэтому при столкновении требований побеждает окружение.
Двигается начало, а не конец
Вход
1
00:00:01,000 --> 00:00:02,000
First.
2
00:00:05,000 --> 00:00:05,300
Quick.
3
00:00:09,000 --> 00:00:10,000
Last.
Выход
1
00:00:01,000 --> 00:00:02,000
First.
2
00:00:04,300 --> 00:00:05,300
Quick.
3
00:00:09,000 --> 00:00:10,000
Last.
Здесь короткий субтитр не удерживается дольше, а появляется раньше — в 4300 вместо 5000, и его конец остаётся точно там, где его поставил файл. Первая реплика сохраняет каждую миллисекунду, потому что раннее начало останавливается на конце предыдущего субтитра. Оба запуска делают одну и ту же реплику секундной; что правильнее — зависит от того, читать строку до или после того, как она прозвучала.
Частые вопросы
Какая минимальная длительность субтитра задана по умолчанию?
Одна секунда, то есть 1000 мс. Поле принимает и голое число в миллисекундах, и значение с суффиксом 1s, и полный таймкод 00:00:01,000 — все три записи означают одно и то же. Внутри значение всё равно хранится целым числом миллисекунд, потому что это единственная единица времени на сайте.
Заходит ли продление на начало следующего субтитра?
Никогда. Реплика останавливается на времени начала следующего субтитра, даже если из-за этого результат короче введённого минимума, потому что субтитр, заходящий на соседний, показывает две строки сразу и читается хуже короткой реплики. Плотно нарезанный файл поэтому покажет несколько субтитров, не достигших вашего числа, и страница посчитает их вместо того, чтобы продавливать силой.
Какой край субтитра растягивается при минимальной длительности?
Тот, который вы выберете. Окончание задерживает субтитр после того, как фраза закончилась: слова появляются тогда, когда указал файл, и остаются дольше — это безопасное значение по умолчанию. Начало сдвигает весь субтитр назад, вперёд по времени, и он появляется до того, как фраза прозвучала; исходный конец при этом сохраняется.
Можно ли продлить все субтитры до одинаковой длительности?
Только те, что короче вашего числа, и только до него. Субтитры, которые уже равны минимуму или длиннее, остаются ровно такими, какими их дал файл, — длинная реплика не укорачивается под общий уровень. В этом разница между нижней границей и фиксированной длительностью: страница поднимает короткие реплики до уровня и не трогает остальные.
Как записать минимальную длительность в секундах вместо миллисекунд?
В поле можно написать 1s или 2s — суффикс s означает секунды, а голое число читается как миллисекунды, поэтому 1500 и 1s дают разное время, а 1000 и 1s совпадают. Полный таймкод вида 00:00:01,500 тоже принимается. Любая запись внутри приводится к целому числу миллисекунд, так что доля миллисекунды округляется.
Сохраняется ли оформление субтитров при продлении до минимума?
Полностью. Страница меняет два числа у субтитра и ничего больше: текст, покадровые теги, ссылка на стиль, позиция, слой и число реплик проходят без изменений. Это особенно важно для ASS и SSA, где одна реплика может нести имя стиля, переопределение позиции и тайминг караоке одновременно, — всё это сохраняется, а файл без коротких реплик возвращается байт в байт.