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

Сдвинуть субтитры по таймкоду

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

Параметры

Запишите величину сдвига как время: 00:00:02,500 — на две с половиной секунды позже, -00:00:02,500 — на две с половиной секунды раньше. Считывать с эталонного видео проще, чем считать миллисекунды. Оставьте пустым на страницах, где вместо этого просят миллисекунды.

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

Эта страница сдвигает файл субтитров на таймкод, а не на число миллисекунд: «00:00:02,500» двигает все реплики на две с половиной секунды позже, а «-00:00:01,000» — на секунду раньше. Оба края каждой реплики едут на одну и ту же величину, поэтому длины не меняются; от миллисекундной страницы её отличает только то, как записан сдвиг.

Таймкод читается как значение часов и применяется ко всей шкале: начало, уехавшее раньше нуля, прижимается к 00:00:00, а реплика, конец которой оказался в нуле или раньше, удаляется. Смещение 0 или строка, которую не удалось прочитать, возвращают файл байт в байт.

SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON и CSV читаются по содержимому, а обычный текст и LRC не принимаются, потому что в них нет времени окончания; всё считается в браузере, файлы никуда не отправляются, и очередь берёт целый сезон за один проход.

Примеры

Сдвинуть файл на две с половиной секунды позже

Вход

1
00:00:01,000 --> 00:00:03,000
Hello there.

2
00:00:05,500 --> 00:00:08,000
Second line.

Выход

1
00:00:03,500 --> 00:00:05,500
Hello there.

2
00:00:08,000 --> 00:00:10,500
Second line.

Тот же результат, что смещение 2500 на миллисекундной странице: оба края каждой реплики едут, и ни одна не меняет длину.

Сдвинуть файл раньше с минусом

Вход

1
00:00:01,000 --> 00:00:02,000
The first one starts too early.

2
00:00:05,000 --> 00:00:08,000
This one is fine.

Выход

1
00:00:00,000 --> 00:00:00,500
The first one starts too early.

2
00:00:03,500 --> 00:00:06,500
This one is fine.

Первая реплика началась бы на -500 мс, поэтому её начало прижимается к нулю, а двигается только оно, и реплика остаётся длиной 500 мс вместо 1000.

Таймкод в стиле WebVTT с точкой

Вход

1
00:00:01,000 --> 00:00:02,000
Dot instead of comma.

Выход

1
00:00:03,500 --> 00:00:04,500
Dot instead of comma.

0:00:02.500 читается так же, как 00:00:02,500. Принимаются оба разделителя и час из одной цифры, потому что таймкоды приходят из инструментов, которые расходятся во всём этом.

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

Как записать смещение, чтобы субтитры поехали раньше?

Поставьте минус перед таймкодом: -00:00:02,500 значит на две с половиной секунды раньше. Без знака те же цифры сдвигают файл позже, так что знак — вся разница между двумя направлениями, отдельного переключателя нет.

Почему здесь поле таймкода, а не миллисекунд?

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

Можно ли писать точку вместо запятой перед миллисекундами?

Да, и час можно писать одной цифрой: 00:00:02,500, 00:00:02.500 и 0:00:02.50 дают одни и те же 2500 мс. Дробная часть читается по числу знаков, поэтому .5 и .500 — это одна и та же половина секунды.

Что будет, если ввести строку, которая не читается как таймкод?

Сдвиг игнорируется, и файл возвращается без изменений: ничего не угадывается и никакое число не подставляется. Это тихо, поэтому подсказка у поля перечисляет допустимые формы; голое число вроде 2500 таймкодом не является и относится к странице миллисекунд.

Двигает ли таймкод оба края каждой реплики?

Да, и начало, и конец едут на одну величину, поэтому ни одна реплика не меняет длину и не меняет положение относительно соседних. Если нужно менять время показа, это делают страницы раздельного сдвига начал и концов.

В каком диапазоне может быть смещение по таймкоду?

Смещение ограничено ±3 600 000 мс, то есть одним часом в любую сторону. Всё, что выходит за границу, обрезается до неё до применения, поэтому файл никогда не уезжает на десятки часов из-за лишнего нуля.

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