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

Разделить субтитры на несколько файлов

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

Параметры

Длительность — 600000, 10m и 00:10:00,000 означают десять минут. Файл режется с этим интервалом от начала, и каждая реплика попадает в ту часть, где начинается. Реплика, пересекающая разрез, целиком остаётся в более ранней части; часть без реплик не записывается вовсе.

В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.

Страница режет один файл субтитров на несколько по часам: вы задаёте длину части, по умолчанию 10 минут, и каждая реплика попадает в тот файл, в котором начинается. Части отсчитываются от нуля, а не от первой реплики, поэтому чёрное начало фильма не сдвигает границы. Субтитр, пересекающий границу, не делится пополам: он целиком остаётся в части, где начался, а границы полуоткрытые, так что одна реплика не попадает в два файла. Первая часть сохраняет имя исходного файла, остальные получают .part-2, .part-3 и так далее; несколько файлов браузер не скачает одним нажатием, поэтому они упаковываются в один zip. Время и текст не меняются — это разбиение файла, а не обрезка; обработка идёт в браузере без отправки на сервер.

Примеры

Четыре реплики на десятисекундные части

Вход

1
00:00:01,000 --> 00:00:03,000
First file, first line.

2
00:00:06,000 --> 00:00:08,000
First file, second line.

3
00:00:12,000 --> 00:00:14,000
Second file, first line.

4
00:00:17,000 --> 00:00:19,000
Second file, second line.

Выход

First file (film.srt):
1
00:00:01,000 --> 00:00:03,000
First file, first line.

2
00:00:06,000 --> 00:00:08,000
First file, second line.


Second file (film.part-2.srt):
3
00:00:12,000 --> 00:00:14,000
Second file, first line.

4
00:00:17,000 --> 00:00:19,000
Second file, second line.

Разрез приходится на десятую секунду, поэтому реплики 1 и 2 попадают в первый файл, а 3 и 4 — во второй. Оба файла сохраняют номера из исходника: часть — это кусок одного файла, а не новый файл со своей нумерацией, и именно сохранённые номера позволяют приложить часть к оригиналу и сразу увидеть, какие реплики в ней лежат.

Субтитр, который начинается до разреза и заканчивается после

Вход

1
00:00:00,500 --> 00:00:02,000
Opens the first file.

2
00:00:09,000 --> 00:00:12,000
Starts before the cut, ends after it.

3
00:00:10,000 --> 00:00:11,000
Starts exactly on the cut.

Выход

First file (film.srt):
1
00:00:00,500 --> 00:00:02,000
Opens the first file.

2
00:00:09,000 --> 00:00:12,000
Starts before the cut, ends after it.


Second file (film.part-2.srt):
3
00:00:10,000 --> 00:00:11,000
Starts exactly on the cut.

Вторая реплика начинается на девятой секунде и уходит за разрез, и она целиком остаётся в первом файле: субтитр принадлежит той части, где начинается. Третья начинается ровно на разрезе и попадает во второй файл, потому что часть включает момент своего открытия и не включает момент закрытия. Вместе эти два правила гарантируют, что каждая реплика оказывается ровно в одном файле.

Файл короче одной части

Вход

1
00:00:01,000 --> 00:00:03,000
First line.

2
00:00:05,000 --> 00:00:07,000
Second line.

Выход

1
00:00:01,000 --> 00:00:03,000
First line.

2
00:00:05,000 --> 00:00:07,000
Second line.

Всё помещается в одну десятиминутную часть, делить нечего, и вы получаете один файл, совпадающий с исходником. Zip с единственным файлом не создаётся: архив из одной записи заставил бы открывать папку ради того, что уже было на руках. Это не то же самое, что ничего не сделать: вы просили разбиение по десять минут, файл в него уложился, и один файл вместо архива — честный ответ.

Частые вопросы

Как понять, в какую часть попал конкретный субтитр при разбиении файла?

По времени его начала. Часть покрывает минуты от своей границы до следующей, и реплика принадлежит той части, во время которой начинается, поэтому субтитр с началом в 12:04 попадает в файл на 10–20 минут. Его номер в этой части — тот же, что был в оригинале, а тайминги не меняются, так что поиск строки в части работает так же, как в исходнике.

Что происходит с субтитром, который пересекает границу при разбиении файла?

Он остаётся целым в том файле, где начинается. Если реплика начинается в 9 минут 58 секунд и заканчивается в 10 минут 1 секунду, первая часть держит весь субтитр с обоими исходными временами. Резать его текст пропорционально времени значило бы угадывать, где оборвать фразу, а страница этого знать не может.

Почему при разбиении второй файл называется part-2, если part-1 нет?

Потому что первая часть сохраняет имя вашего файла. Инструмент не может переименовать документ, с которого начал, поэтому кусок с началом таймлайна записывается как film.srt, а остальные получают .part-2, .part-3 и далее в порядке следования по времени. Если положить их в одну папку и отсортировать по имени, части встанут рядом с исходным именем по порядку.

Что будет при разбиении файла, если в фильме долго нет субтитров вовсе?

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

Меняются ли тайминги и текст при разбиении субтитров на файлы?

Нет. Каждая реплика сохраняет своё начало, конец и все строки текста; меняется только то, в каком файле она лежит. Ничего не отбрасывается и не записывается в потери, потому что потерь нет. Если нужно изменить сам таймлайн — обрезать диапазон, сдвинуть его, поправить частоту кадров, — это отдельные страницы, каждая из которых делает одну вещь.

Как задать длину части и что будет, если частей окажется больше 500?

Поле принимает 600000, 10m или 00:10:00,000 — все три записи означают десять минут, то есть значение по умолчанию. Если расчёт даёт больше 500 частей, страница не отказывается работать, а увеличивает длину части до нужной и записывает это в потери: иначе слишком мелкое разбиение породило бы сотни тысяч файлов и уронило вкладку при скачивании.

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