Объединить пересекающиеся субтитры
Или вставьте текст субтитров
Параметры
Пробел соединяет два текста в одну строку — это нужно, когда исходный файл разбил предложение на две реплики. Перенос строки ставит их друг под другом, и реплика выходит двухстрочным субтитром на весь промежуток.
В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.
Страница собирает субтитры, которые занимают одно и то же время на экране, в один: группа идёт от самого раннего начала до самого позднего конца, а оба текста остаются внутри. Пересечением считается только строгое наложение, когда следующий субтитр начинается раньше конца предыдущего; реплики, которые лишь касаются границей, не трогаются. Стиль, позиция и приватные поля берутся у первого субтитра группы, поэтому у второй реплики они могут потеряться — это записывается в потери. Остальные субтитры и их номера остаются на месте, а число поглощённых реплик показывается отдельно. Файл обрабатывается в браузере, ничего не отправляется на сервер.
Примеры
Два субтитра делят экран
Вход
1
00:00:01,000 --> 00:00:04,000
First.
2
00:00:03,000 --> 00:00:06,000
Second, starting early.
Выход
1
00:00:01,000 --> 00:00:06,000
First. Second, starting early.
Второй субтитр начинается на секунду раньше, чем заканчивается первый, поэтому пара становится одним субтитром, покрывающим оба. Пересекающаяся секунда больше не создаёт двусмысленности: между 00:00:03 и 00:00:04 на экране только одна реплика, и оба текста на месте в том порядке, в каком были в файле.
Субтитры касаются, но не пересекаются
Вход
1
00:00:01,000 --> 00:00:02,000
First.
2
00:00:02,000 --> 00:00:03,000
Second, exactly touching.
Выход
1
00:00:01,000 --> 00:00:02,000
First.
2
00:00:02,000 --> 00:00:03,000
Second, exactly touching.
Субтитр, заканчивающийся ровно в момент начала следующего, не является пересечением, и страница считает это чистым стыком и ничего не меняет. Это важнее, чем кажется: такая форма чаще всего встречается в аккуратно синхронизированном файле, и инструмент, который её объединял бы, превратил бы серию из 900 реплик в одну.
Три реплики в цепочке
Вход
1
00:00:01,000 --> 00:00:03,000
One.
2
00:00:02,000 --> 00:00:05,000
Two.
3
00:00:04,000 --> 00:00:07,000
Three.
Выход
1
00:00:01,000 --> 00:00:07,000
One. Two. Three.
Каждый субтитр пересекается со следующим, поэтому объединения не независимы: конец второго субтитра — это то, с чем сравнивается третий, и все три становятся одной репликой. Так выглядит файл после неудачной пересинхронизации, и стоит увидеть, что текст переживает схлопывание, хотя отдельные тайминги — нет.
Частые вопросы
Что считается пересечением при объединении субтитров, а что просто стыком?
Субтитр пересекается, когда его начало раньше конца предыдущего, пусть даже на одну миллисекунду. Реплика, которая начинается ровно в миллисекунду окончания предыдущей, — это стык, а не пересечение, и страница её не трогает. Именно эта проверка защищает нормальный файл: почти каждый субтитр в хорошо синхронизированных субтитрах начинается точно там, где закончился прошлый.
Почему в файлах субтитров появляются пересекающиеся реплики?
Обычно по трём причинам. Пересчёт частоты кадров округляет оба края каждой реплики, и соседи залезают друг на друга. Файл, собранный из двух источников — двух языков, двух половин, переведённой дорожки поверх исходной, — держит оба набора субтитров на одном таймлайне. И файл, конвертированный из ASS или другого формата с позициями на экране, писался для плеера, который показывал строки одновременно.
Меняется ли что-то ещё в файле при объединении пересекающихся субтитров?
Нет. Непересекающиеся субтитры остаются нетронутыми до миллисекунды, и их номера тоже не переписываются: выжившая реплика группы сохраняет свой номер, поэтому файл, в котором видны номера 1 и 3, — это файл, где вторая реплика была поглощена. Меняются только сами группы: один интервал вместо двух или более и один общий текст.
Что выбрать: объединить пересекающиеся субтитры или убрать пересечения?
Если реплики должны читаться вместе, объединяйте: оба текста остаются видимыми на всём интервале, и это верно для строки с переводом или подписи с описываемой речью. Если они должны идти друг за другом, уберите пересечение: тогда поздняя реплика сдвигается вперёд, что стоит экранного времени и может обрезать фразу на середине.
Как объединяются три и более пересекающихся субтитра?
Они становятся одним субтитром от самого раннего начала до самого позднего конца, причём сравнение идёт по мере роста группы: каждый новый субтитр проверяется против конца уже собранной группы. Цепочка из пяти пересекающихся реплик даёт один субтитр с текстом на пять строк, а отчёт сообщает о четырёх поглощённых — это число стоит проверить, если результат выглядит короче ожидаемого.
Чей стиль сохраняется при объединении двух субтитров с разными стилями?
Стиль первого. Один субтитр может нести только один стиль, поэтому в файле ASS или SSA с разными стилями у пары остаётся оформление более ранней реплики, а отчёт считает один элемент, который не удалось перенести. На оформленном файле отчёт стоит прочитать до сдачи: объединённый субтитр не будет гореть так, как горели два исходных, и объединение этого не изменит.