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

Сдвинуть субтитры

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

Параметры

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

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

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

У начала шкалы есть два исключения, и оба считаются, а не скрываются: начало, уехавшее раньше нуля, прижимается к 00:00:00, и такая реплика выходит короче, а реплика, конец которой оказался бы в нуле или раньше, удаляется целиком — показать её уже негде, и номера остальных при этом не меняются. Формат определяется по содержимому, а не по расширению: SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON и CSV читаются своим синтаксисом, а обычный текст и LRC не принимаются, потому что в них нет времени окончания и сдвиг вернул бы файл без изменений. Смещение применяется в браузере, файлы никуда не отправляются, а очередь берёт целый сезон за один проход. Нулевое смещение — законное значение: файл возвращается байт в байт.

Примеры

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

Вход

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:01,500 --> 00:00:03,500
Hello there.

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

Оба края каждой реплики едут на одну и ту же величину, поэтому длина не меняется: первая реплика была 2000 мс и осталась 2000 мс. Больше в файле ничего не меняется.

Сдвинуть файл раньше начала

Вход

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

2
00:00:03,000 --> 00:00:04,000
This one is fine.

Выход

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

2
00:00:01,800 --> 00:00:02,800
This one is fine.

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

Реплика, ушедшая за начало файла

Вход

1
00:00:01,000 --> 00:00:02,000
Gone entirely.

2
00:00:03,000 --> 00:00:04,000
Still here.

Выход

2
00:00:00,500 --> 00:00:01,500
Still here.

Первая реплика кончается на -500 мс, поэтому она удаляется, а не прижимается к нулю. Уцелевшая сохраняет номер 2 — сдвиг никогда не перенумеровывает.

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

Что именно меняется при сдвиге субтитров на миллисекунды?

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

Что происходит с репликой, которая после сдвига началась бы раньше нуля?

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

Зачем на странице миллисекундного сдвига поле частоты кадров?

Потому что MicroDVD .sub хранит тайминг номерами кадров, а не часами. Для него действует порядок «поле на странице > объявление в первой строке файла > 25 fps», и использование значения 25 записывается в отчёт как потеря. На остальные девять форматов это поле не влияет.

Можно ли сдвинуть файл LRC или обычный текст?

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

Что делает смещение 0 мс?

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

Совпадает ли предпросмотр с тем файлом, который я скачиваю?

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

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