Перейти к основному содержимому
SubtitleMatrix

Объединить пересекающиеся субтитры

ТаймингОбъединение файлов субтитров
Или вставьте текст субтитров

Параметры

Пробел соединяет два текста в одну строку — это нужно, когда исходный файл разбил предложение на две реплики. Перенос строки ставит их друг под другом, и реплика выходит двухстрочным субтитром на весь промежуток.

В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно 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 с разными стилями у пары остаётся оформление более ранней реплики, а отчёт считает один элемент, который не удалось перенести. На оформленном файле отчёт стоит прочитать до сдачи: объединённый субтитр не будет гореть так, как горели два исходных, и объединение этого не изменит.

Похожие инструменты